Файл: Левковиц, Д. Структуры информационных массивов оперативных систем.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 64

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Если система может обрабатывать запросы с терми­

налов в режиме распределения времени, то

Исполнитель

дополнительно планирует (на приоритетной

основе) вы­

зов подпрограмм в соответствии с заранее определенным

алгоритмом распределения

времени.

Вопрос

о том,

кто

д о л ж е н

реагировать .в Операционной

 

системе

(ОС)

на

прерывания программ В-В:

Исполнитель

или

иницииру­

ющие

подпрограммы — решает

'разработчик

системы.

Это 'решение обычно зависит от

алгоритма распределе­

ния времени и от свойств данной информационной

систе­

мы. Н а п р и м е р , если система

общего

назначения

исполь­

зуется

в качестве информационной

системы и ее подпро­

граммы не перемещаются из оперативной .памяти в пе­ риферийную во в р е м я исполнения одной из подпрограмм,

то

проще иметь

подпрограмму,

выполняющую

операции

В-В

с помощью

ОС.

С другой

стороны, если

рассматри ­

вается

более с л о ж н а я система

с распределением

време ­

ни,

в которой подпрограммы могут прерываться

Опера­

тивным

исполнителем

и удаляться из оперативной

памя ­

ти,

то операция В-В

д о л ж н а обслуживаться

Исполните­

лем

(так как ответ

на прерывание может потребоваться

в то время, когда подпрограмма временно находится вне оперативной п а м я т и ) . Подобно этому, если информаци ­ онная система сама выполняет определенные функции внутри большой системы с распределением времени, для упрощения общесистемного исполнителя м о ж н о передать

функции В-В Оперативному

исполнителю.

 

 

Программа

В-В

собирает в

буферной

памяти

посту­

пающие сообщения в ф а й л Fe и передает

с помощью ОС

через

ее

Исполнитель

ответы из

того ж е

ф а й л а

 

обратно

на терминал. Исполнитель

является

переключающим ме­

ханизмом, осуществляющим связь м е ж д у

ОС и

 

Програм­

мой

В-В

(6)

и между

Программой

В-В

и

Интерпре­

татором

запросов.

В

обоих

случаях

Исполнитель

либо совсем не работает, либо работает очень

малое

время.

 

 

 

 

 

 

 

 

 

Программа

В-В

вводит символ

или строку

входного

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

вода может в действительности выполняться

ОС. Д а н н ы е

заносятся

Программой

В-В в

ф а й л ввода на

быстродей­

ствующее

З У П Д

типа

б а р а б а н а

или диска.

Полностью

накопив

вводимое

сообщение

и

восприняв

сигнал «за-

26


прос на

исполнение»,

Программа

В-В

указывает

Испол­

нителю

о готовности

передать

данные

Интерпретатору

запросов

(3).

 

 

 

 

 

Фуіжция Интерпретатора запросов

состоит в

подго­

товке различных частей запроса

для

последующей

обра­

ботки. Некоторые из этих частей

содержат

у п р а в л я ю щ у ю

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

выводных терминальных устройств.

В других частях за­

проса с о д е р ж а т с я о б р а б а т ы в а е м ы е

данные. Различные

части объединяются для обработки последующими про­

граммами . Процессор

запросов

может т а к ж е

выполнять

синтаксическую прозерку

операторов.

Сообщения

об

ошибках передаются при помощи Программы

В-В

обрат­

но

на терминал .

 

 

 

 

 

 

 

 

 

 

Интерпретатор

запросов

может

иметь доступ

к

тем

подфайлам в З У П Д ,

которые

содержат:

коды

доступа

к

ф а й л а м , определения

терминов

пользователя,

сино­

нимы и

имена программ,

а т а к ж е

универсальные

сино­

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

к

ф а й л а м F3

используются д л я указания, какие

ф а й л ы в Fi доступны

данному

запросу

(если в

системе

есть

т а к а я з а щ и т а ) .

Подфайл FiL содержит определения некоторых терминов, синонимы и имена программ, которые были специально указаны данным пользователем или группой пользовате­ лей системы. Имеется дополнительный набор универ­ сальных синонимов и имен программ, которые являются общими и доступными всем пользователям системы. Этот набор хранится в подфайле F 5. Назначение синонимов заключается в предоставлении пользователям более ши­ рокого или свободного словаря, с помощью которого тер­ мины из списка синонимов транслируются в авторские

термины из Справочника

 

ключей

(F2).

 

 

 

Интерпретатор

запросов

связан с Исполнителем

хра­

нения

и поиска

в р е ж и м е

распределения

времени,

кото­

рый

состоит из двух супервизоров: Супервизора

 

заданий

(блок 4.1)

и Супервизора

файлов

(4.2).

Единственная

функция

Супервизора

файлов

состоит в

предоставлении

Fi доступа к подфайлу или списку записей

в соответст­

вии с логическим выражением и заданной

специфика­

цией, представленными

в

запросе. Д л я этой

цели

он ис­

пользует блок 5

(Декодирование

 

справочников),

который

декодирует выражение, а кроме того, отыскивает

адреса

записей и предварительную

информацию

в

Справочнике


ключей (F2). Предварительную информацию

Можі-іо

сразу

передать

пользователю

(блоки 4.2—4.1 —

Исполни­

тельная

область

запросов

(ИОЗ)—Программа

вывода

(помещает предварительную информацию на диск) —

Системный исполнитель —

ОС — т е р м и н а л ) .

Супервизор

файлов

(4-2) т а к ж е м о ж е т

модифицировать

и обновлять

записи в Fi, а с помощью блока 5 обновлять

Справочник

одновременно

с

оперативным

обновлением

файла .

 

Су­

первизор

заданий

(блок

4.1)

р а з м е щ а е т

задание

(т.

е.

запрос)

в ИОЗ

в оперативной

памяти или

на

диске

в

за­

висимости от загруженности оперативной памяти и от

действий

Супервизора

файлов,

обслуживающего р а з н ы е

запросы.

Когда

Супервизор

заданий

передает найденную

запись в

данную ИОЗ,

он

вызывает

выбор

Прикладной

программы

(7),

определенной

Интерпретатором

запро­

сов. З а т е м он передает

управление прикладной

програм ­

ме с присоединением данных, находящихся в соответст­

вующей

ИОЗ.

Д л я

обработки к а ж д о г о

запроса

м о ж е т

потребоваться

несколько

прикладных

программ . Т а к

к а к

в системе в целом таких программ

может

оказаться-

мно­

го, то их можно хранить в специально выделенном

 

Фай­

ле программ

 

( F T ) . Более того,

при

обработке

запрос

обычно

требуется

найти

несколько

записей. И х можно

объединять и хранить в Транзитном

файле

(FE), к кото­

рому имеет

доступ

Прикладная

программа.

Н а п р и м е р ,

некоторая

П р и к л а д н а я

программа

может

сортировать

файл разыскиваемых записей, причем в этом случае все

разыскиваемые

записи

надо

хранить в

Транзитном

файле. Записи,

определяемые

Прикладной

программой

для вывода,

передаются

из ИОЗ в

Программу

вывода,

собираются в

Выходном

файле

(F%)

и затем

передаются

на терминал

или на печать.

 

 

 

В некоторых системах разным запросам могут соот­ ветствовать существенно различные наборы выходных

данных. В этом

случае

(при

наличии

разнообразных

устройств вывода с разными скоростями

печати

или

отображения) можно использовать

другой

в и д управле ­

ния, показанный

на рис. 1-3 пунктирной линией,

идущей

от блока 6 к блоку 4.1. Если некоторому запросу

требует­

ся больший объем п а м я т и Файла

вывода,

чем был

пред­

варительно определен, то

Программа

В-В

посылает

сиг­

нал Супервизору

заданий-

Этот

Супервизор

приостанав­

ливает активное выполнение задания до

момента

р а з ­

грузки выходной

буферной памяти . После

освобождения

28


буферной памяти вновь начинается выполнение приоста­

новленного

задания .

Внешне

эта в р е м е н н а я

остановка

выполнения

з а д а н и я

никогда

ие ощущается,

так .как од­

новременно

из выходной буферной памяти продолжается

вывод. Однако, если в течение некоторого времени опе­ ративное использование достигает такого уровня, что задание нельзя возвратить для исполнения, будет замет­

на существенная

з а д е р ж к а s выводе .

 

 

 

Иногда, когда оперативная и фоновая нагрузки ие

Могут полностью'

загрузить процессор, Оперативный

ис­

полнитель

(1.2)

может

в ы з в а т ь

д л я

исполнения

блок

8

(Обслуживание

фоновых

файлов).

Этот блок

создает

в ф а й л а х

новое пространство. Необходимость такого про­

странства

объясняется

увеличением

р а з м е р о в

записей

при оперативных обновлениях. В результате некоторые записи могут удаляться из их текущих местоположений и помещаться в другом месте. Получившиеся т а к и м об­ разом островки пространства трудно использовать; сле­ довательно, желательно иметь программу, которая мо­ жет периодически собирать это пространство и предо­

ставлять

его д л я новых записей. Т а к а я программа м о ж е т

работать

в весьма

небольшие

интервалы времени

(по­

рядка нескольких

секунд или

долен секунды) . Поэтому

при неожиданном

увеличении

оперативной нагрузки

вы ­

полнение этой программы можно завершить, причем файл останется в полностью подготовленном состоянии. На рис. 1-3 эта программа находится в блоке 8 и обес­

печивает

фоновое обслуживание ф а й л о в . Эта

программа

в

дальнейшем

будет

называться

программой

«очистка

пространства».

 

 

 

 

 

 

 

 

 

Из рис. 1-3 м о ж н о выделить основную систему, содер­

ж а щ у ю

только

подпрограммы

Промежуточный

 

файл

и

Справочник

 

(такое

выделение

возможно

ввиду

функ­

циональной

независимости компонентов

программного

обеспечения). Эта система показана на рис. 1-4.

В

ре­

зультате

аналогичного

преобразования

блок-схемы

на рис.

1-3

получены

 

блок-схемы на рис. 1-5

и

1-6.

В

них

т а к ж е

можно

выделить следующие

четыре

системы:

 

 

 

 

 

 

 

 

 

 

 

1)

основная

система

поиска (рис. 1-4);

 

 

 

 

 

2)

работа

с

расширением Интерпретатора

 

запросов

ис единственным терминалом (рис. 1-5);

3)работа со многими терминалами с единственным заданием (рис. 1-6);

29