среда, 9 сентября 2020 г.

Как можно заклинить виртуальный картридер?

Это перевод How is it possible to jam a virtual card reader? Автор: Реймонд Чен.

Когда-то давно я поддерживал систему с разделением времени, известную как VM/CMS. Каждый пользователь, вошедший в систему, получал свою собственную виртуальную машину с виртуальными аппаратными устройствами: виртуальным устройством для чтения карт, виртуальным устройством для записи перфокарт и виртуальным принтером.

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

Во времена физических карт вы сохраняли файл, создавая для него колоду перфокарт. И чтобы передать кому-нибудь этот файл, вы передавали ему колоду карт. Затем этот человек включал свою систему и вставлял перфокарты в картридер, чтобы загрузить файл.

Перфорация виртуальной карты и виртуальный кардридер делают всё то же самое - но без использования физических карт.
  • "Перфорация виртуальной карты" - это способ отправки файлов другому человеку. В конечном итоге это стало заменой для отправки электронного сообщения.
  • Виртуальный кардридер - это место, куда поступают входящие файлы, например, результаты отправленных вами заданий. Т.е. там находится входящая электронная почта, ожидающая, чтобы ее прочитали¹.
  • Виртуальный принтер - ну, это просто принтер. Задания, отправленные на виртуальный принтер, поступают на настоящий принтер, и вы можете потом забрать из принтера результаты печати.
Команда для проверки электронной почты была Q RDR: команда Query Reader проверяла, есть ли что-нибудь в вашем виртуальном картридере. Если да - значит, вы получили почту.

Однажды мы получили отчёт об ошибке с сообщением, которое никто никогда раньше не видел: Card reader jammed (заклинивание в картридере).

Как можно заклинить виртуальный картридер? Вы скормили ему согнутую виртуальную карточку?

Я уже заканчивал свою смену и не дождался решения. Позже я узнал, что один из моих коллег нашёл решение проблемы в руководстве.

Я вот думаю: выключил ли он его виртуально и снова включил?

Бонусная болтовня: задолго до появления VM/CMS перфокарты были настоящими. Я начал программировать как раз тогда, когда перфокарты умирали, но я помню, что в жаркие летние месяцы был один глупый трюк, чтобы немного охладиться: надо было подойти к служебному окну в компьютерном зале и отдать в работу несколько десятков карт. Операторы открывали окно, чтобы забрать ваши перфокарты, и в это время вы получали короткий поток прохладного воздуха из машинного зала³.

¹ Виртуальные перфокарты в вашем ридере не учитываются в вашей квоте хранилища, поэтому была распространена такая уловка: когда у вас закончилась квота, нужно было отправить файл самому себе, пока вы освобождаете место. Однако вам нужно было забрать файл в ближайшее время, потому что система время от времени удаляет слишком старые виртуальные перфокарты².

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

³ Когда работа была закончена, операторы открывали служебное окно, чтобы вернуть колоду перфокарт вместе с распечаткой результатов работы. Однако вы не могли при этом украсть второй поток прохладного воздуха, потому что вы не знали, чью работу выдавали. Нельзя просто торчать прямо перед окном, потому что операторы подумают, что вы пытаетесь отправить задание. По соглашению, если вы ожидаете результатов задания, вы должны стоять на небольшом, но уважительном расстоянии от окна, чтобы не сбивать с толку операторов. Достаточно близко, чтобы вы могли получить небольшое количество прохладного воздуха, но не настолько близко, чтобы операторы могли подумать, что вы хотите отправить задание.

Комментариев нет:

Отправка комментария

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку.

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

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