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

Перфоленточная операционная система (ПЛОС) предназначена для обеспечения простейших систем (без внешней памяти) средствами доступа к стандартным периферийным устройствам, в том числе к консоли. Минимальный комплект оборудования, при котором ПЛОС может функционировать, включает терминал, фотосчитыватель с перфоленты и процессор с ОЗУ емкостью 8К, слов.

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

  • в виде объектного модуля, который присоединяется к программе пользователя на этапе компоновки;
  • в виде загрузочного модуля, тогда он может быть загружен в ОЗУ предварительно, допуская смену программ, которые он обслуживает.

Схема функционирования ПЛОС

В обоих вариантах программа пользователя представляется как единое целое, хотя может состоять из набора независимых программ. Ядро ПЛОС воспринимает запросы от любой из таких компонент как запросы от одной программы, не обеспечивая их взаимодействие.

Объектный модуль объединяется компоновщиком с программой пользователя. Такое использование ядра удобно при отлаженной программе пользователя, так как перед выполнением требуется одна операция загрузки — объединенного загрузочного модуля. При неотлаженной программе лучше использовать форму загрузочного модуля, так как уменьшается расход перфоленты на промежуточные объединенные загрузочные модули. Загрузочный модуль имеет абсолютный формат (LDA) и заносится в оперативную память абсолютным загрузчиком, который также хранится на перфоленте, но в начальном формате.

Система программирования включает языковые процессоры (транслятор с языка Ассемблера, компоновщик, интерпретатор Бейсик), текстовый редактор, отладочную программу и библиотеку стандартных подпрограмм.

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

Такое построение загрузочного модуля позволяет экономно расходовать перфоленту, при этом на нее выводится только процедурная часть (команды и константы) и инициализированные переменные.

Начальная загрузка. В микроЭВМ серии «Электроника», в которых ПЛОС находит основное применение, начальный загрузчик с ПЛ реализован на микропрограммном уровне.