Leo B.
unread,Jul 19, 2025, 12:48:58 PMJul 19Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to БЭСМ-6
Типичная ситуация: в организации установлено несколько версий некоторого развивающегося продукта.
Желательно, чтобы пользователям не нужно было знать, какая из установленных версий на этой неделе "текущая" и где она находится, а она вызывалась бы по умолчанию просто по имени продукта, и чтобы процесс смены текущей версии делался с минимальными затратами труда.
Сегодня это делается с помощью символических ссылок, а вот как это делалось 45 лет назад:
В каталоге стандартных оверлеев Монитора-80 видим цельный компилятор Форекс
FОRЕХ* 60 0044 03 20664 01770
LО*SУN 60 0046 03 33466 22654
LО*GЕN 60 0062 35 33712 22654
который, будучи вызван с помощью *FOREX, печатает
F О R Е Х ИПМ АН СССР ВЕРСИЯ 2.02 ОТ 15.07.80
и работает.
Также в каталоге видим
FОRЕХ3* 60 0152 17 00136 01770
LВ304010 60 0152 22 00011 02126
(подозрительно короткий) и в дампе диска можно увидеть, что оверлей с этим именем вызывается по управляющей карте *FORX3.
Однако (в режиме *SYSTEM LOAD LIST), получаем
*FОRХ3
FОRЕХ3* 01770
ОТСУТСТВУЕТ FОRЕХ3*
СВОБОД 01770
Постойте-ка, как это он отсутствует, когда вот он только что нашёлся и загрузился в 01770? Да точно так же, как сейчас, когда симлинк битый, он в выдаче ls (без -l) виден как файл, а при попытке обратиться к нему получается No such file or directory.
Вот как это работало:
Короткая программка длиной 136₈ слов, когда грузится как оверлей, видит в памяти лист с содержимым каталога оверлеев, из которого она загрузилась, ищет в этом каталоге вхождение имени вида LBnnzzzz, читает зону nnzzzz в лист каталога оверлеев, берёт своё имя из своего заголовка оверлея и идёт снова в загрузчик.
Содержимое фиктивного оверлея LBnuzzzz непринципиально, он никогда не загружается.
Тут же видно, что образ Монитора-80, который достался организации К-71, дрался в другой организации с какого-то 29-мегабайтного диска (зоны 4010₈ на обычном 7.25-Мб диске не бывает). Форекс 3 у нас есть, например, на образе диска 2048 из ИТМиВТ (2148), откуда его надо было вызывать с помощью *TRANS:FOREX3*,,nu1550 (кто ж это упомнит, особенно две запятые подряд).
Корректируем симлинк: закажем в паспорте ДИС 31(2148), правим на диске 2048 ровно одно слово (LB304010 на LB311550), и voilà:
*FОRХ3
FОRЕХ3* 01770
FОRЕХ3* 01770
19.07.25 М1
LО*SУN 31561
LО*GЕN 31561
F О R Е Х ИПМ АН СССР 4.12 ОТ 25.06.85 ВРЕМЯ: 00.00