Jul. 19th, 2025

spamsink: (Default)
[personal profile] spamsink
Типичная ситуация: в организации установлено несколько версий некоторого развивающегося продукта.
Желательно, чтобы пользователям не нужно было знать, какая из установленных версий на этой неделе "текущая" и где она находится, а она вызывалась бы по умолчанию просто по имени продукта, и чтобы процесс смены текущей версии делался с минимальными затратами труда.

Сегодня это делается с помощью символических ссылок, а вот как это делалось 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

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 18th, 2026 10:59 am
Powered by Dreamwidth Studios