Перфоленточные операционные средства. Часть 2.

Управление ресурсами. С его помощью в старших адресах оперативной памяти помещается абсолютный загрузчик, после чего возможна загрузка любой программы в формате LDA. Управление памятью по существу отсутствует. Распределение памяти одиночное непрерывное. Все области памяти, необходимые программе, выделены в теле программы статически на этапе компиляции. В старших адресах оперативной памяти размещается абсолютный загрузчик, над ним — супервизор ввода-вывода (СУВВ), если оно предварительно не прикомпоновано к программе пользователя. Программа пользователя, как правило, размещается начиная с адреса 10008.

Манипуляция отдельными ячейками (чтение, модификация, чтение по адресу и т. д.) осуществляется либо с инженерного пульта (в мини-ЭВМ), либо с терминала с помощью набора микропрограммно реализованных пультовых команд. Функции, выполняемые этими командами, являются расширением функций инженерного пульта ЭВМ. В частности, адреса и содержимое ячеек представляются на пультовом терминале не в двоичной, а в восьмеричной системе счисления.

Управление процессорами практически отсутствует. Первоначальный запуск программы осуществляется абсолютным загрузчиком по адресу, указанному в последнем блоке программы. Повторный запуск программы производится оператором с инженерного пульта или с помощью однолитерной команды пультового терминала: либо G — пуск с заданного адреса, либо Р — продолжение, т. е. пуск с адреса, определяемого содержимым счетчика команд в данный момент.

Управление устройствами — основное назначение супервизора, В него входят драйверы некоторых устройств последовательного доступа (консоли, перфоленточного ввода-вывода, мозаичной печати). Пользователь может также самостоятельно разработать драйвер какого-либо устройства и включить в ядро.

Система обеспечивает асинхронный и синхронный ввод-вывод. Заявки ввода-вывода устанавливаются в очередь. Кроме основных операций ввода и вывода (чтения-записи) имеются заявки на сброс устройства, получения информации о его состоянии и т. д. Ядро обеспечивает также некоторую синхронизацию работы взаимозависимых устройств (например, клавиатура и печать консоли).

Управление информацией позволяет осуществить независимость программы от типа устройств ввода-вывода. Для этого используется понятие логического канала (номера позиции), который может быть ассоциирован с любым устройством, находящимся в составе системы под управлением ядра. Эта привязка осуществляется с помощью специальных программных запросов. Ко всем устройствам, находящимся под управлением ПЛОС, применим только последовательный метод доступа. Он реализован двумя способами:

  • неформатный — определяет ввод-вывод информации (любого типа) в виде сплошного потока, без специальных разделителей, осуществляется по счетчику байтов, который находится только в программе (а не в самом потоке);
  • форматный — определяет записи переменной и неопределенной длины. Записи переменной длины содержат информацию любого типа; каждая запись (блок) снабжена дескриптором с типом записи и ее длиной, последний байт в записи — контрольная сумма. Записи неопределенной длины содержат символьную информацию, разделенную символами ВК — ПС; таким образом, единицей вводимой (выводимой) информации является строка, длина которой не определена.

Интерфейс с пользователем в системе ПЛОС отсутствует. Пользователь может написать диалоговую программу, пользуясь средствами ПЛОС управления терминалом (консолью).

Интерфейс с программой осуществляется с помощью программных прерываний ввода-вывода ЮТ. Таким образом, достигается независимость взаимного размещения программы пользователя и супервизора. Так как в системе отсутствует макрогенератор, программные запросы представлены в виде последовательности из команды ЮТ и команд ассемблера, размещающих в памяти данные, определяющие запрос (тип, адрес буфера и т. д.). Особенностью программных запросов ПЛОС является их независимость от способа реализации доступа, т. е. от типа записи. Вся информация о записи сосредоточена в дескрипторе записи, размещенном вначале буфера ввода-вывода. В случае форматного ввода-вывода этот дескриптор находится вместе с записью на внешнем носителе (перфоленте).