СПРАВОЧНИК ПО ТЕРМИНОЛОГИИ
ДЛЯ ПРОГРАММИСТА, РАЗРАБАТЫВАЮЩЕГО
ПРИКЛАДНЫЕ ПРОГРАММЫ,
ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ИСПОЛЬЗОВАНИЯ В
СРЕДЕ ОПЕРАЦИОННОЙ СИСТЕМЫ 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 - ввод