Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Выполнение задач под управлением ОС РВ
Чтобы задача могла выполняться, она, естественно, должна быть загружена в ОЗУ. В отличие от современных систем, поддерживающих виртуальную память, ОС РВ всегда загружает задачу в память полностью. Это вызвано особенностями архитектуры СМ ЭВМ, не позволяющей заносить в память только требуемые страницы. Вся оперативная память делится на разделы. В зависимости от назначения можно отметить раздел управляющей программы, разделы драйверов внешних устройств и раздел регистров устройств, используемых самой системой, а также разделы, используемые задачами: общие разделы, разделы, управляемые пользователем, и разделы, управляемые системой. Общие разделы содержат код или данные, доступные для обращения к ним нескольких задач сразу. Обычной практикой является создание резидентных библиотек объектных модулей. Все задачи, использующие модули, имеющиеся в таких библиотеках, могут работать с одной общей копией каждого модуля вместо того, чтобы включать копии модулей в свой собственный код. Однако если по каким-либо причинам общая библиотека не будет загружена в память или будет загружена по адресам, не совпадающим с первоначальными, задача, использующая эту библиотеку, не сможет быть запущена. Разделы, управляемые пользователем, предназначены для выполнения задач. Они прямо или косвенно создаются и уничтожаются пользователем. В каждом разделе может решаться только одна задача, предназначенная для выполнения именно в этом разделе. Задача, построенная для другого раздела, выполнена быть не может, так как разделы имеют разные адреса. Разделы, управляемые системой, могут использоваться только в системе с диспетчером памяти. ОС РВ при запуске задачи выделяет из такого раздела подраздел, предназначенный для выполнения данной задачи, а по ее завершении возвращает выделенную память. С помощью аппаратуры диспетчера памяти система обеспечивает правильность адресации задачи независимо от ее физического размещения в памяти. Таким образом, использование системно-управляемых разделов освобождает пользователя от необходимости заботиться о распределении памяти между задачами. Он может даже не подозревать о существовании разделов и об особенностях механизмов управления памятью в ОС РВ. Чтобы обеспечить параллельное выполнение нескольких задач, использующих один и тот же раздел памяти, ОС РВ поддерживает выгрузку задач. При применении этого механизма задача через определенный интервал времени переписывается на диск, а на ее место загружается новая задача, которая, в свою очередь, переписывается на диск по истечении выделенного для нее времени работы, и т. д. Небольшие требования задач в ОС РВ к объему памяти позволяют производить выгрузку и повторную загрузку за весьма небольшое время. Конечно, выгрузка тех или иных задач может быть запрещена, что особенно важно для задач управления технологическими процессами. В системно-управляемых разделах также возможна выгрузка, но по своему прямому назначению она используется редко, так как машины, оборудованные диспетчером памяти, содержат обычно достаточный объем ОЗУ для одновременного размещения нескольких задач. Основным назначением выгрузки в системно-управляемых разделах является уплотнение памяти, "дыры" в которой образуются каждый раз при завершении задачи. Процессорное время между задачами распределяется по очереди с учетом их приоритетов. Никакая задача не может монополизировать процессор, "подвесив" тем самым остальные задачи. Для обеспечения равноправия между задачами с одинаковым приоритетом и для гарантии быстрой реакции высокоприоритетных задач на внешние события используются механизмы свопинга, круговой диспетчеризации и важных событий, которые здесь не рассматриваются. Свопинг и круговая диспетчеризация могут не включаться в систему при генерации, что позволяет сократить размер управляющей программы, но обычно является нежелательным. Переключение между задачами происходит весьма быстро, что обеспечивает отличное время реакции системы. В системах с многопользовательской защитой задачи делятся на привилегированные и непривилегированные. Привилегированные задачи могут выполнять потенциально опасные действия, в частности переключаться в режим ядра и напрямую работать со структурами данных системы. Непривилегированные задачи лишены такой возможности, а поэтому не могут вызвать неполадки в работе системы.
|
Последнее изменение этой страницы: 2019-04-21; Просмотров: 202; Нарушение авторского права страницы