Скачиваний:
67
Добавлен:
08.06.2015
Размер:
125.95 Кб
Скачать

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

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

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

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

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

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

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

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

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

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