Cтраница 3
![]() |
Общая функциональная схема ДИСП СРВ. [31] |
По команде RUN ( IPLI, BASIC) ДИСП читает программу абонента из набора данных и транслирует ее во внутреннее представление, которое помещается в область абонента; затем управление передается интерпретатору, выполняющему протранслированную программу. [32]
Планировщик ввода-вывода обслуживает ряд очередей для операций ввода-вывода, организует вызов специальных модулей для выполнения операций ввода-вывода и проверки их завершения, организует смену абонентов в области абонента. Все операции ввода-вывода выполняются в соответствии с приоритетами запросов. Сначала запускаются и анализируются операции ввода-вывода на АП, а затем на устройствах прямого доступа. При необходимости организуется системный обмен. [33]
В другом случае, когда программа считывается в область абонента, меньшую, чем та, в которой она сохранена, может оказаться, что размер области абонента недостаточен, чтобы считать в нее программу. [34]
По истечении кванта времени выполнения программы абонента или при выполнении длительной операции ввода-вывода содержимое области абонента вытесняется из основной памяти в зону полной свертки-развертки, в освобожденную область абонента помещается программа другого абонента из соответствующей зоны. [35]
Системный обмен в ДИСП заключается в записи содержимого области абонента в набор данных системного обмена ( свертке области абонента) и последующем восстановлении области абонента в основной памяти ( развертке области абонента. Необходимость свертки определяет Планировщик ввода-вывода, анализируя по - ступивший из компонента Обработка запрос. Свертка выполняется по истечении кванта времени и при запросе длительных операций ввода-вывода. Перед сверткой информация, необходимая для выполнения операций ввода-вывода, помещается в область ввода-вывода. После завершения операций ввода-вывода планируется развертка областей абонентов в свободные области в основной памяти. [36]
Для выполнения, работ второй группы в системе ведутся очереди на следующие действия: поиск абонента; поиск программы или файла абонента; чтение программы абонента ( чтение контрольной точки); чтение файла абонента; запись программы абонента ( запись контрольной точки); запись файла абонента; полная сверт - ка области абонента ( частичная свертка); развертка области абонента ( частичная развертка); ведение учетной информации. [37]
Для выполнения, работ второй группы в системе ведутся очереди на следующие действия: поиск абонента; поиск программы или файла абонента; чтение программы абонента ( чтение контрольной точки); чтение файла абонента; запись программы абонента ( запись контрольной точки); запись файла абонента; полная сверт - ка области абонента ( частичная свертка); развертка области абонента ( частичная развертка); ведение учетной информации. [38]
Определяет количество и размер областей абонента. Область абонента - часть памяти раздела ДИСП, содержащая программу и данные абонента. Часть области абонента, в которой находятся все используемые в программе константы, переменные и массивы, называется областью данных. ДИСП сама вычисляет размер области данных, соответствующей каждой области абонента. Если это значение не устраивает пользователя, нужно определить размер области данных в команде UA. [39]
Размер области абонента определяется в основном размерами программ, составляемых абонентами. В этой же таблице приводится количество строк текста, которое можно обрабатывать в области абонента заданного размера, предполагая, что средняя длина строк текста 40 знаков. [40]
Размер области абонента, количество абонентских пунктов и используемый язык программирования определяют объем области памяти на дисках, которая должна быть отведена под набор данных системного обмена. В табл. 9 приводится количество дорожек магнитных дисков, необходимое для набора данных системного обмена. [41]
Частичная свертка выполняется при выполнении оператора CALL в программе абонента. Часть области абонента освобождается, в нее помещается вызываемая для выполнения программа. После выполнения оператора CALL выполняется частичная раз - - вертка. [42]
Операнд размер указывается при необходимости экономить место в библиотеке абонента. Значение размера области абонента определяется по рекомендации системного программиста. [43]
Размер области данных всегда должен быть на 2000 байт меньше размера области абонента. Например, для области абонента 10 000 байт может быть указан размер области данных 7200 байт или меньше. [44]
Работы первого типа выполняются в течение кванта времени, выделенного для абонента так, как будто система работает с одним абонентом. Для абонента предоставлены область абонента и время центрального процессора для обработки данных, находящихся в области абонента. Эти работы выполняют модули компонентов Обработка, Трансляция и интерпретация. [45]