Функции, общие для нескольких прикладных программ

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

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

В среду выполнения включают:

· функции, которые с наибольшей вероятностью и частотой будут использоваться более чем одной программной смеси;

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

Системные функции.

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

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

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

Глобальные функции.

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

· переключение ЦПр с программы на программу;

· подкачка частей программ из внешней памяти в основную;

· сбор статистики о нагрузке на каждый из системных компонентов;

· оценка скорости прохождения заданий в системе с целью внесения необходимых изменений в последовательность ее работы (например, корректировка приоритетов задач и др.).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: