Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) ( 97 ) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (97)

<устройство>: <выход>/<список переключателей>: = <устройство> : <вход> / <список переключателей>

Здесь слева направо указываются логическое имя выходного устройства (получателя), имя выходного файла, выходные параметры, логическое имя входного устройства (источника), имя входного файла и входные параметры. Например, после ассемблирования прикладной программы и обнаружения в ней ошибок оператор может запросить вывод на консоль необходимой информации, задавая любые из следующих входных параметров: С - печать листинга; S - печать таблицы имен, определенных пользователем; R - использованные регистры и присвоенные им имена; М - вывод макрокоманд; Р - вывод постоянных символических имен (констант); Е - печать кодов ошибок.

Программные запросы к монитору включают в себя операции с файлами, передачи данных (ввод-вывод) и служебные функции. Примеры таких запросов: .DELETE - удаление файла; .READ - инициирование операции считывания файла; .WRITE - инициирование операции записи файла; TTY -передача одного символа из буфера консоли в определенный регистр процессора; .TTYOUT - передача одного символа в противоположном направлении; .EXIT - возврат управления монитору; .WAIT-ожидание завершения операции ввода-вывода в указанном канале.

Каждый запрос сопровождается необходимыми параметрами.

Через монитор, как указывалось выше, вызываются также системные программы: макроассемблер, трансляторы с языков высокого уровня, редактор текста и др. Каждая из них имеет однозначную мнемонику.

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

Резидентный монитор постоянно находится в основной памяти (обычно по старшим адресам) и организует интерфейс с консолью, обрабатывает внутренние прерывания и управляет системной внешней памятью (системным диском), содержащей другие программы операционной системы. В его составе имеются также таблицы, определяющие :шнфигурацию системы.



Монитор клавиатуры выполняет функции взаимодействия с оператором, главная из которых заключается в интерпретации рассмотренных выше клавишных приказов.

Система управления файлами представляет собой важную часть монитора, поскольку функции всех операционных систем связаны с обработкой файлов. Файл - это физическое представление однородной информации, описывающей набор объектов и имеющей определенное назначение. В большинстве современных ЭВМ файл выступает как основная единица долговременного хранения информации. Он состоит из отдельных записей, содержащих информацию об одном объекте. Пользователь определяет имя файла, которое ассоциируется с действительной идентификацией файла при помощи оглавления, и логическую организацию файла, т. е. формат логических записей. Во внешней памяти хранятся физические файлы, представляющие собой совокупность физических записей, например секторов гибкого диска. В большинстве случаев размеры логических и физических записей не совпадают.

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

По виду информации различают программные файлы и файлы данных, а по форме представления информации - текстовые (символьные) и двоичные файлы. Пример текстового файла - исходная программа на языке ассемблера, пример двоичного файла - объектный модуль.

Имя файла обычно состоит из двух полей, разделяемых точкой. В первом из них содержится собственно имя, определяемое пользователем, а второе поле, содержащее до трех символов и называемое расширением, идентифицирует тип информации. Расширение используется для организации передач и форматирования выхода. Примеры расширений: .OBJ - объектная программа, .ASY - программа иа ассемблере и т. п.

Для удобства некоторых манипуляций файлами в их именах допускаются специальные символы. Звездочка заменяет любые символы в имени и расширении, например ЛВС* идентифицирует все файлы с именем ЛВС и любым расширением. Вопросительный знак заменяет отдельный



Внешняя память

Основная память

Монитор клавиатуры

Младший адрес

Система управления файлами

Интерпретатор командных строк

Драйверы периферийных устройств

Старший адрес

Резидентный монитор

Другие файлы

Рис. 7-7. Программы монитора

символ в имени файла, например имя PROG?. OBJ определяет все файлы объектных программ с пятисимвольными именами, начинающимися с четырех символов PROG.

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

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

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

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



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) ( 97 ) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)