Многие компании, разрабатывающие
сетевые ОС, выпускают два варианта одной и
той же операционной системы. Один вариант
предназначен для работы в качестве
серверной ОС, а другой — в качестве клиентской.
Эти варианты чаще всего основаны на одном и том же базовом
коде, но отличаются набором служб и
утилит, а также параметрами конфигурации,
некоторые из которых устанавливаются по умолчанию и не поддаются изменению.
Например, операционная система Windows NT выпускается в варианте для рабочей станции — Windows NT Workstation — и в варианте
для выделенного сервера — Windows NT Server.
Оба эти варианта операционной системы
включают клиентские и серверные части многих
сетевых служб.
Так, ОС Windows NT Workstation кроме выполнения функций
сетевого клиента может предоставлять
сетевым пользователям файловый сервис,
сервис печати, сервис удаленного доступа
и другие сервисы, а следовательно, может
служить основой для одноранговой сети. С другой
стороны, ОС Windows NT Server содержит все необходимые
средства, которые позволяют использовать
компьютер под ее управлением в качестве клиентской
рабочей станции. Под управлением ОС
Windows NT Server имеется возможность локально
запускать прикладные программы, которые могут потребовать выполнения
клиентских функций ОС при появлении запросов
к ресурсам других компьютеров сети.
Windows NT Server имеет такой же развитый графический
интерфейс, как и Windows NT Workstation, что позволяет
с равным успехом использовать эти ОС
для интерактивной работы пользователя
или администратора.
Однако вариант Windows NT Server имеет
больше возможностей для предоставления
ресурсов своего компьютера другим пользователям
сети, так как поддерживает более широкий набор функций,
большее количество одновременных соединений
с клиентами, централизованное управление
сетью, более развитые средства защиты.
Поэтому имеет смысл применять Windows NT Server
в качестве ОС для выделенных серверов, а не клиентских
компьютеров.
В больших сетях наряду
с отношениями клиент-сервер сохраняется
необходимость и в одноранговых связях,
поэтому такие сети чаще всего строятся
по гибридной схеме (рисунок 6).
Требования
к современным операционным системам
Главным требованием, предъявляемым
к операционной системе, является выполнение
ею основных функций эффективного управления
ресурсами и обеспечение удобного интерфейса
для пользователя и прикладных программ.
Современная ОС, как правило, должна поддерживать
мультипрограммную обработку, виртуальную
память, свопинг, многооконный графический
интерфейс пользователя, а также выполнять
многие другие необходимые функции и услуги.
Кроме этих требований функциональной
полноты к операционным системам предъявляются
не менее важные эксплуатационные требования,
которые перечислены ниже.
- Расширяемость. В то время как аппаратная
часть компьютера устаревает за несколько
лет, полезная жизнь операционных систем
может измеряться десятилетиями. Примером может служить ОС UNIX. Поэтому операционные системы всегда изменяются со временем
эволюционно, и эти изменения более значимы,
чем изменения аппаратных средств. Изменения
ОС обычно заключаются в приобретении ею новых свойств, например поддержке новых типов внешних устройств или новых сетевых технологий. Если код ОС написан таким образом, что дополнения
и изменения могут вноситься без нарушения
целостности системы, то такую ОС называют
расширяемой. Расширяемость достигается
за счет модульной структуры ОС, при которой
программы строятся из набора отдельных
модулей, взаимодействующих только через функциональный интерфейс.
- Переносимость. В идеале код ОС должен
легко переноситься с процессора одного
типа на процессор другого типа и с аппаратной
платформы (которые различаются не только
типом процессора, но и способом организации
всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа. Переносимые ОС имеют несколько вариантов реализации для разных платформ, такое свойство ОС называют
также многоплатформенностью.
- Совместимость. Существует несколько «долгоживущих» популярных операционных систем (разновидности UNIX,
MS-DOS, Windows 3.x, Windows NT, OS/2), для которых наработана
широкая номенклатура приложений. Некоторые
из них пользуются широкой популярностью.
Поэтому для пользователя, переходящего
по тем или иным причинам с одной ОС на
другую, очень привлекательна возможность
запуска в новой операционной системе
привычного приложения. Если ОС имеет средства для выполнения прикладных программ, написанных для других операционных
систем, то про нее говорят, что она обладает
совместимостью с этими ОС. Следует различать
совместимость на уровне двоичных кодов
и совместимость на уровне исходных текстов.
Понятие совместимости включает также
поддержку пользовательских интерфейсов других ОС.
- Надежность и отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок,
сбоев и отказов. Ее действия должны быть
всегда предсказуемыми, а приложения не
должны иметь возможности наносить вред
ОС. Надежность и отказоустойчивость ОС
прежде всего определяются архитектурными
решениями, положенными нее основу, а также
качеством ее реализации (отлаженностью кода). Кроме того, важно, включает ли ОС программную поддержку аппаратных
средств обеспечения отказоустойчивости,
таких, например, как дисковые массивы
или источники бесперебойного питания.
- Безопасность. Современная ОС должна защищать данные и другие ресурсы к вычислительной системы от несанкционированного
доступа. Чтобы ОС обладала свойством безопасности, она должна как минимум иметь в своем составе средства аутентификации — определения
легальности пользователей, авторизации — предоставления легальным пользователям дифференцированных прав доступа к ресурсам, аудита — фиксации
всех «подозрительных» для безопасности
системы событий. Свойство безопасности
особенно важно для сетевых ОС. В таких ОС к задаче контроля доступа добавляется задача защиты данных, передаваемых по сети.
- Производительность. Операционная система
должна обладать настолько хорошим быстродействием
и временем реакции, насколько это позволяет
аппаратная платформа. На производительность
ОС влияет много факторов, среди которых
основными являются архитектура ОС, многообразие
функций, качество программирования кода,
возможность исполнения ОС на высокопроизводительной
(многопроцессорной) платформе.
Выводы
- Термин «сетевая операционная система» используется в двух значениях: во-первых, как совокупность
ОС всех компьютеров сети и, во-вторых,
как ОС отдельного компьютера, способного
работать в сети.
- К основным функциональным компонентам сетевой ОС относятся средства управления локальными ресурсами и сетевые средства. Последние, в свою очередь, можно разделить на три компонента: средства предоставления локальных ресурсов и услуг в общее пользование
— серверная часть ОС, средства запроса доступа к удаленным1 ресурсам и услугам — клиентская часть ОС (редиректор) и транспортные средства ОС, которые совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.
- Совокупность серверной и клиентской частей, предоставляющих доступ к конкретному типу ресурса
компьютера через сеть, называется сетевой
службой. Сетевая служба предоставляет
пользователям сети набор услуг — сетевой
сервис. Каждая служба связана с определенным
типом сетевых ресурсов и/или определенным
способом доступа к этим ресурсам. Наиболее
важными для пользователей сетевых ОС являются файловая служба и служба печати. Сетевые службы могут быть либо глубоко встроены в ОС, либо объединены в виде некоторой оболочки, либо поставляться в виде отдельного продукта.
- В зависимости от того, как распределены функции между компьютерами сети, они могут выступать в трех разных ролях. Компьютер, занимающийся исключительно обслуживанием запросов других компьютеров, играет роль выделенного сервера сети. Компьютер, обращающийся с запросами к ресурсам другой машины, исполняет роль клиентского
узла. Компьютер, совмещающий функции клиента и сервера, является одноранговым узлом.
- Одноранговые сети состоят только из одноранговых узлов. При этом все компьютеры в сети имеют потенциально равные возможности. Одноранговые ОС включают как серверные,
так и клиентсткие компоненты сетевых
служб. Одноранговые сети проще в организации
и эксплуатации, по этой схеме организуется работа в небольших сетях, в которых количество компьютеров не превышает 10-20.
- В сетях с выделенными серверами используются специальные варианты сетевых ОС, оптимизированные для работы в роли либо
серверов, либо клиентов. Для серверных ОС характерны поддержка мощных аппаратных платформ, в том числе мультипроцессорных, широкий набор сетевых служб, поддержка большого числа одновременно выполняемых процессов и сетевых соединений, наличие развитых средств защиты
и средств централизованного администрирования сети. Клиентские ОС, в общем случае являясь более простыми, должны обеспечивать удобный пользовательский интерфейс и набор редиректоров, позволяющий получать доступ к разнообразным сетевым ресурсам.
- В число требований, предъявляемых сегодня к сетевым ОС, входят: функциональная полнота и эффективность управления ресурсами, модульность и расширяемость, переносимость и многоплатформенность, совместимость на уровне приложений и пользовательских интерфейсов, надежность и отказоустойчивость, безопасность и производительность.