Первая часть здесь Моё программирование продолжилось в сентябре, после поступления в институт (ЛЭТИ).
Я программировал по вечерам, в совхозе под Любанью (Ленинградская область), после уборки моркови на полях, потому что моя учеба в ЛТИ началась с помощи совхозу, и это заняло весь сентябрь.
Вы спросите, на чем я программировал? Программировал ручкой в блокноте, на языке ПАСКАЛЬ.
Другие студенты были удивлены этим, но я не был полным ботаном; теперь я понимаю, что мое поведение содержало протест и элементы троллинга других.
Я написал интерпретатор для языка ИИ ПЛАНИРОВЩИК .
Этот LISP-подобный язык был гораздо более простым и выразительным, чем LISP, и имел обратный путь.
Вскоре после возвращения в город я начал получать машинное время в одном отделе, где были СМЭВМ - аналог ПДП-11. Они выглядели примерно так:
Днем там были лаборатории, а ближе к вечеру место освободилось.
Сначала я сидел в общей комнате, а потом вошел в основной зал с фальшполом, где консоль системы ТТ0: - конечно, терминал Фрязино.
SMЭVM работал под управлением операционной системы RSX-11M. Он обеспечивал вытесняющую многозадачность и защиту процессов и системы в разных адресных пространствах (как вам такое, MS-DOS?).
Адресоваться можно было только к 64К, но общая память была гораздо больше — 256К, она распределялась между многими процессами.
Виртуальной памяти не было, поэтому системе приходилось часто перемещать память процесса, чтобы освободить непрерывный фрагмент. За этим процессом было интересно наблюдать в программе под названием RMD:
На картинке, которую мне удалось найти, явно установлено значение 512К.
Но конкуренция была не только за память — большая конкуренция была за диски с клювами.
Они выглядели так:
Диск содержал 4096 блоков по 512 байт, то есть диск имел умопомрачительный объём в 2 мегабайта.
RSX-11M мог располагать файлы по сегментам, за исключением исполняемых файлов, которые должны были располагаться подряд. Утилит для дефрагментации не было, поэтому приходилось прибегать к творческому копированию файлов туда и обратно.
Имена файлов состояли из 9 (а не 8!) символов, а расширение составляло три символа.
Тройки символов были упакованы в один байт с помощью кодировки РАДИКС-50 .
У файлов были версии (!!!).
Было два уровня каталогов.
В стойке было два диска — нижний, несъемный, и верхний с клювом, съемный.
После установки нужно было закрыть клюв и нажать кнопку, дождаться пока диск раскрутится и загорится зеленая лампочка.
Стойок было несколько, а машин было две, но диск работал только в том месте, где его форматировали (хотя он должен был быть сменным).
В крайнем случае прочитать диск на «неродном» устройстве можно было, но записывать диск на «чужом» устройстве категорически не рекомендовалось.
Были стойки, более совместимые между собой, и такие, которые даже отказывались читать «чужие» диски.
И тут в один прекрасный момент на мой диск упали головы с интерпретатором языка PLANNER, который разросся до полутора тысяч строк и компилировался уже больше получаса, рисуя на диске красивые концентрические бороздки.
Это была трагедия – подкрепления, конечно, не было.
Диск разобрал, сняв пластину:
Да-да, их потом использовали как антенны.
Мне дали тряпку, и я целый день полировал эту тарелку.
Затем диск собрали и поместили в слот. Диск раскрутился.
Головы вошли со зловещим шипением.
Пустой диск был помещен в другую стойку.
Мы запустили утилиту PRE, которая на низком уровне копировала диски блок в блок, минуя файловую систему.
Получившийся диск смонтировался без ошибок и.
большая часть информации сохранилась! После сохранения диска я получил второй диск для резервного копирования и после работы скопировал свой диск на резервный.
Более того, я написал кучу утилит — мне приходилось все дольше ждать компиляции PLANNER, и я начал параллельно создавать всякие полезные программы.
В то время стоит немного поговорить о программировании.
Вот я и решил написать утилиту для просмотра текстовых файлов (удобных не оказалось).
Перейти на нужную строку по номеру, в конец файла, в начало, показать номера строк и т.д. Что бы вы сделали? Библиотеки? Нет, тогда признался флотский принцип: возьми больше, брось дальше .
Ты берешь и пишешь.
Двигаем курсор, читаем файл, проверяем наличие управляющих символов, и разве мы уже не на 24 строке? Все было написано сразу.
Интернета не было, никакого внешнего ПО мы почти не видели, да и зачем брать какую-то библиотеку, которая съест неизвестно сколько драгоценных 64К? И вот однажды, скопировав диск на резервный, я увидел, что это был не резервный диск, а совершенно чужой (диски были подписаны, как правило, фломастерами).
Был поздний вечер.
Я похолодел.
На следующий день я подошел к кафедре так, словно меня собирались расстрелять.
Резервной копии уничтоженных мною программ, конечно, тоже не было.
Но меня попросили написать потерянную программу для заполнения контуров изнутри цветом - это уже было на ДВК, которые подключались к СМ как терминалы, но могли работать и самостоятельно.
Помню, к ДЦ был подключен цветной монитор как дополнительное устройство, стоящее рядом.
Я разобрался с программой-эмулятором терминала и начал писать язык ассемблера PDP-11 для «голого железа», без операционной системы.
Это было очень круто.
Грубо говоря, я делал более умный терминал.
До сих пор ассемблер PDP-11 кажется мне самым красивым и ортогональный .
Ассемблер VAX пытался сохранить это качество, но оказался слишком сложным.
А ассемблер Intel — это какая-то крайняя эклектика.
Рассказ о RSX оказался длиннее, чем я думал, поэтому частей истории будет больше! Следите за обновлениями.
В опросе могут участвовать только зарегистрированные пользователи.
Войти , Пожалуйста.
Какой редактор в RSX-11M вы предпочли? 1,72% консоль EDI 2 6,03% EDT 7 11,21% K52 13 16,38% TED 19 64,66% ок, бумер! Проголосовало 75 116 пользователей.
40 пользователей воздержались.
Теги: #Карьера в ИТ-индустрии #История ИТ #карьера в ней #карьера программиста #pdp-11
-
Карьерные Стероиды. Собаки
19 Oct, 24 -
Соединять(); // 2016: Текстовая Трансляция
19 Oct, 24 -
6-8 Декабря — Хакатон Росбанка Tech.madness
19 Oct, 24 -
Блестящая Реклама!
19 Oct, 24