Файл: Левковиц, Д. Структуры информационных массивов оперативных систем.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