Функции операционных систем в среде реального времени
Операционная система (ОС) — это сложный программный продукт, предназначенный для управления аппаратными и программными ресурсами вычислительной системы. Она предоставляет каждому процессу виртуальную (логическую) среду, включающую в себя время процессора и память. "Виртуальная среда" — это концептуальное понятие. Ее характеристики могут как совпадать, так и не совпадать с параметрами реального оборудования.
Многозадачность сейчас доступна почти на всех типах ЭВМ, и ее поддержка является одной из основных характеристик таких операционных систем, как 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!