Вопрос для С. А. Зельдиновой
Dec. 18th, 2020 07:53 amС программами пользователя мы разберёмся, благо система команд и подавляющее большинство системных вызовов описаны в литературе, а вот как была сделана работа с внешними устройствами, не входящими в первоначальную конфигурацию, и детали реализации ОС, кроме С. А., уже мало кто помнит.
Ситуация: я запустил задачу переписи с одного диска на другой (с 4095 на устройстве 05 на 2054 на устройстве 41).
Но задача зависла на обмене с диском:
В первую очередь неправильный номер устройства (75), потому что интерфейс контроллера дисков в эмуляторе реализован не до конца - мы не знаем, как было сделано обращение к линейкам дисков, т. е. к нескольким группам из 8 дисков, подключенных к одному контроллеру.
Теоретически к системе можно было подключить вплоть до 64 дисков, по 32 (4 линейки по 8) к каждому контроллеру (обозначаемых как от 00 до 37 восьмеричных к одному, и от 40 до 77 - к другому). Если изменить конфигурацию ОС, задав УКВП Л0:0-7,Л1:0-7,...,Л7:0-7 - это можно увидеть, но все линейки, кроме 0 и 4, будут свободны.
Но так как эмулятор чего-то не понимает, возможно, на какие-то операции обращения к контроллеру дисков он реагирует неправильно.
Наиболее общо вопрос формулируется так: как было сделано переключение между линейками дисков?
Ситуация: я запустил задачу переписи с одного диска на другой (с 4095 на устройстве 05 на 2054 на устройстве 41).
С О С Т О Я Н И Е Д И С К О В О Д О В
НУ ТОМ ТИП СТАТУС ЧЗ НУ ТОМ ТИП СТАТУС ЧЗ
00 2048 ОБЩ СВОБОДЕН -+ 40 2052 СИС ЗАНЯТ ++
01 2148 ОБЩ СВОБОДЕН -- 41 2054 ОБЩ В РЕШЕНИИ --
02 2248 ИНД СВОБОДЕН -- 42 2091 ОБЩ СВОБОДЕН --
03 2113 ОБЩ СВОБОДЕН -- 43
04 2345 ИНД СВОБОДЕН -- 44
05 4095 ИНД В РЕШЕНИИ -- 45
06 46
07 2053 СИС В РЕШЕНИИ ++ 47
Но задача зависла на обмене с диском:
ВЦПП
419900000000 52 00.00.00 00.02.40 1 070 MД 75-0000:
В первую очередь неправильный номер устройства (75), потому что интерфейс контроллера дисков в эмуляторе реализован не до конца - мы не знаем, как было сделано обращение к линейкам дисков, т. е. к нескольким группам из 8 дисков, подключенных к одному контроллеру.
Теоретически к системе можно было подключить вплоть до 64 дисков, по 32 (4 линейки по 8) к каждому контроллеру (обозначаемых как от 00 до 37 восьмеричных к одному, и от 40 до 77 - к другому). Если изменить конфигурацию ОС, задав УКВП Л0:0-7,Л1:0-7,...,Л7:0-7 - это можно увидеть, но все линейки, кроме 0 и 4, будут свободны.
Но так как эмулятор чего-то не понимает, возможно, на какие-то операции обращения к контроллеру дисков он реагирует неправильно.
Наиболее общо вопрос формулируется так: как было сделано переключение между линейками дисков?
no subject
Date: 2020-12-19 03:59 pm (UTC)no subject
Date: 2020-12-21 12:05 pm (UTC)Про ситуацию, которую описал Леонид, ничего определенного сказать не могу.
Это ошибка. Нужны листинги.
Перешлите, пожалуйста, письмо Леониду.
О работе с линейками
Пользователь работает с виртуальными номерами МД 30-67. ОC заменяет виртуальный номер на физический. В рассматриваемой ситуации с номером 75 при переписи МД физический номер диска 4095 в системе был верный - 05, судя по распечатке состояния дисководов.
Физический номер устройства (в т. ч. линейка) может измениться только при реальной перестановке пакета МД на другое физическое устройство.
Виртуальный номер может изменить только пользователь экстракодом Э72.
Здесь неверно сформирован физический адрес. Ошибка ОС (может как-то повлиял номер 3777).
О 29 мгб дисках
Для указания 29 мгб дисков нужен раздел в ГЕНСЕ:
МД29М Л0: Kn-Кm, Kl, Kp (аналогично для Л4, если там тоже 29мгб). 0≤Кi≤7.
Здесь линейка Л0 – это устройства 3-го направления, Л4 - устройства 4-го направления. Для 29 мгб дисков мах номер зоны = 7633(8).
Об экстракоде Э50 с АИСП = 1206:
Экстракод предназначен для выдачи на операторский терминал сообщения:
УСТ.СР.К.№БХХХХ, где ХХХХ – номер тома МД, который необходимо установить;
№ - номер программного канала, по которому решается задача, выдавшая экстракод.
Перед выполнением экстракода на сумматор занести номер тома в двоично-десятичном виде, на ИР3 - ключ 71717.
Если такой том уже установлен на ЭВМ, то на сумматор задачи заносится его восьмеричный номер и печати на терминал не будет. Если том не установлен, сумматор обнуляется и производится выдача на терминал сообщения об установке.
Экстракод сдвига: ИР Э62 А, где АИСП имеет вид:
НУ (6разр) ДЕЛЬТА (9разр).
Для 7,25 мгб смещение по диску = ДЕЛЬТЕ, для 29 мгб дисков смещение = ДЕЛЬТЕх40(8) зон
no subject
Date: 2020-12-21 09:43 pm (UTC)Совершенно верно! Как я определил на следующий день после первоначального письма, дело было именно в максимальном номере тома, и это ошибка ОС. Но вопрос, как именно работать с линейками (какие были команды переключения, были ли какие-то коды ответа, какая линейка текущая, в регистре состояния) - остается. Сейчас, даже если сказать в ГЕНСе, что все линейки присутствуют, всё продолжает работать и никаких диагностик не выдается. Видимо, ДИСПАК как-то определяет, несмотря на конфигурацию, что коммутатора линеек на самом деле нет, и работает только с 8 устройствами на направлении.
Для 29 Мб дисков в ГЕНСе раздел есть, но мы тоже не знаем, как были устроены управляющие слова для них и коды ответа. Был ли при опросе состояния устройства признак, что устройство - не 7.25, а 29 Мб? Сейчас у нас указано, что 4-е направление - 29 Мб, но ДИСПАК как-то определяет, что "контроллер" не умеет работать с 29 Мб дисками и опознаёт диски на 4-м направлении как 7.25 Мб (а если бы верил конфигурации, то были бы ошибки).
Насчет дельты всё верно, кроме того, что разрядов не 9, а как минимум 10 (на 7.25 диске можно было указать сдвиг на 1000(8) зон и более).
Может быть, мне общаться с С. А. напрямую, если она согласна?