НИИ "НАУЧНЫЙ ЦЕНТР"





ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ

ДВК

КНИГА 5

РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА













МОСКВА 1990 год


АННОТАЦИЯ

Данная книга содержит сведения о генерации системы, программировании внешних устройств и о мониторе расширенной памяти, контрольных задачах и программе пакетной обработки.

В главе «УСТАНОВКА И ГЕНЕРАЦИЯ СИСТЕМЫ» содержится описание процедуры установки и модификации ОС ФОДОС-2, поставляемой на различных дистрибутивных носителях. Описывается процесс генерации ОС ФОДОС-2, в результате которого создается вариант ОС, ориентированный на определенную конфигурацию аппаратных средств и требуемую область применения.

Глава «ПРОГРАММИРОВАНИЕ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ» представляет собой руководство системного программиста по написанию и работе с драйверами в ОС ФОДОС-2. В главе описаны особенности функционирования драйверов специальных устройств.

В главе «МОНИТОР РАСШИРЕННОЙ ПАМЯТИ» описывается монитор, позволяющий использовать память емкостью более 32К слов на ЭВМ с диспетчером памяти. Монитор расширенной памяти имеет набор программных запросов для расширения области логической адресации программы.

Глава «КОНТРОЛЬНЫЕ ЗАДАЧИ» описывает порядок работы с контрольными задачами, проверяющими правильность функционирования ОС.

Глава «ПРОГРАММА ПАКЕТНОЙ ОБРАБОТКИ» содержит описание языка управления потоком заданий и действий оператора при работе с программой

 

 


СОДЕРЖАНИЕ

УСТАНОВКА И ГЕНЕРАЦИЯ СИСТЕМЫ
РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА

1. ОБЩИЕ СВЕДЕНИЯ О СИСТЕМЕ ФОДОС-2

2. СТРУКТУРА СИСТЕМЫ

2.1. Мониторы ФОДОС-2

2.1.1. Монитор одного задания

2.1.2. Монитор основного-фонового задания

2.1.3. Монитор расширенной памяти

2.2. Компоненты дистрибутивного набора

3. НАСТРОЙКА И ПРОВЕРКА СИСТЕМЫ

3.1. Установка системы, поставляемой на гибких дисках, для работы на гибких дисках

3.1.1. Загрузка дистрибутивного носителя

3.1.2. Копирование дистрибутивного носителя

3.1.3. Создание рабочей системы

3.1.4. Копирование рабочей системы

3.1.5. Проверка рабочей системы

3.2. Установка системы, поставляемой на гибких дисках, для работы на дисках RK: или DP:

3.2.1. Загрузка дистрибутивного носителя

3.2.2. Копирование дистрибутивного носителя

3.2.3. Создание рабочей системы

3.2.4. Копирование рабочей системы

3.2.4.1. Копирование рабочей системы на гибкие диски

3.2.4.2. Копирование рабочей системы на другой диск

3.2.5. Проверка рабочей системы

3.3. Установка системы, поставляемой на магнитной ленте, для работы на дисках RK: или DP:

3.3.1. Загрузка дистрибутивного носителя

3.3.2. Копирование дистрибутивного носителя

3.3.3. Создание рабочей системы

3.3.4. Копирование рабочей системы

3.3.5. Проверка рабочей системы

3.4. Модификация рабочей системы

3.4.1. Использование терминала в качестве устройства печати по умолчанию

3.4.2. Изменение числа абсолютных базовых адресов программных секций, разрешённых в редакторе связей.

3.4.3. Выделение оверлейных драйверов из SYSLIB.OBJ

3.4.4. Включение устройств в систему

3.4.5. Модификация BATCH для увеличения свободной области на системном томе

3.4.6. Работа системы в неполной памяти

3.4.7. Введение 22-битной адресации

3.4.8. Установка верхнего предела на размер файла

3.4.9. Изменение устройства по умолчанию для косвенных командных файлов

3.4.10. Изменение типа файла по умолчанию для косвенных командных файлов

3.4.11. Изменение устройства по умолчанию для команды FRUN

3.4.12. Изменение типа файла по умолчанию для команды FRUN

3.4.13. Использование командами КЯС "Е" и "D" памяти выше фоновой области

3.4.14. Изменение числа строк в листинге редактора связей

3.4.15. Изменение устройства загрузки по умолчанию процессора косвенных управляющих файлов (IND)

4. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ

4.1. Структура процесса генерации

4.1.1. Подготовка к генерации

4.1.2. Выполнение SYSGEN.COM

4.1.2.1. Диалог SYSGEN

4.1.3. Трансляция и редактирование

5. СООБЩЕНИЯ СИСТЕМНОМУ ПРОГРАММИСТУ

ПРИЛОЖЕНИЕ

ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ДОКУМЕНТОВ

ПРОГРАММИРОВАНИЕ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ
РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА

1. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММЕ

2. СТРУКТУРА ПРОГРАММЫ

2.1. Секция определений

2.1.1. Запрос .DRDEF.

2.1.1.1. Условия генерации системы

2.1.1.2. Смещение элементов очереди

2.1.1.3. Определение символов

2.1.2. Байт идентификации устройства

2.1.3. Слово состояния устройства

2.1.4. Слово размера устройства

2.2. Секция заголовка

2.2.1. Информация в блоке 0

2.2.2. Первые пять слов драйвера

2.2.3. Запрос .DRBEG

2.2.4. Многовекторные драйверы: запрос .DRVTB

2.2.5. Коды условий PS

2.3. Секция инициирования ввода-вывода содержит пять выполняемых команд драйвера

2.3.1. Указания для начала передачи данных

2.4. Секция обработки прерываний

2.4.1. Точка входа преждевременного прерывания

2.4.2. Понижение приоритета до приоритета устройства

2.4.3. Запрос .DRAST

2.4.4. Основные правила для программирования секции обработки прерываний

2.5. Секция завершения ввода-вывода

2.5.1. Запрос .DRFIN

2.6. Секция окончания драйвера

2.6.1. Запрос .DREND

2.6.2. Фиктивные устройства

3. НАСТРОЙКА И ПРОВЕРКА ПРОГРАММЫ

3.1. Общее описание драйвера устройства

3.2. Драйверы, которые формируют внутреннюю очередь

3.2.1. Формирование внутренней очереди

3.2.2. Обработка прерываний для драйверов, формирующих внутреннюю очередь

3.2.3. Процедуры преждевременного прерывания для драйверов, формирующих внутреннюю очередь

3.3. Параметры SET

3.3.1. Как выполняется команда SET

3.3.2. Формат таблицы SET

3.3.3. Запрос .DRSET

3.3.4. Подпрограмма изменения драйвера

3.3.5. Примеры параметров SET

3.4. Как проверить и отладить драйвер устройства

3.4.1. Использование ODT для проверки драйвера

3.4.2. Использование ODT в ХМ

4. ПОДПРОГРАММА ОБРАБОТКИ ПРЕРЫВАНИЙ

4.1. Программируемый ввод-вывод

4.2. Ввод-вывод, обрабатываемый по прерываниям

4.2.1. Как работают прерывания

4.2.2. Приоритеты устройств и процессора

4.2.3. Слово состояния процессора (PS) занимает верхний адрес страницы ввода-вывода

4.3. Внутренние подпрограммы обработки прерываний в сравнении с драйверами устройств

4.4. Как планировать подпрограммы обработки прерываний

4.4.1. Изучить устройство

4.4.2. Подготовка блок-схемы программы

4.4.3. Написание кодов

4.4.4. Проверка и отладка

4.5. Структура подпрограммы обработки прерываний

4.5.1. Защита векторов: запрос .PROTECT

4.5.2. Установка вектора прерывания

4.5.3. Чистая остановка: запрос .DEVICE

4.5.4. Понижение приоритета процессора: запрос .INTEN

4.5.5. Использование программного запроса .SYNCH

4.5.6. Выполнение на FORK-уровне: запрос .FORK

4.5.7. Итог по .INTEN, .FORK и .SYNCH

4.5.8. Выход из обработки прерывания: RTS PC

4.6. Схематическая конструкция подпрограммы обработки прерываний

5. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ

5.1. Тайм-аут устройства ввода-вывода

5.1.1. Запрос .TIMIO.

5.1.2. Запрос .CTIMIO

5.1.3. Применение тайм-аута устройства

5.1.3.1. Мультитерминальная обработка в системе ФОДОС-2

5.1.3.2. Обычная процедура таймера для драйвера диска

5.1.3.3. Пример драйвера построчно-печатающего устройства

5.2. Регистрация ошибок

5.2.1. Когда и как вызывать регистратор ошибок

5.2.1.1. Регистрация успешной передачи

5.2.1.2. Регистрация невосстановимой ошибки

5.2.1.3. Регистрация восстановимой ошибки

5.2.1.4. Различия между восстановимой (SOFT) и невосстановимой (HARD) ошибками

5.2.1.5. Вызов регистратора ошибок

5.3. Специальные функции

5.3.1. Программный запрос .SPFUN

5.3.2. Поддержка специальных функций в драйвере устройства

5.3.3. Тома переменного размера

5.3.4. Устройства со специальными справочниками

5.4. Драйверы устройств в ХМ-системе

5.4.1. Условные обозначения наименований и условные обозначения системы

5.4.2. ХМ-среда

5.4.3. Элемент очереди в ХМ

5.4. 4. Устройства произвольного доступа к данным: подпрограмма ¤MPPHY

5.4.5. Символьно-ориентированные устройства: подпрограммы ¤GETBYT и ¤PUTBYT

5.4.5.1. Подпрограмма ¤GETBYT

5.4.5.2. Подпрограмма ¤PUTBYT

5.4.6. Другие устройства: подпрограмма ¤PUTWRD

5.4.7. Драйверы, которые имеют непосредственный доступ к буферу пользователя

5.5. Подпрограмма обработки прерываний в системе ХМ

6. УСТАНОВКА ДРАЙВЕРА УСТРОЙСТВА

6.1. Драйверы системного устройства и начальный загрузчик

6.1.1. Файлы монитора

6.1.2. Создание драйвера системного устройства

6.1.2.1. Первичный драйвер

6.1.2.2. Подпрограмма входа

6.1.2.3. Начальный загрузчик программного обеспечения

6.1.2.4. Подпрограмма считывания начального загрузчика

6.1.2.5. Подпрограмма ошибок начального загрузчика

6.1.2.6. Запрос .DRBOT

6.1.3. DUP и процесс начальной загрузки

6.1.3.1. Команда BOOT DDN:FILNAM.

6.1.3.2. Команда COPY/BOOT XXN:FILNAMDDM:

6.1.3.3. Команда BOOT DDN:

6.2. Как транслировать, связывать и устанавливать драйвер устройства

6.2.1. Транслирование драйвера устройства

6.2.2. Связывание драйвера устройства

6.2.3. Установка драйвера устройства

6.2.3.1. Использование начального загрузчика для автоматической установки драйверов

6.2.3.2. Использование команды INSTALL для установки драйверов вручную

6.2.3.3. Использование запроса DEV для помощи автоматической установки

6.2.3.4. Установка устройств, аппаратура которых имеется в наличии

6.2.3.5. Подпрограмма сравнения установки

6.2.3.5.1. Точка входа подпрограммы сравнения установки

6.2.3.5.2. Если аппаратура данного драйвера имеет дополнительный регистр

6.2.3.5.3. Если аппаратура для этого драйвера имеет несколько регистров

6.2.3.5.4. Если имеется разряд или байт идентификации

6.2.3.5.5. Если одно устройство имеет разряд считывания/записи

6.2.3.5.6. Игнорирование аппаратных ограничений

6.3. Содержимое системного драйвера

7. ПРОГРАММИРОВАНИЕ СПЕЦИАЛЬНЫХ УСТРОЙСТВ

7.1. Драйвер магнитной ленты (MT)

7.1.1. Драйвер магнитной ленты файловой структуры

7.1.1.1. Поиск номера файла

7.1.1.2. Поиск по имени файла

7.1.1.3. Программные запросы

7.1.1.3.1. Программный запрос .ENTER

7.1.1.3.2. Программный запрос .LOOKUP

7.1.1.3.3. Программные запросы .READX

7.1.1.3.4. Программные запросы .WRITX

7.1.1.3.5. Программные запросы .DELETE и .RENAME

7.1.1.3.6. Программный запрос .CLOSE

7.1.1.3.7. Программный запрос .SPFUN .SPFUN

7.1.1.4. Выдача вызовов аппаратного драйвера с модулем файловой структуры

7.1.2. Аппаратные драйверы магнитной ленты

7.1.2.1. Сообщения об исключениях

7.1.2.2. Считывание и запись физических блоков

7.1.2.3. Перемотка ленты вперёд и назад

7.1.2.4. Перемотка

7.1.2.5. Перемотка и переход к автономности

7.1.2.6. Запись с расширенным межзонным промежутком

7.1.2.7. Запись маркера ленты

7.1.2.8. Восстановление ошибок

7.1.2.9. Программный запрос .LOOKUP нефайловой структуры

7.1.2.10. Программный запрос .CLOSE

7.1.2.11. Программные запросы .WRITX нефайловой структуры

7.1.2.12. Программные запросы .READX нефайловой структуры

7.2. Драйверы гибких дисков (DX и DY)

7.3. Драйвер перфоленточного устройства ввода-вывода (PC)

7.4. Драйвер системного терминала (ТТ)

7.5. Драйвер фиктивного устройства NL

7.6. Драйвер расширенной памяти VM

7.7. Программа установки логического диска

7.7.1. Выполнение программы установки логического диска

7.7.2. Переключатели LD

7.7.2.1. Переключатель /A:DDD

7.7.2.2. Переключатель /C

7.7.2.3. Переключатель /L:N

7.7.2.4. Переключатель /R:N

7.7.2.5. Переключатель /W:N

7.8. Драйвер логического диска (LD)

7.8.1. Таблицы трансляции LD

7.8.2. Другие разряды, используемые драйвером LD

7.8.3. Специальный переключатель LD ()

8. СООБЩЕНИЯ СИСТЕМНОМУ ПРОГРАММИСТУ

ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ДОКУМЕНТОВ

МОНИТОР РАСШИРЕННОЙ ПАМЯТИ
РУКОВОДСТВО ПРОГРАММИСТА

1. ОПРЕДЕЛЕНИЯ

2. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ

3. ХАРАКТЕРИСТИКИ ПРОГРАММЫ

3.1. Особенности использования расширенной памяти

4. АДРЕСАЦИЯ В СИСТЕМЕ РАСШИРЕННОЙ ПАМЯТИ

4.1. Регистры адреса страницы и регистры признака страницы

4.1.1. Регистр адреса страницы

4.1.2. Регистр признака страницы

4.2. Преобразование 16-разрядного адреса в 18- или 22-разрядный адрес

5. ОБЩЕЕ ОПИСАНИЕ РАБОТЫ РАСШИРЕННОЙ ПАМЯТИ ФОДОС-2

5.1. Создание виртуальных адресных окон

5.2. Распределение и перераспределение областей

5.3. Отображение окон на области

5.4. Ввод-вывод в отображении расширенной памяти

6. РАСПРЕДЕЛЕНИЕ ПАМЯТИ

6.1. Распределение памяти при загрузке монитора ХМ

6.2. Отображение виртуальных заданий

6.2.1. Выбор типа отображения

6.2.2. Виртуальные фоновые задания

6.3. Виртуальные основные или системные задания

6.4. Привилегированные задания

6.4.1. Привилегированные фоновые задания

6.4.2. Привилегированные основные или системные задания

6.5. Различия между виртуальными и привилегированными заданиями

6.6. Переключение монитора между заданиями

7. ОБРАЩЕНИЕ К ПРОГРАММЕ. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ

7.1. Получение доступа к расширенной памяти

7.2. Блок определения окна

7.3. Управляющий блок окна

7.4. Блок определения области

7.5. Управляющий блок области

7.6. Создание БООК

7.7. Создание БООБ

7.8. Элемент очереди ввода-вывода

7.9. Список свободной памяти

8. ЗАПРОСЫ РАСШИРЕННОЙ ПАМЯТИ

8.1. Создание области (.CRRG)

8.2. Аннулировать область (.ELRG)

8.3. Создание адресного окна (.CRAW)

8.4. Аннулировать окно (.ELAW)

8.5. Отображение окна (.MAP)

8.6. Отменить отображение (.UNMAP)

8.7. Запись состояния окна отображения (.GMCX)

9. СООБЩЕНИЯ

10. НЕКОТОРЫЕ ПРИЛОЖЕНИЯ РАСШИРЕННОЙ ПАМЯТИ

10.1. Оверлеи в расширенной памяти

10.2. Буферы или массивы в расширенной памяти

10.3. Многопользовательские программы

10.4. Рабочая область в расширенной памяти

10.5. Использование ХМ .SETTOP

10.5.1. Виртуальный старший адрес и очередной свободный адрес

10.5.2. .SETTOP без ХМ-особенности

10.5.3. ХМ .SETTOP

10.5.3.1. Директива .LIMIT

10.5.3.2. "Пустоты" в виртуальном адресном пространстве

10.5.4. XM .SETTOP и привилегированные задания

10.5.5. ХМ .SETTOP и виртуальные задания

10.5.6. Сводка результатов действия запроса .SETTOP

ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ДОКУМЕНТОВ

КОНТРОЛЬНЫЕ ЗАДАЧИ,
РУКОВОДСТВО ОПЕРАТОРА.

1. КОНТРОЛЬНАЯ ЗАДАЧА №1

1.1. Назначение программы и условия выполнения программы

1.2. Выполнение программы

2. КОНТРОЛЬНАЯ ЗАДАЧА №2

2.1. Назначение программы и условия выполнения программы.

2.2. Выполнение программы

3. КОНТРОЛЬНАЯ ЗАДАЧА №3

3.1. Назначение программы и условия выполнения программы

3.2. Выполнение программы

4. КОНТРОЛЬНАЯ ЗАДАЧА №4

4.1. Назначение программы и выполнение программы

ПРОГРАММА ПАКЕТНОЙ ОБРАБОТКИ
РУКОВОДСТВО ОПЕРАТОРА

1. НАЗНАЧЕНИЕ ПРОГРАММЫ И УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ

2. ОСНОВНЫЕ ПОНЯТИЯ

3. СИСТЕМНО-НЕЗАВИСИМЫЙ ЯЗЫК BATCH

3.1. Формат управляющих операторов

3.1.1. Поле команды

3.1.2. Поле спецификации

3.1.2.1. Имена устройств

3.1.2.2. Спецификация файлов

3.1.3. Поле комментария

3.1.4. Вспомогательные файлы

3.2. Общие правила составления задания

3.3. Команды BATCH

3.3.1. Команда ¤SEQUENCE.

3.3.2. Команда ¤JOB.

3.3.3. Команда ¤EOJ.

3.3.4. Команда ¤MOUNT.

3.3.5. Команда ¤DISMOUNT.

3.3.6. Команда ¤BASIC.

3.3.7. Команда ¤FORTRAN.

3.3.8. Команда ¤MACRO.

3.3.9. Команда ¤LIBRARY

3.3.10. Команда ¤LINK.

3.3.11. Команда ¤RUN.

3.3.12. Команда ¤CALL.

3.3.13. Команда ¤CHAIN.

3.3.14. Команда ¤DATA.

3.3.15. Команда ¤EOD.

3.3.16. Команда ¤MESSAGE.

3.3.17. Команда ¤СОРУ.

3.3.18. Команда ¤CREATE.

3.3.19. Команда ¤DELETE.

3.3.20. Команда ¤DIRECTORY.

3.3.21. Команда ¤PRINT.

3.4. Системный режим работы BATCH

3.4.1. Средства создания ВАТСН-программ

3.4.1.1. Метки

3.4.1.2. Переменные

3.4.1.3. Команды регистрации ввода-вывода с терминала.

3.4.1.4. Специальные управляющие команды

3.4.1.5. Комментарии

3.4.2. Пример ВАТСН-программы

4. ВЫПОЛНЕНИЕ ПРОГРАММЫ

5. КОМАНДЫ ОПЕРАТОРА

5.1. Формат командной строки

5.2. Директивы оператора

5.3. Окончание работы программы

6. СООБЩЕНИЯ ОПЕРАТОРУ

ПРИЛОЖЕНИЕ


 

Ответственный за выпуск М.Г. Бойкова
Редактор Т.А. Савельева
Корректор В.Н. Лыткина

 

Сдано в набор 02.03.90.                                             Подписано в печать 23.05.90.
Формат 60х84 1/16.            Бумага писчая №1.                   Гарнитура литературная.
Печать высокая.           усл. печ. л.  16,8          Тираж 20000 экз.             Заказ 682


Ленинградское отделение РППО "Союзбланкоиздат".

Великолукская городская типография управления издательств,
полиграфии и книжной торговли Псковского облисполкома,
182100, г. Великие Луки, ул. Полиграфистов, 78/12.