All streams
Search
Write a publication
Pull to refresh
66
1.1
Вадим Румянцев @vadimr

Разработчик аппаратно-программных комплексов

Send message

and и or – это специальные формы, а не функции! Это принципиально, и на этом в Лиспе много построено. Второй аргумент не вычисляется, если первого достаточно.

Попробуйте у себя и в clisp:

(and nil (princ "Hello"))
(or t (princ "Hello"))

Специальные формы реализуются макросами.

Это мы не знаем. Гравитационное поле Земли не идеально сферично, и на таких высоких точностях векторы (уклонения отвесной линии от направления на центр Земли) могут себя вести как угодно из-за разной плотности вещества берегов каньона.

если это касается z/OS, DB2, CICS, etc... Софт очень даже причем

А какие рациональные основания существуют для того, чтобы брать разные деньги за один и тот же софт в зависимости от конфигурации компьютера?

Вы к этому привыкли, но это извращение.

А Lenovo уже давно не ИБМ

Так это ещё с IBM было заведено.

Это с мелочей начинается у IBM. Допустим, x86 сервер IBM/Lenovo имеет 4 встроенных сетевых порта, но исходно активировано 2. Доплатишь - пришлют код активации на 2 других. Софт тут не причём.

За стоимость годовой SLES-подписки на указанную выше z14 можно будет взять еще пяток таких "писюков" и собрать в кластер.

... замечательный самопадающий кластер SLES HA, надёжность которого по факту намного меньше надёжности каждого из узлов.

А как бы Вы ответили на вопрос, в чём крутость MVS именно по сравнению с VM? Для меня акцент IBM на OS/MVS никогда не выглядел технически обоснованным. Но я не имею опыта работы с MVS.

Я конечно, понял, что интуитивно и наивно Вы пытались сделать: определить и просчитать пространство состояний дискретного автомата

Совсем не так. Пространство состояний дискретного автомата очевидно, чего его считать? Это типовая задачка для 2 курса.

Я пытался объяснить, какая вычислительная и семантическая модель является адекватной для реального компьютера и реальной программы.

Кстати, пользуясь случаем. Никогда не интересовался и не вдавался в вопрос что значит не менее загадочная, и даже из-за частоты упортреблений, не побоюсь этого слова, сакральная фраза "язык программирования полный по Тьюрингу"? Что на данном ЯП-е можно реализовать МТ? либо она имеет иной смысл?

В просторечии тут имеется в виду, что язык равномощен мТ в вычислительном смысле, то есть что всякий алгоритм вычислим при помощи мТ тогда и только тогда, когда он вычислим при помощи некоторой программы на данном языке. А ещё проще говоря – что на этом языке можно запрограммировать любой алгоритм, программируемый при помощи других языков и, в частности, машины Тьюринга. В частности, в силу самоприменимости машины Тьюринга, это означает и то, что на языке можно реализовать мТ.

Если же говорить строго, то надо к этому добавлять: “... если пренебречь объёмом памяти”.

Любая конкретная процессорная архитектура, если говорить совсем строго, не имеет полноты по Тьюрингу из-за ограниченности адресуемой памяти. Абстрактный язык программирования может иметь, а может не иметь. Реализация языка программирования никогда не имеет, так как опирается на процессорную архитектуру.

Разница между аппликацией и вызовом функции у меня разобрана здесь.

Императивные языки программирования имеющие if и gotoреализуют Универсальную Машину Тьюринга

Это большое упрощение. В вузе так действительно учат для простоты, но это не совсем правда, что и разбирается в данной статье.

Не обижайтесь, но Вы сейчас изложили по учебнику очевидные вещи, которые проходят на 2 курсе (я предполагал знание этой базы пререквизитом для чтения данной статьи, и просто напомнил несколько формальных определений). И притом ухитрились сделать неверный вывод, так как именно бесконечность ленты в машине Тьюринга принципиальна. Настолько принципиальна, что конечный автомат даже специально называется конечным.

Кроме того, замечу, что вычислимость по Тьюрингу для разных машин (без оракула) эквивалентна между собой. В этом и сила.

Что касается лямбда-исчисления, то это та же мТ, вид сбоку. Кто и на каких основаниях должен делать редукции? Это просто формализм для процесса вычислений, как он представляется одурманенному гормонами мозгу человека.

Покажите мне лямбда-редуктор или мТ в природе. Таких нет, это конструкция ума. А регулярная порождающая грамматика - это любая химическая реакция, например.

Методически же не очень верно пытаться опровергнуть материал с уровнем "сложный" цитатами из Википедии.

Ну в любом случае мейнфреймы от рождения не специализированы для численных расчётов, и потому имеют другое назначение, чем суперкомпьютеры.

С точки зрения семантики, т.е. понятности для человека, декомпозиция действительно удобна.

Мы же пишем программы для процессора вместе с памятью, а не отдельно от неё. Переменные программы хранятся в памяти. Одна и та же команда процессора, скажем, LDA 10 даст разный результат в зависимости от содержимого памяти по адресу 10. Это даст нам недетерминированный конечный автомат, который ничего не даёт в смысле разговоров об алгоритмах и вычислимости.

Если мы будем рассматривать состояния только самой микросхемы 6502, то для детерминированности тогда и программы надо писать без использования обращений к памяти, а на четырёх регистрах общего назначения (включая SP, который в таком случае будет просто теневой копией X) много не насчитаешь.

В машине Тьюринга память представляется бесконечной лентой.

Идея заключается как раз в том, что, если отделить процессор от памяти, то он представляется каким-то одушевлённым существом, имеющим собственное поведение и реагирующим на события окружающего мира. В то время как вместе с окружением в виде памяти это просто банальный итератор по линейной последовательности состояний.

*** Спасибо, кстати, я увидел, что в статье ошибочно регистр PC обозвал SP :) Исправил.

Я не знаю, как они решают этот вопрос. Мейнфреймы – это большие деньги, которые любят тишину. Но современный мейнфрейм IBM технически невозможно эксплуатировать без возобновляемой лицензии на процессорное время, разве не так?

Некоторые из этих организаций в России использовали IBM z до недавнего времени, но санкции США в 2022 усложнили взаимодействие с IBM, а для мейнфрейма это очень важно по причине лицензионной политики.

  1. ECC снижает вероятность ошибки, но не обнуляет её.

  2. Ошибка может произойти в процессоре. Помнится, я читал, что в среднем раз в год микропроцессор процессор даёт единичный сбой из-за действия космического излучения. Процессоры мейнфреймов имеют параллельно работающие функциональные блоки для устранения таких ошибок, x86 нет.

  3. Ошибка может произойти во вводе-выводе, даже с учётом контрольных сумм. Я думаю, каждый имеет опыт чтения мусора с диска. Даже с raid это принципиально возможно в ряде сценариев.

С синхронизацией ВМ ещё проблема в том, что не обязательно ведь в результате ошибки ВМ упадёт. Там может просто измениться какой-нибудь битик в памяти, и фиг это заметит гипервизор.

Человек, поставивший мне минус в карму за "распространение рекламы" после публикации этой статьи, объясни, пожалуйста, своё действие! Это воспринимается как реклама инициальных детерминированных конечных автоматов?

Единицы в карме не жалко, но хотелось бы понять логику.

Вопрос не в hot swap, а в продолжении работы программы.

Information

Rating
1,532-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Project Manager, Software Architect
Lead