Сетевые оболочки создаются
как для локальных, так и
для сетевых операционных систем.
Действительно, почему бы не
дополнить набор сетевых служб,
встроенных в сетевую ОС, другими
службами, составляющими некоторую
сетевую оболочку. Например, сетевая
оболочка ENS (Enterprise Network Services), содержащая
базовый набор сетевых служб
операционной системы Banyan VINES, может
работать над сетевыми ОС UNIX и
NetWare (конечно, для каждой из
этих операционных систем требуется
собственный вариант ENS).
Существует и третий способ
реализации сетевой службы —
в виде отдельного продукта. Например,
сервер удаленного управления WinFrame
— продукт компании Citrix — предназначен
для работы в среде Windows NT. Он
дополняет возможности встроенного
в Windows NT сервера удаленного доступа
Remote Access Server. Аналогичную службу
удаленного доступа для NetWare также
можно приобрести отдельно, купив
программный продукт NetWare Connect.
С течением времени сетевая
служба может получить разные
формы реализации. . Так, например,
компания Novell планирует поставлять
справочную службу NDS, первоначально
встроенную в сетевую ОС NetWare,
для других ОС. Для этого служба
NDS будет переписана в виде
отдельных продуктов, каждый из
которых будет учитывать специфику
соответствующей ОС. Уже имеются
версии NDS для работы в средах
SCO UNIX и HP-UX, Solaris 2.5 и Windows NT. А справочная
служба StreetTalk уже давно существует
и в виде встроенного модуля
сетевой ОС Bayan Vines, и в составе
оболочки ENS, и в виде отдельного
продукта для различных операционных
систем.
Одноранговые и серверные
сетевые операционные системы
В зависимости от того, как
распределены функции между компьютерами
сети, они могут выступать в
трех разных ролях:
компьютер, занимающийся исключительно
обслуживанием запросов других
компьютеров, играет роль выделенного
сервера сети;
компьютер, обращающийся с
запросами к ресурсам другой
машины, исполняет роль клиентского
узла;
компьютер, совмещающий функции
клиента и сервера, является одноранговым
узлом.
Очевидно, что сеть не может
состоять только из клиентских
или только из серверных узлов.
Сеть, оправдывающая свое назначение
и обеспечивающая взаимодействие
компьютеров, может быть построена
по одной из трех следующих
схем:
сеть на основе одноранговых узлов
— одноранговая сеть;
сеть на основе клиентов
и серверов — сеть с выделенными
серверами;
сеть, включающая узлы всех
типов, — гибридная сеть.
Каждая из этих схем обладает
своими достоинствами и недостатками,
определяющими их области применения.
ОС в одноранговых сетях
В одноранговых сетях (рис. 2.4) все компьютеры
равны в возможностях доступа
к ресурсам друг друга. Каждый пользователь
может по своему желанию объявить
какой-либо ресурс своего компьютера разделяемым,
после чего другие пользователи могут
его использовать. В одноранговых
сетях на всех компьютерах устанавливается
такая операционная система, которая
предоставляет всем компьютерам
в сети потенциально равные возможности.
Сетевые операционные системы такого
типа называются одноранговыми ОС.
Очевидно, что одноранговые ОС должны
включать как серверные, так и
клиентские компоненты сетевых служб
(на рисунке они обозначены буквами
соответственно С и К). Примерами
одноранговых ОС могут служить LANtastic, Personal
Ware, Windows for Workgroups, Windows NT Workstation, Windows 95/98.
Рис. 2.4. Одноранговая сеть
При потенциальном равноправии
всех компьютеров в одноранговой
сети часто возникает функциональная
несимметричность. Обычно в сети
имеются пользователи, которые не
желают предоставлять свои ресурсы
в совместное пользование. В
таком случае серверные возможности
их операционных систем не
активизируются и компьютеры
выполняют роль «чистых» клиентов
(на рисунке неиспользуемые компоненты
ОС изображены затемненными).
В то же время администратор
может закрепить за некоторыми
компьютерами сети только функции
по обслуживанию запросов остальных
компьютеров, превратив их таким
образом в «чистые» серверы,
за которыми не работают пользователи.
В такой конфигурации одноранговые
сети становятся похожи на
сети с выделенными серверами,
но это только внешняя схожесть
— между этими двумя типами
сетей остается существенное
внутреннее различие. Изначально
в одноранговых сетях специализация
ОС не зависит от того, какую
функциональную роль выполняет
компьютер — клиента или сервера.
Изменение роли компьютера в
одноранговой сети достигается
за счет того, что функции серверной
или клиентской частей просто
не используются.
Одноранговые сети проще
в организации и эксплуатации,
по этой схеме организуется
работа в небольших сетях, в
которых количество компьютеров
не превышает 10-20. В этом случае
нет необходимости в применении
централизованных средств администрирования
— нескольким пользователям нетрудно
договориться между собой о
перечне разделяемых ресурсов
и паролях доступа к ним.
Однако в больших сетях
средства централизованного администрирования,
хранения и обработки данных,
а особенно защиты данных становятся
необходимыми, и такие возможности
легче обеспечить в сетях с
выделенными серверами.
ОС в сетях с выделенными
серверами
В сетях с выделенными
серверами (рис. 2.5) используются
специальные варианты сетевых
ОС, которые оптимизированы для
работы в роли серверов и
называются серверными ОС. Пользовательские
компьютеры в этих сетях работают
под управлением клиентских ОС.
Рис. 2.5. Сеть с выделенными серверами
Специализация операционной
системы для работы в качестве
сервера является естественным
способом повышения эффективности
серверных операций. А необходимость
такого повышения часто ощущается
весьма остро, особенно в крупной
сети. При существовании в сети
сотен или даже тысяч пользователей
интенсивность запросов к совместно
используемым ресурсам может
быть очень большой, и сервер
должен справляться с этим
потоком запросов без больших
задержек. Очевидным решением этой>
проблемы является использование
в качестве сервера компьютера
с мощной аппаратной платформой
и операционной системой, оптимизированной
для серверных функций.
Чем меньше функций выполняет
ОС, тем более эффективно можно
их реализовать, поэтому для
оптимизации серверных операций
разработчики ОС вынуждены ущемлять
некоторые другие ее функции,
причем иногда вплоть до полного
их отбрасывания. Одним из ярких
примеров такого подхода является
серверная ОС NetWare. Ее разработчики
поставили перед собой цель
оптимизировать выполнение файлового
сервиса и сервиса печати. Для
этого они полностью исключили
из системы многие элементы, важные
для универсальной ОС, в частности
графический интерфейс пользователя,
поддержку универсальных приложений,
защиту приложений мультипрограммного
режима друг от друга, механизм
виртуальной памяти. Все это позволило
добиться уникальной скорости
файлового доступа и вывело
эту операционную систему в
лидеры серверных ОС на долгое
время.
Однако слишком узкая специализация
некоторых серверных ОС является
одновременно и их слабой стороной.
Так, отсутствие в NetWare универсального
интерфейса программирования и
средств защиты приложений не
позволяет использовать ее в
качестве среды для выполнения
приложений, приводит к необходимости
включения в сеть других серверных
ОС, когда требуется выполнение
функций, отличных от файлового
сервиса и сервиса печати.
Поэтому разработчики многих
серверных операционных систем
отказываются от функциональной
ограниченности и включают в
состав серверных ОС все компоненты,
позволяющие использовать их
в качестве универсального сервера
и даже в качестве клиентской
ОС. Такие серверные ОС снабжаются
развитым графическим пользовательским
интерфейсом и поддерживают универсальный
API. Это сближает их с одноранговыми
операционными системами, но существует
несколько отличий, которые оправдывают
отнесение их к классу серверных
ОС:
поддержка мощных аппаратных
платформ, в том числе мультипроцессорных;
поддержка большого числа
одновременно выполняемых процессов
и сетевых соединений;
включение в состав ОС
компонентов централизованного
администрирования сети (например,
справочной службы или службы
аутентификации и авторизации
пользователей сети);
более широкий набор сетевых
служб.
Клиентские операционные системы
в сетях с выделенными серверами
обычно освобождены от серверных
функций, что значительно упрощает
их организацию. Разработчики
клиентских ОС уделяют основное
внимание пользовательскому интерфейсу
и клиентским частям сетевых
служб. Наиболее простые клиентские
ОС поддерживают только базовые
сетевые службы — обычно файловую
службу и службу печати. В то
же время существуют так называемые
универсальные клиенты, которые
поддерживают широкий набор клиентских
частей, позволяющих им работать
практически со всеми серверами
сети.
Многие компании, разрабатывающие
сетевые ОС, выпускают два варианта
одной и той же операционной
системы. Один вариант предназначен
для работы в качестве серверной
ОС, а другой — в качестве
клиентской. Эти варианты чаще
всего основаны на одном и
том же базовом коде, но отличаются
набором служб и утилит, а также
параметрами конфигурации, некоторые
из которых устанавливаются по
умолчанию и не поддаются изменению.
Например, операционная система
Windows NT выпускается в варианте
для рабочей станции — Windows
NT Workstation -r- и в варианте для
выделенного сервера — Windows NT
Server. Оба эти варианта операционной
системы включают клиентские
и серверные части многих сетевых
служб.
Так, ОС Windows NT Workstation кроме выполнения
функций сетевого клиента может
предоставлять сетевым пользователям
файловый сервис, сервис печати,
сервис удаленного доступа и
другие сервисы, а следовательно,
может служить основой для
одноранговой сети. С другой стороны,
ОС Windows NT Server содержит все необходимые
средства, которые позволяют использовать
компьютер под ее управлением
в качестве клиентской рабочей
станции. Под управлением ОС Windows
NT Server имеется возможность локально
запускать прикладные программы,
которые могут потребовать выполнения
клиентских функций ОС при
появлении запросов к ресурсам
других компьютеров сети. Windows NT Server
имеет такой же развитый графический
интерфейс, как и Windows NT Workstation,
что позволяет с равным успехом
использовать эти ОС для интерактивной
работы пользователя или администратора.
Однако вариант Windows NT Server имеет
больше возможностей для предоставления
ресурсов своего компьютера другим
пользователям сети, так как поддерживает
более широкий набор функций,
большее количество одновременных
соединений с клиентами, централизованное
управление сетью, более развитые
средства защиты. Поэтому имеет смысл
применять Windows NT Server в качестве ОС для
выделенных серверов, а не клиентских
компьютеров.
В больших сетях наряду
с отношениями клиент-сервер сохраняется
необходимость и в одноранговых
связях, поэтому такие сети чаще
всего строятся по гибридной
схеме (рис. 2.6).
Рис. 2.6. Гибридная сеть
Требования к современным
операционным системам
Главным требованием, предъявляемым
к операционной системе, является выполнение
ею основных функций эффективного управления
ресурсами и обеспечение удобного
интерфейса для пользователя и прикладных
программ. Современная ОС, как правило,
должна поддерживать мультипрограммную
обработку, виртуальную память, свопинг,
многооконный графический интерфейс
пользователя, а также выполнять
многие другие необходимые функции
и услуги. Кроме этих требований
функциональной полноты к операционным
системам предъявляются не менее
важные эксплуатационные требования,
которые перечислены ниже.
Расширяемость. В то время
как аппаратная часть компьютера
устаревает за несколько лет,
полезная жизнь операционных
систем может измеряться десятилетиями.
Примером может служить ОС UNIX.
Поэтому операционные системы
всегда изменяются со временем
эволюционно, и эти изменения
более значимы, чем изменения
аппаратных средств. Изменения
ОС обычно заключаются в приобретении
ею новых свойств, например поддержке
новых типов внешних устройств или новых
сетевых технологий. Если код ОС написан
таким образом, что дополнения и изменения
могут вноситься без нарушения целостности
системы, то такую ОС называют расширяемой.
Расширяемость достигается за счет модульной
структуры ОС, при которой программы строятся
из набора отдельных модулей, взаимодействующих
только через функциональный интерфейс.
Переносимость. В идеале код
ОС должен легко переноситься
с процессора одного типа на
процессор другого типа и с
аппаратной платформы (которые
различаются не только типом
процессора, но и способом организации
всей аппаратуры компьютера) одного
типа на аппаратную платформу
другого типа. Переносимые ОС
имеют несколько вариантов реализации
для разных платформ, такое свойство
ОС называют также многоплатформенностъю.