Pull to refresh

Comments 61

Могу напомнить что в фильме еще хорошо видны графические видеотерминалы, кадр где Алена поет и танцует вместе с подружками («зимний сад»).
Да, 22-ая минута первой серии. Но там они выключены.
Мне кажется что они были другой модели нежели что выше показаны.
В качестве шутки сойдет, а если подумать серьезно — то у вас тут сплошные натяжки.

Начнем с простого — на терминалах S/370 не было такой вещи, как клавиша Ctrl.

На фото — судя по всему ЕС-7927 одной из модификаций (со световым пером, что было достаточно редким явлением), и у них обычные буквенные клавиши, такие как Z, никаких специальных функций выполнять не умели по определению, и использовались исключительно для набора текста.

А клавиш, которые вызывали прерывание и передачу информации в процессор, было ограниченное число, назывались они PDn и PFn, и клавиша Enter.

Другие варианты терминалов конечно существовали, но я лично про такие, где были бы комбинации клавиш с Ctrl, никогда не слышал, при том что проработал на mainframe ЕС и родных S/370 более 10 лет.

FRESS, кстати — это разработка университета, в штатный комплект софта не входила, и в наших краях тоже не встречалась.

И да, текст из википедии про OS от IBM — в значительной степени сказка. Скажем, СВМ ЕС была точной копией системы VM/SP, и отличалась от нее как правило только обработчиками ошибок оборудования — поскольку отличалось само оборудование. И иногда — исправлениями ошибок, сделанными где-нибудь в НИИ ЭВМ, или даже нами — потому что исходный код присутствовал.
В статье лишь размышления о том, какой софт существовал в то время, с какими функциями. FRESS с Undo был, Ctrl+Z в Bravo был, так что авторы фильма (которые, я напомню, в книге сделали главным героем программиста) вполне могли о них знать. Борис Стругацкий, например, некоторое время работал на должности «инженер-эксплуатационник по счётно-аналитическим машинам», так что почему бы и нет.
Я не против того, чтобы пофантазировать, но все-таки основная претензия в том, что большинство терминалов IBM имели внутренний буфер экрана, и позволяли редактировать его содержимое в offline (в том числе — удаление и вставка), а передавали данные только по нажатию одной из фукнциональных клавиш.

Поэтому сочетание Z плюс что-то — это чистая фантазия. Не было у буквенных клавиш никаких функций, и не могло быть. И самих модификаторов Ctrl/Alt не было, чисто физически.
Вот плюс сто, сейчас мало кто понимает, что в S/360 интерактивность сводилась к коммиту обновлений по каналу в процессор по нажатию кнопки ENTER и получению от проца обновлений. То есть вообще говоря можно было любую строчку на экране отредактировать как угодно, и программа об этом не знала, пока юзер не нажмет ввод. Там же даже скроллинга в традиционном понимании не было.

Нашел тут в загашнике наш самописный драйвер консоли (sic!) под MS-DOS эмулирующий поведение ЕС ЭВМ — всякое MORE.., клавиши курсора, не передающиеся приложению, редактирование строк по всему экрану и прочее.

PS: Сисоп ЕС1046 и IBM4381 circa '93-94
что большинство терминалов IBM имели внутренний буфер экрана, и позволяли редактировать его содержимое в offline (в том числе — удаление и вставка), а передавали данные только по нажатию одной из фукнциональных клавиш.

И что, у них не было дуплекс/полу-дуплекс режима с передачей символа в машину сразу?
Проблема не в том, что было, а чего не было.

В те времена мощность процессора стоила чуть другие деньги, чем сейчас. Соответственно была чуть другая идеология построения системы — умные устройства и минимум дополнительной работы процессора на обслуживание того, что можно не обслуживать. В результате, на машинке с 800К операций в секунду и 1 мегабайтом памяти вполне комфортно могли работать (набирать текст, писать программы) 20-30 человек.

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

Если бы процессор там реагировал на каждое нажатие кнопки, то он (при таком быстродействии) только этим и занимался бы.

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

Читал, что в комплексе БЭСМ-6 (другого класса машина, но не суть) использовались АЦПУ, генерирующие прерывания при печати в соответствии с вращением алфавитного барабана, в котором, по идее, должно быть 64-128 позиций, т.е. 64-128 прерываний за один поворот барабана, который вращается много быстрее, чем 1 об в минуту. Хороший пример «неумного» устройства.

Так что посимвольной передачи в тех терминалах не было в принципе. По нажатию на кнопку процессор получает сигнал, что надо считать данные с терминала и запрашивает чтение. Причем, читать может даже не весь экран, а, например, только модифицированные поля, если это форма ввода данных. При этом все чтение/запись идет через DMA, так что и на это процессор не отвлекался.

И тем не менее, в DECовских машинах такое чтение было возможным, несмотря на наличие DMA. Это вопрос гибкости. Но припоминаю рассказы старших товарищах о проблемах с реализацией игр как раз из-за терминальной стойки на ЕС.
В результате, на машинке с 800К операций в секунду и 1 мегабайтом памяти вполне комфортно могли работать (набирать текст, писать программы) 20-30 человек.

На СМ-1420, пусть н с 1, но с 2-4 мегабайтами памяти и соответствующим мультиплексором, тоже могли работать 20-30 человек.
Да. БЭСМ-6 — это машина совсем другого класса. Она проектировалась как числодробилка. Поэтому там оптимизации работы с аппаратурой нет вообще. Делали как проще. В результате ЦП управлял там каждым молоточком АЦПУ, а работа с терминалами заключалась в том, что ЦП по прерываниям таймера опрашивал 48-разрядный регистр, биты которого отражали состояние последовательной линии связи подключенных терминалов и ПОБИТНО принимал/отправлял данные.

Это все совсем разные по назначению и по архитектуре машины.

БЭСМ-6 предназначалась для тяжелых громоздких расчетов (миллион операций с плавающей точкой по тем временам это было очень серьезно). Если она не считает, значит работы нет и нет смысла жалеть ресурс процессора — можно написать на пульте лампочками «ЖДУ ЗАДАЧ» и тратить на это все процессорное время. А в промежутках пусть хоть молоточками АЦПУ управляет, хоть побитно терминалы читает. Там были ОС с разделением времени, но не так, чтобы очень уж развитые. То есть нормальный режим — задача считается, потом что-то печатает, потом запускается другая задача.

PDP-11, она же СМ-4, СМ-1420 — это мини-компьютер по тем временам. Там тоже не было задачи обеспечить экономию ресурса ЦП. Это компьютер для небольшой группы людей для не особо громоздких инженерных расчетов, для управления каким-то оборудованием ну и появились они уже когда начинали появляться сети, почта и прочие развлекухи.

IBM/370 — это полноценный мейнфрейм. Машина, рассчитанная на одновременную работу с огромным количеством периферии. С десятками (если не сотнями) дисковых и ленточных накопителей, с десятками печатающих устройств и может быть с сотнями, если не тысячами терминалов. Очень сильно заточен на параллельную работу всего оборудования. Это, скорее, бизнес приложения — банк с огромной базой и тысячами рабочих мест, система продажи билетов, биллинг телефонной компании и подобные применения. Поэтому там довольно специфическая архитектура ввода/вывода — каналы, канальные программы, умные устройства и стремление как можно меньше отвлекать ЦП от его основной работы.

Не претендую на объективность оценки. Это мое персональное представление.
(миллион операций с плавающей точкой по тем временам это было очень серьезно).… То есть нормальный режим — задача считается, потом что-то печатает, потом запускается другая задача.


Еще бы — вторая после Крея по производительности на то время. Да, пакетный режим — он такой. Но многотерминальные системы с соответствующей ОС там ведь тоже были…

PDP-11, она же СМ-4, СМ-1420 — это мини-компьютер по тем временам. Там тоже не было задачи обеспечить экономию ресурса ЦП

Не согласен. Если бы это было так, то у этой серии бы не было юнибаса с прямой перегонкой (не только DMA) между устройствами. Да и скромная производительность ЦП не позволяет говорить о том, что этот ресурс не надо экономить.
Все там было. Программисты ведь напишут что угодно :-)

Тут дело в том, насколько органично это все вписывается в систему. Вот характерный пример.

К БЭСМ-6 как-то раз подключили плоттер. Штука, в общем, простая. Получает команды и двигает перо. Приятель решил какие-то результаты отобразить в виде графика и почитав описание сумел отобразить. Ему понравилось. Но засада в том, что библиотека для работы с плоттером почему-то лежала на ленте. Это было не удобно. Лента — устройство не быстрое. Поэтому приятель скопировал бюиблиотеку на свой диск и этим значительно ускорил работу, точнее компиляцию, своей программы. Все было хорошо до одного прекрасного дня, когда плоттер выдал какой-то полный бред. Причем, не только ему, но и еще одному коллеге. Тогда стали расследовать, в чем проблема и оказалось, что виноват тот мой приятель.

Что делать, если несколько программ, работающих одновременно, захотят воспользоваться плоттером? В нормальных многозадачных ОС для этого есть понятие разделяемого ресурса и какая-то система для управления таким разделением. А на БЭСМ такого не было. Но там была приделанная каким-то образом система разделения доступа к магнитным лентам. Поэтому умные программисты решили, что если библиотеку для работы с плоттером положить на ленту, а не на диск, то получится что надо! Задача работает, а ресурс (плоттер) занят, поскольку занята лента, содержащая библиотеку для работы с ним. Ну а когда приятель переписал библиотеку на свой диск, связка эта разрушилась и плоттер стал получать команды от двух разных задач одновременно и нарисовал полный бред. С тех пор приятель так же хранил библиотеку на диске, но в задаче ставил захват той ненужной ему уже ленты, на которой была библиотека.

К чему это я? А к тому, что все можно сделать. И терминальный доступ к машине, изначально на это не рассчитанной, и многозадачность и все такое, но эффективность и красота решений будет разная.

PDP-11 создавалась как мини-компьютер, который обслуживает небольшую группу пользователей и которые не буду переживать, если ЦП потратит ничтожный процент своего времени на обработку нажатий на клавиши. Юнибас — это не показатель. Для задач управления технологическим оборудованием вполне может это все потребоваться.

IBM/360/370 предназначалась для обслуживания тысяч одновременно работающих пользователей. Тут это просто невозможно — тратить время ЦП на обработку нажатий отдельных клавиш. Поэтому была принята другая концепция — умный терминал, который позволяет автономно провести все редактирование и дергает ЦП только тогда, когда все уже готово и надо обработать полностью отредактированную форму.
Юнибас — это не показатель. Для задач управления технологическим оборудованием вполне может это все потребоваться.

Технология, которая позволяет экономить время процессора (я имею в виду не сам ЮБ а опцию прямой перегонки между ее узлами) — не показатель того, что экономится время процессра? Ок.
Технология, позволяющая экономить время ЦП при перегонке данных данных между узлами шины — не показатель того, что экономится время при вводе данных с клавиатуры.
Это без вопросов, символьные устройства — отдельная статья. Но определенная гибкость в плане работы с терминалом в пидипишке есть, пусть это и вызвано другими причинами.
Другие варианты терминалов конечно существовали, но я лично про такие, где были бы комбинации клавиш с Ctrl, никогда не слышал, при том что проработал на mainframe ЕС и родных S/370 более 10 лет.

На машинах СМ была клавиша АР и комбинации аналогичные Ctrl+что-то, емнип. И генерирует оно, разумеется, обычные коды, может быть, esc последовательности. На железе ЕС не было такого?
СМ (я могу уверенно говорить про СМ-4 и СМ-1420) — это аналог PDP-11, разработчик которых фирма DEC. Никакого отношения к ЕС, которые были аналогом IBM S/360 и S/370 не имели. Т.е. вообще никакого. И общего между ними чрезвычайно мало, не считая конечно того, что и те и другие — ЭВМ.
Никакого отношения к ЕС, которые были аналогом IBM S/360 и S/370 не имели. Т.е. вообще никакого.

Разве я где-то утверждал обратное?
Нет. Просто вы какие-то выводы пытались делать, из того что там было.

В данном случае это бессмысленно совершенно — для СМ (PDP) были типичны ascii терминалы, DEC VT 52 и им подобные, где нажатие каждой клавиши передавалось процессору и вызывало прерывание. И там в принципе можно было комбинировать нажатия — для этого достаточно чтобы клавиатура передавала нажатие и отпускание отдельно, тогда и ctrl не нужно.

У типового IBM терминала только функциональные клавиши и Enter вызывали прерывания — поэтому например игрушка Tetris для EC-7927 использовала четыре клавиши PF для поворота, перемещения и бросания фигур. И способа комбинировать нажатия не было как такового.
Я спросил «нет ли там такого?», а «какого» — пояснил примером другой машины.

У типового IBM терминала только функциональные клавиши и Enter вызывали прерывания — поэтому например игрушка Tetris для EC-7927 использовала четыре клавиши PF для поворота, перемещения и бросания фигур. И способа комбинировать нажатия не было как такового.

Ясно.
Очень неплохо, но практически не вероятно. Во первых вряд ли сценаристы знали об этом. Во вторых, символ Z похож на стандартный заполнитель на бумажных документах, когда так закрывать пустое место на листе, чтобы позднее туда нельзя было ничего вписать.

Т.е. «Z» имеет смысл: Всё, что подо мной — не действительно. Таким образом, Иван просто зачёркивает то, что «написал».

Но для новогоднего поста теория годится. :)
Кстати, логично предположить, что именно по этому разработчики из Xerox PARC повесили Undo именно на Ctrl-Z (а не на Ctrl-U, к примеру)
Вы на клавиатуру смотрели когда-нибудь? Где Ctrl-Z, а где Ctrl-U? Набор Ctrl-Z, Ctrl-X, Ctrl-C, Ctrl-V просто разместили в левом нижнем углу и всё…
Я конечно-же в курсе что Ctrl-Z расположен очень удобно. Но для меня смысл наиболее удобного расположения именно этой функции не ясен, хотя может это я такой особенный и Undo редко пользуюсь (обычно только после голобальной замены по regex'у, если «фокус» по той, или иной причине не удался).
Но для меня смысл наиболее удобного расположения именно этой функции не ясен, хотя может это я такой особенный и Undo редко пользуюсь
Я такой же. И тоже охреневаю от этого. Может раз в неделю Undo и использую. Но это факт: Undo считается чуть ли не самой важной функций. Какой-нибудь WordPerfect for DOS (родившийся до появления всех и всяческих стандартов на клавиатурные комбинации), к примеру, эта функция на F1 висит.

Как я понимаю смысл таков: в 70-80е годы люди панически боялись «сделать что-то не то» при работе с компьютерами и было важно дать им простой способ откатить набедокуренное.

Отсюда же и все эти «корзины» и прочее. Меня тот факт, что компьютер не делает то, что я просил, выбешивает жутко (я же удалил файл, почему места не прибавилось?). А когда моя сестра пыталась на моём ноуте что-то сделать, то первое что я услышал «ой, а я тут файлик какой-то удалила, как я его назад вернуть?». Пришлось из бекапа доставать…
И да, то, что

Набор Ctrl-Z, Ctrl-X, Ctrl-C, Ctrl-V просто разместили в левом нижнем углу и всё…


Предложенный мной вариант никак не отменяет, они прекрасно уживаются (как не отменяет удобно расположение Ctrl-C того, что это мнемоника от Copy)
А что означает V в сочетании Ctrl+V, и каким боком оно связано с функцией Paste?
Ну если не делать допущений о знании кем-то из разработчиков русского, либо близкого к нему славянского языка — похоже ничего. Хотя, возможно, это такая «ascii-пиктограмма», стрелочка вниз, тогда такой выбор начинает выглядеть вполне осмысленно.
V — как стрелочка вниз, достаточно красиво и логично выглядит, если об этом подумать с такой стороны.
Я извиняюсь за оффтопик. Но «Чародеи» это не мюзикл, а музыкальный фильм. В мюзикле песни продвигают сюжет являясь, по сути частью монологов или вообще полностью их заменяя.
Первая же песня «Пусть мы не рядом» используется как сюжетный ход для продления телефонного звонка. «Песня о снежинке» используется как повод для поцелуя. «Три белых коня» заменяют диалог, которого следовало избежать. Все эти песни «двигают» сюжет.
Судя по рамочке внизу, это логин-скрин для чего-то типа VM/SP, а сверху motd, их тогда рисовали все, кому не лень, ascii-арт, все дела.

Для молодежи, справа на мониторе не паяльник, а т.н. световое перо — трубка из нержавеющей стали с коаксиальным кабелем сзади и прозрачным фотодиодом в кнопке спереди, т.е. надо было ткнуть в экран (с силой, чтобы кнопка нажалась) и потом по принятому фотодиодом лучу развертки определялось знакоместо, в которое ты ткнул.

Был даже довольно развитый API, или, точнее, язык конструирования экранных форм с поддержкой взаимодействия световым пером, самая лютая программа была, помнится, морской бой на световом пере со взимодействием между игроками по каналу терминала, т.е. почти без участия центрального процессора.
Кстати IBM PC тоже световое перо поддерживала. И даже всякие Commodre 64. А вот IBM PS/2 (и адаптер VGA) — уже нет. Неудобно. Причём во времена Джобса — Apple про это знала! А выпуская iPad Pro — забыла. И Гугл забыл, когда Pixel C разрабатывал. Ну вот как так можно?
Зачем световое перо если можно тыкнуть пальцем? )
Там, если приглядеться, на экране снаружи антистатическая сетка, такой советский аналог защитного экрана. В нее если пальцем потыкать, забивается жир и становится такое грязное пятно. Следующий тоже тычет пальцем, пытаясь протереть, и так дальше — в итоге получается жирное пятно в четверть экрана, сквозь которое ничего не видно :)
Да не, я про ipad говорил. Не про наш экран с пером.

Небыло там сеточек. Сеточки появились с писюками.

да ну конечно. были там сеточки всю дорогу. другое дело что их срезали к чертовой матери, потому что они быстренько приходили в тот вид что описан выше.

черезних совершенно дивно было бензин в бак заливать — они воду в бензине не пропускали.
Еще как были. Хотя не на всех моделях. Сеточка — признак специального «военного» исполнения, защищенного от излучения. Вовне, разумеется — чтобы нельзя было считывать информацию.

Ну, я, значит, на гражданских работал. У нас небыло. ЕС-1055. И 33-я в другом институте, тоже гражданская, зато с перрррфоводом.
А как пером-то тыкали, прямо в сеточку?
Кстати, с ве4рсией ctrl-z ещё одна неувязочка. Клавиатуры были в фонетической раскладке и z была в верхнем ряду справа.

Просто 1055 это немецкая машина. И терминалы к ней как правило были тоже немецкие, от Роботрона. Вообще сетка вещь редкая, я ее только у военных и встречал.

Что до перьев, то я вообще не припомню, чтобы когда-то видел такое сочетание — сетка и наличие светового пера.
Прямо в экран и тыкали, эта сетка была натянута, как на глобус, прямо на поверхность кинескопа, перу не мешала совершенно.
Проблема в том, что технологии, позволяющие «тыкать пальцем» тогда были неразвиты, потому и появилось световое перо.

Но в данном случае неважно чем «тыкать» — важно, что для этого нужно руку на весу держать. Что сложно и, если делать это часами, больно. Если вы живописец или там токарь — у вас выбора нет, но вам как-бы платят отчасти за то, что вы это делаете с утра до вечера. А если вы работаете в офисе, то непонятно — зачем себя так насиловать.

Мышки и трекпады не зря появились, однако — хотя их использование, по крайней мере поначалу, куда как менее интуитивно чем «тыканье» пальцем или световым пером.
В то время ни мышек, ни трекпадов не было! ))
Был манипулятор типа «трекбол», однако его использование было сильно ограничено несколькими узкими сферами.
А световое перо — весьма удобный способ указания на объект. Не надо забывать, что очень много работы на терминале происходило «offline» — т.е. без связи с основной «машиной». Например, редактировать страницу текста было удобно с пером — ткнул в знакоместо, и курсор уже там (без перегона его сначала на нужную строку, а потом на нужное место в строке).
Например, чтобы уменьшить «touch screen latency» и улучшить точность
How Touchscreen Works

Как я понимаю — сейчас это обычно достигается с помощью электромагнитных дигитайзеров (как у Wacom)
Not All Tablet Styluses Are Equal: Capacitive, Wacom, and Bluetooth Explained
Графический планшет
Перо в том варианте, что было тогда, намного проще сделать. Это в простейшем случае примитивный датчик освещенности, который ловит развертку. Поскольку все терминалы были ЭЛТ, символы рисовались построчно сверху вниз. Так что момент срабатывания датчика пера позволял вычислить позицию пера.

А для пальца все-таки нужен сенсор по всему экрану.
это логин-скрин для чего-то типа VM/SP, а сверху motd, их тогда рисовали все, кому не лень, ascii-арт, все дела.

Точно. Каждая организация рисовала свое лого, кто на что горазд. Где-то у меня валяются распечатки этого экрана.
Плохо искали
http://www.rusf.ru/abs/int0161.htm

«Здравствуйте, уважаемый Борис Натанович!
Я хочу задать вопрос по сценарию фильма «Чародеи». Знаю и уважаю Ваше к нему отношение, но всё же очень хочу спросить – вряд ли кто-то кроме Вас сможет ответить, а вопрос меня мучает уж много лет. Почему для отмены действия волшебной палочки Ковров советует Пухову нарисовать в воздухе букву Z – «как в фильме Зорро»? В настоящее время в мире компьютерных технологий комбинация клавиш Ctrl+Z отменяет последнее действие, – но тогда, в начале 80-х, что подразумевалось? Не прольёте свет? Заранее спасибо.»

Владимир <9173519@gmail.com>
Киев, Украина — 02/08/12 22:08:14 MSK

«Как говаривал старый ребе из анекдота: «Во-первых, это красиво...». В то наше время, когда фильм «Знак Зорро» прочно владел душами, ничего более прекрасного, мощного, почти мистического, нежели беспощадное и таинственное Z (а самый первый вариант фильма назывался «Таинственный знак»!), вырезанное шпагой в воздухе, и представить было невозможно. Только Z! Без вариантов! И без никаких компьютерных комбинаций. Z – это было понятно всем и каждому без всяких объяснений. А если и не каждому, то уж авторам сценария – наверняка.»
Блин! Это же мой вопрос, тот самый, о котором я упоминал в статье! Но я почему-то тогда не нашел ответа Бориса Стругацкого на него. Как-то невнимательно искал, видимо. А он ответил!

Это такое необычное чувство — получить ответ, на который уже и не рассчитывал, через много лет после заданного вопроса. И ведь он написал его всего за пару месяцев до своей смерти.

Спасибо огромное за найденный ответ! Добавлю информацию в статью.
4 года однако прошло, а я смутно помнил, что ответ на этот вопрос уже читал в оффлайн-интервью Бориса Стругацкого. Дело было за малым — нагуглить по ключевому слову внутри известного мне сайта.

Ой, ну что же вы ) В фильме же сказано — «Z — значит Зорро». По времени тоже очень даже актуально. Хотя, по секрету, мне далеко не первый год в голову приходит та же самая ассоциация. И вообще, «Чародеи» — очень вольная интерпритация «Понедельника». Хоть и создана при участии авторов.
Пожалуй вложу свои 2 копейки. Не знаю как сейчас, но в советские времена я встречался с зачеркиванием строк в документе (как вариант пустых), в котором верхняя палочка буквы была на первой строке зачеркиваемого, диагональ шла через все строки сверху вниз слева направо, и нижняя палочка соответствовала нижней зачеркиваемой строке.
Кажется это было принято в редактировании текстов в журналах. У меня так в сочинении учительница зачеркивала параграфы с замечанием полный бред
Хм… в те годы, когда по телевизору показывали, Чумака. По телевизору как-то раз показали какого-то потомственного мага, который тоже чертил в воздухе букву Z, но не для отмены, а для чего-то другого (кажется использовал Z вместо крестного знамения, которое использовали другие экстрасенсы).
Был приятно удивлён, когда увидел сделанную мной фотку ЕС-ки. :)
Я на Ваш ЖЖ дал ссылку в тексте.
Sign up to leave a comment.