Сетевые операционные системы

 

Большое разнообразие и различие функциональных возможностей ОС больших и малых ЭВМ 70-х – 80-х годов объясняется различием в уровне технических средств этих машин. Значительное увеличение объемов ОП во всех без исключения типах ЭВМ, появление ВЗУ с малым временем доступа и практически неограниченной емкостью позволило, следуя принципу открытых систем, разработать единые требования к ОС:

расширяемость (модульность) – написание кода таким образом, чтобы можно было легко внести дополнения и изменения, не нарушая целостности системы;

переносимость – перенос кода с аппаратной платформы одного типа на аппаратную платформу другого типа;

надежность и отказоустойчивость – защищенность системы как от внутренних, так и от внешних ошибок;

совместимость – ОС должна иметь средства для выполнения прикладных программ, написанных для других ОС;

безопасность – наличие в ОС средств защиты от несанкционированного доступа;

производительность – хорошее быстродействие и время реакции.

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

Рассмотрим некоторые принципиальные особенности перечисленных ОС.

Однопроцессорные ОС имеют традиционный набор модулей (см. разд. 6.2). Управляющие программы являются резидентными и постоянно находятся в ОП. Обрабатывающие программы и утилиты, как правило, располагаются на системных ВЗУ (как и программы пользователей) и по мере необходимости загружаются в ОП. Значительным достижением в развитии локальных ОС явилась реализация конструкции виртуальной памяти и виртуальной машины. Эти концепции были реализованы в конце 70-х годов в ОС фирмы DEC VMS (Virtual Memory System) для ЭВМ VAX и MVS (Multiple Virtual Storage) фирмы IBM для ЭВМ IBM 360. На сегодняшний день практически все ОС (в том числе и для настольных систем) включают элементы виртуальной организации памяти, которая позволяет использование прикладными процессами практически неограниченного объема памяти.

Существует два наиболее распространенных способа реализации виртуальной памяти: страничная (блоки постоянной длины) и сегментная (блоки переменной длины – логические). Эти блоки располагаются во внешней памяти и по мере необходимости загружаются в ОП. Перевод виртуальных адресов (на дисках) в реальные (ОП) называется динамическим преобразованием адресов и выполняется системой прозрачно (невидимо) для пользователя.

ОС для мультипроцессорных систем определяются их конфигурацией.

На рис. 5.6 представлена мультипроцессорная (многомашинная) система со слабо связанными процессорами, которая иногда называется кластерной сетью. Каждый процессор имеет свою собственную ОС с функциями однопроцессорной системы. Некоторое отличие таких ОС от обычных однопроцессорных – возможность посылки запросов и возможность обмена между процессорами.

На рис. 5.7 представлены два возможных способа организации ОС в истинно мультипроцессорных системах (или системах с сильно связанными процессорами). В организации главный-подчиненный (см. рис. 5.7, а) все процессоры могут использовать общие ресурсы ЭВМ – ОП и ВУ. Однако распределением ресурсов занимается только один процессор, что может вызвать его перегрузку и несбалансированность использования ресурсов. Но, тем не менее, организация ОС сравнительно проста и близка к однопроцессорной.

 
 

 


Рис. 5.6. Мультипроцессорные системы со слабо связанными процессорами

 

В симметричных ОС (см. рис. 5.7, б) различные части ОС могут выполняться разными процессорами. Поэтому разработки подобных систем значительно сложнее, однако эффективность использования ресурсов в этой системе может оказаться выше.

 

 

 
 

 


а

 

 

ОС

 

б

 

 

Рис. 5.7. Мультипроцессорные системы с сильно связанными процессорами

с обработкой: а – типа главный-подчиненный; б – симметричной

 

Сетевые ОС получили широкое распространение в связи с повышением распространения локальных вычислительных сетей. Их функциональные возможности значительно больше, чем у автономных ОС.

В сетевой ОС можно выделить:

средства управления локальными ресурсами компьютера – все, что входит в традиционный состав автономной ОС, рассмотренной выше;

средства предоставления собственных ресурсов и услуг в общее пользование – серверная часть ОС (сервер); сюда входят блокировка файлов и записей, необходимая для совместного использования многими абонентами, обработки запросов удаленного доступа, управления очередями и т.п.;

средства запроса доступа к удаленным ресурсам и их использование – клиентская часть (сюда входят распознавание и перенаправление в сеть запросов к удаленным ресурсам, прием ответов от серверов и преобразование их в локальный формат и многое другое);

коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети – адресация, буферизация, маршрутизация и т.п.

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

Определенными сетевыми функциональными возможностями обладают все современные локальные ОС. Даже в такой скромной по своим возможностям MS-DOS, начиная с третьей версии появились такие встроенные функции, как блокировка файлов и записей, необходимые для совместного доступа к файлам.

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

На практике сложились два основных подхода к построению сетевых ОС в зависимости от распределения функций между компьютерами сети. Сетевые ОС, а следовательно, и сети делятся на два класса: одноранговые сети и сети с выделенными серверами.

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

На выделенных серверах устанавливаются ОС, специально организованные для вы­полнения тех или иных серверных функций. Поэтому в сетях с выделенными серверами чаще всего используются сетевые ОС, отличающиеся возможностями серверных частей. Например, сетевая ОС Novell NetWare имеет серверный вариант, оптимизированный для работы в качестве файл-сервера, а также варианты оболочек для рабочих станций с различными локальными ОС (DOS, Macintosh, OS/2, UNIX, Windows). Другой пример ОС, ориентированной на построение сети с выделенным сервером, – ОС Windows NT. В отличие от NetWare оба варианта данной сетевой ОС – Windows NT Server (для выделенных серверов) и Windows NT Workstation (для рабочей станции) могут поддерживать функции и клиента, и сервера. Но серверный вариант Windows NT имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети (выполняет более широкий набор функций, поддерживает большое количество одновременных соединений с клиентами, имеет развитые средства защиты). В качестве локальных ОС могут использоваться также DOS, OS/2, Macintosh и др.

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

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга: каждый пользователь может объявить какой-либо ресурс своего компьютера разделяемым. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workstation, Windows NT Workstation.

Одноранговые сети проще в организации и эксплуатации, однако они применяются, в основном, для объединения небольших групп пользователей, не предъявляющих больших требований к объемам хранимой информации, ее защищенности от несанкционированного доступа и скорости доступа. При повышенных требованиях к этим характеристикам более подходящими являются сети с выделенными серверами, которые в ряде случаев обеспечивают наиболее эффективный режим работы сети, называемый клиент-сервер. В этом режиме работа сети распределяется между машиной клиента (который формирует запрос на обработку и принимает его результаты) и сервером, производящим требуемую обработку значительно быстрее ввиду значительно больших, чем у клиента, ресурсов и производительности.

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

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

Основы стандартов в области безопасности сетевых ОС сформулированы в «Критериях оценки безопасности компьютерных систем», разработанных в 1983 г. Национальным центром компьютерной безопасности США (NCSC – National Computer Security Center).

В соответствии с иерархией надежности систем, нижний уровень помечается как D, а верхний – как А:

в класс D попадают системы, оценка которых выявила их несоответствие требованиям всех других классов;

уровень C делится на два подуровня – уровень С1, предохраняющий данные от ошибок пользователей, но не от действий злоумышленников, и более строгий уровень – C2 (на уровне С2 должны присутствовать средства секретного входа и контроля перед тем, как им будет разрешен доступ к системе, средства учета и наблюдения (auditilly) обеспечивают возможность обнаружить и зафиксировать важные события, связанные с безопасно­стью или любые попытки создать, получить доступ или удалить системные ресурсы и т.п.);

системы уровня B основаны на помеченных данных и распределении пользователей по категориям, т.е. реализуется мандатный контроль доступа (каждому пользователю присваивается рейтинг защиты и он может получать доступ к данным только в соответствии с этим рейтингом);

уровень А является самым высоким уровнем безопасности – он требует в дополнение ко всем требованиям уровня B выполнения формального, математически обоснованного доказательства соответствия системы требованиям безопасности.