4.
Особенности методов
построения
При описании
операционной системы часто указываются
особенности ее структурной организации
и основные концепции, положенные в
ее основу.
К таким
базовым концепциям относятся:
- Способы построения
ядра системы - монолитное ядро или микроядерный
подход. Большинство ОС использует монолитное
ядро, которое компонуется как одна программа,
работающая в привилегированном режиме
и использующая быстрые переходы с одной
процедуры на другую, не требующие переключения
из привилегированного режима в пользовательский
и наоборот. Альтернативой является построение
ОС на базе микроядра, работающего также
в привилегированном режиме и выполняющего
только минимум функций по управлению
аппаратурой, в то время как функции ОС
более высокого уровня выполняют специализированные
компоненты ОС - серверы, работающие в
пользовательском режиме. При таком построении
ОС работает более медленно, так как часто
выполняются переходы между привилегированным
режимом и пользовательским, зато система
получается более гибкой - ее функции можно
наращивать, модифицировать или сужать,
добавляя, модифицируя или исключая серверы
пользовательского режима. Кроме того,
серверы хорошо защищены друг от друга,
как и любые пользовательские процессы.
- Построение
ОС на базе объектно-ориентированного
подхода дает возможность использовать
все его достоинства, хорошо зарекомендовавшие
себя на уровне приложений, внутри операционной
системы, а именно: аккумуляцию удачных
решений в форме стандартных объектов,
возможность создания новых объектов
на базе имеющихся с помощью механизма
наследования, хорошую защиту данных за
счет их инкапсуляции во внутренние структуры
объекта, что делает данные недоступными
для несанкционированного использования
извне, структуризованность системы, состоящей
из набора хорошо определенных объектов.
- Наличие нескольких
прикладных сред дает возможность в рамках
одной ОС одновременно выполнять приложения,
разработанные для нескольких ОС. Многие
современные операционные системы поддерживают
одновременно прикладные среды MS-DOS, Windows,
UNIX (POSIX), OS/2 или хотя бы некоторого подмножества
из этого популярного набора. Концепция
множественных прикладных сред наиболее
просто реализуется в ОС на базе микроядра,
над которым работают различные серверы,
часть которых реализуют прикладную среду
той или иной операционной системы.
- Распределенная
организация операционной системы позволяет
упростить работу пользователей и программистов
в сетевых средах. В распределенной ОС
реализованы механизмы, которые дают возможность
пользователю представлять и воспринимать
сеть в виде традиционного однопроцессорного
компьютера. Характерными признаками
распределенной организации ОС являются:
наличие единой справочной службы разделяемых
ресурсов, единой службы времени, использование
механизма вызова удаленных процедур
(RPC) для прозрачного распределения программных
процедур по машинам, многонитевой обработки,
позволяющей распараллеливать вычисления
в рамках одной задачи и выполнять эту
задачу сразу на нескольких компьютерах
сети, а также наличие других распределенных
служб.
5.
Сетевые операционные
системы
Структура
сетевой операционной
системы
Сетевая
операционная система составляет основу
любой вычислительной сети. Каждый
компьютер в сети в значительной степени
автономен, поэтому под сетевой операционной
системой в широком смысле понимается
совокупность операционных систем отдельных
компьютеров, взаимодействующих с целью
обмена сообщениями и разделения ресурсов
по единым правилам - протоколам. В узком
смысле сетевая ОС - это операционная система
отдельного компьютера, обеспечивающая
ему возможность работать в сети.
Рис. 1.1.
Структура сетевой
ОС
В сетевой
операционной системе отдельной
машины можно выделить несколько
частей (рисунок 1.1):
- Средства
управления локальными ресурсами компьютера:
функции распределения оперативной памяти
между процессами, планирования и диспетчеризации
процессов, управления процессорами в
мультипроцессорных машинах, управления
периферийными устройствами и другие
функции управления ресурсами локальных
ОС.
- Средства
предоставления собственных ресурсов
и услуг в общее пользование - серверная
часть ОС (сервер). Эти средства обеспечивают,
например, блокировку файлов и записей,
что необходимо для их совместного использования;
ведение справочников имен сетевых ресурсов;
обработку запросов удаленного доступа
к собственной файловой системе и базе
данных; управление очередями запросов
удаленных пользователей к своим периферийным
устройствам.
- Средства
запроса доступа к удаленным ресурсам
и услугам и их использования - клиентская
часть ОС (редиректор). Эта часть выполняет
распознавание и перенаправление в сеть
запросов к удаленным ресурсам от приложений
и пользователей, при этом запрос поступает
от приложения в локальной форме, а передается
в сеть в другой форме, соответствующей
требованиям сервера. Клиентская часть
также осуществляет прием ответов от серверов
и преобразование их в локальный формат,
так что для приложения выполнение локальных
и удаленных запросов неразличимо.
- Коммуникационные
средства ОС, с помощью которых происходит
обмен сообщениями в сети. Эта часть обеспечивает
адресацию и буферизацию сообщений, выбор
маршрута передачи сообщения по сети,
надежность передачи и т.п., то есть является
средством транспортировки сообщений.
В зависимости
от функций, возлагаемых на конкретный
компьютер, в его операционной системе
может отсутствовать либо клиентская,
либо серверная части.
На рисунке
1.2 показано взаимодействие сетевых
компонентов. Здесь компьютер 1 выполняет
роль "чистого" клиента, а компьютер
2 - роль "чистого" сервера, соответственно
на первой машине отсутствует серверная
часть, а на второй - клиентская. На рисунке
отдельно показан компонент клиентской
части - редиректор. Именно редиректор
перехватывает все запросы, поступающие
от приложений, и анализирует их. Если
выдан запрос к ресурсу данного компьютера,
то он переадресовывается соответствующей
подсистеме локальной ОС, если же это запрос
к удаленному ресурсу, то он переправляется
в сеть. При этом клиентская часть преобразует
запрос из локальной формы в сетевой формат
и передает его транспортной подсистеме,
которая отвечает за доставку сообщений
указанному серверу. Серверная часть операционной
системы компьютера 2 принимает запрос,
преобразует его и передает для выполнения
своей локальной ОС. После того, как результат
получен, сервер обращается к транспортной
подсистеме и направляет ответ клиенту,
выдавшему запрос. Клиентская часть преобразует
результат в соответствующий формат и
адресует его тому приложению, которое
выдало запрос.
Рис. 1.2.
взаимодействие компонентов
операционной системы
при взаимодействии
компьютеров
На практике
сложилось несколько подходов к
построению сетевых операционных систем
(рисунок 1.3).
Рис. 1.3.
Варианты построения
сетевых ОС
Первые
сетевые ОС представляли собой совокупность
существующей локальной ОС и надстроенной
над ней сетевой
оболочки. При этом в локальную ОС встраивался
минимум сетевых функций, необходимых
для работы сетевой оболочки, которая
выполняла основные сетевые функции. Примером
такого подхода является использование
на каждой машине сети операционной системы
MS DOS (у которой начиная с ее третьей версии
появились такие встроенные функции, как
блокировка файлов и записей, необходимые
для совместного доступа к файлам). Принцип
построения сетевых ОС в виде сетевой
оболочки над локальной ОС используется
и в современных ОС, таких, например, как
LANtastic или Personal Ware.
Однако
более эффективным представляется
путь разработки операционных систем,
изначально предназначенных для работы
в сети. Сетевые функции у ОС такого типа
глубоко встроены в основные модули
системы, что обеспечивает их логическую
стройность, простоту эксплуатации и модификации,
а также высокую производительность. Примером
такой ОС является система Windows NT фирмы
Microsoft, которая за счет встроенности сетевых
средств обеспечивает более высокие показатели
производительности и защищенности информации
по сравнению с сетевой ОС LAN Manager той же
фирмы (совместная разработка с IBM), являющейся
надстройкой над локальной операционной
системой OS/2.