Cтраница 4
В части 3 помещается текст исходного модуля до его обработки препроцессором. В ней последовательно нумеруется каждая строка ( линия) текста исходного модуля. Эта часть обеспечивается опциями MACR. Часть 4 содержит список сообщений препроцессора об ошибках и появляется при их обнаружении. Если ошибок не было, в этом месте листинга появляется сообщение NO ERROR OR WARNING CONDITION HAS BEEN DETECTED FOR THIS MACRO PASS. Часть 5 печатается при наличии опции SOURCE и представляет собой текст исходного модуля после его обработки препроцессором. Все операторы модуля, в том числе операторы, входящие в состав других операторов, последовательно нумеруются. В части 5 печатается номер ( STMT) первого в каждой строке оператора. В части 6 размещается таблица атрибутов и перекрестных ссылок. [46]
Прежде всего нужно решить, как обеспечить функционирование операций ввода-вывода - ключевой вопрос при выборе последовательности сборки модулей. В программе загрузчика, изображенной на рис. 10.5, входные данные читаются модулями D и Е, а выходные данные вырабатываются модулем С. Все начинается с программирования и тестирования модуля А. Модуль А на самом деле мал, он просто последовательно вызывает три других модуля и может также добавить одно или несколько сообщений в список сообщений об ошибках, если таковые обнаружит модуль G. Для тестирования модуля А должно быть написано три заглушки. [47]
Таблица адресов является одной из основных управляющих таблиц Супервизора. Она предназначена для организации быстрого доступа к любой управляющей таблице и содержит адреса основных таблиц, используемых Супервизором и другими компонентами операционной системы, а также некоторую информацию, характеризующую текущее состояние этих таблиц. Структура и размер Таблицы адресов зависят от мощности операционной системы ( наличия тех возможностей, которые предоставляются программисту), числа таблиц, используемых Супервизором. В ней хранятся адреса Таблицы информации об устройствах, Таблицы задач, Списка распределенной памяти, Очередей каналов, Указателя памяти, Таблицы приоритетов проблемных задач, Списка сообщений оператора, Области связи с Супервизором, флаги состояния таблиц, число Р2 программ в данной конкретной конфигурации Супервизора, полученной при генерации операционной системы, номер задачи, которой Супервизор передал управление, и другая информация. [48]