Функции операционных систем в среде реального времени



Операционная система (ОС) — это сложный программный продукт, предназначенный для управления аппаратными и программными ресурса­ми вычислительной системы. Она предоставляет каждому процессу виртуальную (логическую) среду, включающую в себя время процессора и память. "Виртуальная среда" — это концептуальное понятие. Ее характеристики могут как совпадать, так и не совпадать с параметрами реального оборудования.

Многозадачность сейчас доступна почти на всех типах ЭВМ, и ее поддержка является одной из основных характеристик таких операционных систем, как UNIX и Windows NT. В первую очередь многозадачность должна обеспечивать распределение и защиту ресурсов. Первоначальной целью создания многозадачных систем, или систем разделения времени (time-sharing systems), было желание обеспечить одновременный доступ нескольких пользователей к дорогим вычислительным ресурсам и, соответственно, разделить между ними эксплуатационные расходы, т. е.повысить экономическую эффективность оборудования. В системах реального времени целью многозадачного режима является изоляция друг от друга разных операций и распределение рабочей нагрузки между отдельными программными модулями. Единственным "пользователем" в этом случае является управляемая система.

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

Распределенные операционные системы

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

Различия хорошо видны на примере операции копирования файла, приведенного на рис. 10.4. Предположим, что на станции 3 выдана команда скопировать файл со станции 1 на станцию 2. При такой операции блоки обычно считываются из файла-источника в буфер в памяти станции, выполняющей копирование, а затем копи­руются в файл-приемник. Если хотя бы один из файлов (либо источник, либо прием­ник) расположен на станции, с которой была выдана команда копирования, то описанный алгоритм вполне приемлем, однако при работе в сети, когда в опера­ции принимают участие три станции, возможен другой подход. Простейшая сетевая операционная система перенаправляет запросы ввода/вывода не к локальным, а к удаленным устройствам. Данные сначала копируются со станции 1 в промежу­точный буфер на станции 3, а затем посылаются на станцию 2. Локальная команда Сору "ничего не знает" о том, что работает с удаленными файлами, поскольку за то, к какому устройству — локальному или удаленному — перенаправить запрос, отвечает сетевая операционная система. Такой механизм порождает явно избыточный тра­фик в сети.

Распределенная операционная система высокого уровня работает совершенно ина­че. Станция 3 лишь инициирует процесс копирования, в котором в дальнейшем уча­ствуют только станции 1 и 2; данные вообще не попадают на станцию 3 — она лишь получает информацию о результате завершения операции. Очевидно, что в этом слу­чае объем трафика и время выполнения операции уменьшаются примерно вдвое.

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

К операционным системам, используемым в распределенных средах, относятся UNIX, OSF/1 и Windows NT, которые будут рассмотрены более подробно в следую­щих разделах этой главы.


Дата добавления: 2018-04-04; просмотров: 279; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!