СПРАВОЧНИК ПО ТЕРМИНОЛОГИИ
ДЛЯ ПРОГРАММИСТА, РАЗРАБАТЫВАЮЩЕГО
ПРИКЛАДНЫЕ ПРОГРАММЫ,
ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ИСПОЛЬЗОВАНИЯ В
СРЕДЕ ОПЕРАЦИОННОЙ СИСТЕМЫ iS DOS.
Ядро - набор подпрограмм, резидентных в
памяти. Ядро может настраиваться на различную конфигурацию.
Уровень ядра - некоторое подмножество
подпрограмм, входящее в ядро. Множество всех уровней является непересекающимся
множеством, в совокупности образующим ядро.
Минимальное количество уровней,
обязательное для работы операционной системы, равно 3 (0-й, 1-й и 2-й),
максимальное количество уровней, которое может быть создано и одновременно
доступно разработчику прикладной программы, равно 8. Уровни с 0-го по 6-й
используются системой, а 7-й зарезервирован для пользователя.
Обращение к ядру из программ пользователя
или из других подпрограмм ядра может происходить только через инструкцию
ассемблера RST 16. При этом в регистре C должен находиться код функции, которую
будет выполнять соответствующая подпрограмма соответствующего уровня ядра.
Уровни ядра загружаются транзитной
командой set.com с диска.
- Уровень ядра 0 - набор подпрограмм
для обеспечения взаимодействия с устройствами, драйверами и каталогами.
Диапазон кодов функций - от 0 до 31.
- Уровень ядра 1 - набор
подпрограмм, образующих файловую службу. Диапазон кодов функций - от 32 до 63.
- Уровень ядра 2 - набор
подпрограмм, организующих работу с каталогами и транзитными командами. Диапазон
кодов функций - от 64 до 95.
- Уровень ядра 3 - набор
подпрограмм, реализующих функции оконной технологии. Диапазон кодов функций -
от 96 до 127.
- Уровень ядра 4 - набор
подпрограмм, создающих пользователю удобную среду для интерактивной работы с
файлами и каталогами дисковой внешней памяти (так называемую "файловую
оболочку"). Диапазон кодов функций - от 128 до 159.
Супервизор ядра - программа, расположенная в
нулевом уровне и обрабатывающая инструкции RST 16. Она анализирует содержимое
регистра C и либо выполняет соответствующую подпрограмму ядра, либо - в случае
ошибки - возвращает управление программе, вызвавшей RST 16, помещая код ошибки
в регистр A и устанавливая флаг C в регистре состояния процессора.
При выполнении инструкции RST 16
содержимое регистра С интерпретируется следующим образом: старшие 3 бита задают
номер уровня ядра (отсюда пошло ограничение на количество уровней), младшие 5
битов задают номер функции в пределах конкретного уровня.
Ошибка может возникнуть, если в
настоящий момент в системе нет требуемого уровня, или в заданном уровне нет
требуемой функции. Код этой ошибки = 255 (#FF).
Устройство - аппаратурная компонента ПЭВМ. С
точки зрения IS DOS устройства подразделяются на блочные устройства, символьные
устройства на вывод, символьные устройства на ввод. Система IS DOS поддерживает
до 8-и устройств каждого типа.
Драйвер - резидентная перемещаемая программа,
которая может обслуживать одно или несколько устройств одного типа. Драйверы загружаются
транзитной командой set.com с диска.
Резидентная задача - программа, имеющая такую же
структуру, как и драйвер, но другое назначение и не обслуживающая устройства.
Резидентная задача запускается на выполнение из монитора или командного файла командой
@имя задачи [параметры]
Резидентные задачи, как и драйверы, могут иметь имя,
отличное от имени файла.
Фоновые задачи - задачи, выполняющиеся по
прерыванию. Они вызываются на выполнение каждые 20 мс.
Цепочка фоновых задач - несколько фоновых задач,
последовательно выполняемых по прерыванию. Рекомендуется, чтобы общее время
выполнения всех задач из цепочки не превышало 15 мс. В цепочку фоновых задач
рекомендуется помещать такие задачи, которые требуется вызывать на выполнение
периодически через равные промежутки времени. Цепочка фоновых задач всегда
состоит, по крайней мере, из двух задач: задачи обслуживания 4-х байтного
счетчика времени и задачи опроса клавиатуры. Кроме того, периодически при необходимости
включается задача мигания курсора.
Транзитные команды - команды операционной системы,
обработчики которых находятся на диске (программы пользователя тоже могут
рассматриваться как транзитные команды).
Рекурсивная цепочка - цепочка, описывающая вложенность
файлов.
Диски - с точки зрения пользователя могут
быть трех типов:
- архивные диски - предназначены для
хранения данных, доступны только для использования в IS DOS и недоступны для
TR-DOS (помечены, как занятые) - создаются программой is_tools.com;
- рабочие диски с монитором оболочки
- предназначены для работы в IS DOS - создаются из архивных дисков копированием
в главный каталог файла extend.txt, добавлением каталогов SHELL, UTIL, RES, EDIT, SERVICE и копированием туда необходимых
утилит;
- загрузочные диски - предназначены
для загрузки IS DOS - создаются из рабочих дисков добавлением файла с копией
системы, подключением ее к диску транзитной командой con.com, фиксирующей необходимые
адресные ссылки на диске на файл копии системы для ее загрузки, и запуском
программы boot.com на этом диске. Программа boot.com создает в 5-м секторе 0-й
дорожки системный загрузчик из среды TR DOS.
Кроме того, можно создать файл
autoexec.bat в корневом каталоге - он будет выполняться непосредственно перед
выходом в монитор оболочки, и осуществлять действия для создания необходимой
пользователю комфортной среды для работы;
Канал - именованная непрерывная область
памяти, предназначенная для временного хранения или передачи данных от одной программы
в другую. Каналы находятся в специально отведенном месте памяти. Доступ к
каналам из программ возможен только с помощью специальных обращений к ядру.
Любой канал имеет следующую
структуру:
1 байт
|
2 байта
|
|
логическое имя канала
|
длина канала
|
тело канала
|
Менеджер каналов - программа нулевого уровня,
которая по требованию системы или пользователя выделяет новый временный канал,
выбирая из каналов, выделенных менеджеру, свободны канал с наименьшим номером.
Каналы с определенными логическими
номерами имеют следующее жестко фиксированное предназначение:
0..8 - для работы блочных устройств
8..15 - для работы символьных
устройств на вывод;
15..23 - для работы символьных
устройств на ввод
24..#D7 - доступны менеджеру
каналов, который может вызываться пользователем;
#D8..#E7 - зарезервированы для
описания резидентных задач
#E8..#EF - зарезервированы для
описания драйверов символьных устройств на ввод;
#F0..#F7 - зарезервированы для
описания драйверов символьных устройств на вывод;
#F8..#FF - зарезервированы для
описания драйверов блочных устройств;
Виртуальный диск представляет собой быстродоступную
копию некоторых наиболее часто используемых блоков блочных устройств. Он
размещается в памяти и имеет следующую структуру:
Каталог виртуального диска
|
|
4 байта
|
|
4 байта
|
|
описатель
блока
|
описатель
блока
|
|
|
|
блок
|
|
блок
|
|
Размер виртуального диска (количество блоков) в 0-м уровне
ядра.
Описатель блока имеет следующую структуру:
1-й байт - регистр состояния блока,
совмещенный с номером устройства:
7-й бит : блок
модифицирован (1) или нет (0);
6-й бит : блок защищен
(1) или нет (0);
5-й бит : блок
существует (1) или нет (0);
4-й, 3-й биты :
резервные;
2-й ... 0-й биты :
номер устройства, которому принадлежит блок.
2-й байт - счетчик обращений к
блоку;
3-й и 4-й (мл., ст.) - номер блока
на устройстве.
Минимальный размер виртуального диска равен 6 блокам.
Виртуальный диск создается системой автоматически, т.к. он необходим для работы
файловой службы. Пользователь может изменять размер виртуального диска.
Файлы и каталоги в IS DOS могут быть
двух типов : непрерывные и сегментированные. Непрерывные файлы и каталоги можно
только укорачивать, зато доступ к ним - быстрее и они занимают меньше места на
диске. Если известны правила использования каталога, его лучше делать
непрерывным и нужного размера.
Системное устройство - блочное устройство, на котором
находятся основные транзитные команды, необходимые для работы системы.
Быстрое устройство - часть системного устройства,
находящаяся на устройстве с быстрым доступом. Туда рекомендуется помещать
команды и программы наиболее часто используемые системой и пользователем. Поиск
файла при запуске осуществляется сначала на быстром устройстве, а затем на
системном.
Текущее устройство - логическое имя, альтернативное
имени системного устройства. Может применяться, например, при операциях
копирования для назначения устройства, на которое выполняется копирование.
Структура адресного пространства при
работе IS DOS.
0-й уровень ядра
|
65535
|
1-й уровень ядра
|
|
...
|
|
6-й уровень ядра
|
|
область драйверов и резидентных задач
|
|
область каналов
|
$Stop
|
виртуальный диск
|
|
программа пользователя
|
$Utop
|
переменные TR DOS
|
23900
|
переменные BASIC
|
23746
|
область экрана
|
23552
|
ПЗУ BASIC SPECTRUM 48K
|
16384
|
Драйверы и резидентные задачи
являются перемещаемыми.
В некоторых версиях аппаратуры есть
возможность заменить ПЗУ дополнительной областью памяти. В таком случае имеется
возможность переместить туда часть ядра системы, драйверов и резидентных задач.
Использование клавиатуры в IS DOS
STOP и BREAK - выход из задачи
SS+пробел - выход в дополнительное
меню
1 - вызов HELP файлов
Q - движение курсора вверх
A - движение курсора вниз
O - движение курсора влево
P - движение курсора вправо
ENTER - ввод