Сетевые операционные системы характеристика назначения. Сетевая операционная система

К таким возможностям можно отнести:

  • поддержку сетевого оборудования
  • поддержку сетевых протоколов
  • поддержку протоколов маршрутизации
  • поддержку фильтрации сетевого трафика
  • поддержку доступа к удалённым ресурсам, таким как принтеры, диски и т. п. по сети
  • поддержку сетевых протоколов авторизации
  • наличие в системе сетевых служб позволяющих удалённым пользователям использовать ресурсы компьютера

Примеры сетевых операционных систем:

  • Microsoft Windows (NT, XP, Vista, Seven)
  • Различные UNIX системы, такие как Solaris , FreeBSD
  • Различные GNU/Linux системы
  • ZyNOS компании ZyXEL

Основное назначение

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

  • сетевые ОС для серверов;
  • сетевые ОС для пользователей.

Существуют специальные сетевые ОС, которым приданы функции обычных систем (Пр.: Windows NT) и обычные ОС (Пр.: Windows XP), которым приданы сетевые функции. Сегодня практически все современные ОС имеют встроенные сетевые функции.


Wikimedia Foundation . 2010 .

Смотреть что такое "Сетевая операционная система" в других словарях:

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

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

    Разработанная корпорацией Microsoft сетевая операционная система с объектно ориентированной архитектурой. Основу ОС Cairo составляет объектно ориентированная файловая система. ОС Cairo обеспечивает распределенную среду обработки данных. По… … Финансовый словарь

    Разработанная корпорацией IBM версия операционной системы UNIX, допускающая возможность ее использования на вычислительных системах любых размеров и производительности. ОС AIX выполняет симметричную мультипроцессорную обработку, распараллеливает… … Финансовый словарь

    сетевая (операционная) система, базирующаяся на стандарте Ethernet - — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN Xerox Network SystemXNS … Справочник технического переводчика

    сетевая операционная система Netware - — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN Netware … Справочник технического переводчика

    ОПЕРАЦИОННАЯ СИСТЕМА (ОС) ЭВМ, программа или комплекс программ, постоянно находящихся в памяти ЭВМ; организует общее управление устройствами машины и ее взаимодействие с пользователем. Обеспечивает запуск и работу всех остальных программ. В… … Энциклопедический словарь

    У этого термина существуют и другие значения, см. Операционная система (значения). Запрос «OS» перенаправляется сюда; см. также другие значения. Операционная система, сокр. ОС (англ. operating system, OS) комплекс управляющих и… … Википедия

    Cosmos … Википедия

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

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

Сетевые операционные системы - пример таких оболочек:

  • Novell NetWare.
  • Многие GNU/Linux системы.
  • Microsoft Windows (95, NT и более поздние).
  • Многие UNIX системы, такие как Solaris, FreeBSD.
  • IOS; ZyNOS компании ZyXEL.

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

Которых приведен выше, имеют деление на:

  • сетевые ОС для серверов;
  • сетевые ОС для пользователей.

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

Структура общесетевой ОС

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

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

Особенности

Следует особо отметить ряд элементов, благодаря которым ОС такого типа может функционировать:

  • распределение временной памяти для управления процессорами в многопроцессорных устройствах;
  • возможность управления удаленными компьютерами.

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

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

Составные элементы

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

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

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

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

Примеры сетевых операционных систем первого поколения

Первые сетевые операционные системы выглядели как комплекс имеющейся локальной ОС и сетевой оболочки в виде надстройки над ней. В таком случае локальная ОС обладала минимальным количеством сетевых функций, поскольку их выполнением занималась непосредственно оболочка. Наиболее известной системой такого типа, получившей по всему миру широкое распространение, стала MS DOS. Начиная с третьего дистрибутива этой оболочки, у нее появились такие интегрированные функции, равно как блокирование записей и файлов, требуемые с целью общего допуска к файлам. Аналогичный принцип действия имеют и современные повсеместно используемые сетевые ОС - LANtastic и PersonalWare.

Современные этапы развития

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

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

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

Сегодня практически все операционные системы являются сетевыми.

В сетевых ОС удаленный доступ к сетевым ресурсам обеспечивается:

  • сетевыми службами;
  • средствами транспортировки сообщений по сети (в простейшем случае - сетевыми интерфейсными картами и их драйверами).

Функции сетевых ОС

  • управление каталогами и файлами;
  • управление ресурсами;
  • коммуникационные функции;
  • защита от несанкционированного доступа;
  • обеспечение отказоустойчивости;
  • управление сетью.

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

Управление ресурсами включает запросы и предоставление ресурсов.

Коммуникационные функции обеспечивают адресацию, буферизацию, маршрутизацию.

Защита от несанкционированного доступа возможна на любом из следующих уровней: ограничение доступа в определенное время, и (или) для определенных станций, и (или) определенное число раз; ограничение совокупности доступных конкретному пользователю директорий; ограничение для конкретного пользователя списка возможных действий (например, только чтение файлов); пометка файлов символами типа «только чтение», «скрытность при просмотре списка файлов».

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

Дальнейшее повышение отказоустойчивости связано с дублированием серверов.

Компоненты сетевых ОС

Функциональные модули (сетевые службы и средства транспортировки сообщений по сети) должны быть добавлены к ОС, чтобы она могла называться сетевой:

Среди сетевых служб можно выделить такие, которые ориентированы не на простого пользователя, как, например, файловая служба или служба печати, а на администратора. Такие службы направлены на организацию работы сети. Например, централизованная справочная служба , или служба каталогов (например, Active Directory в Windows), предназначена для ведения базы данных о пользователях сети, обо всех ее программных и аппаратных компонентах1. В качестве других примеров можно назвать службу мониторинга сети , позволяющую захватывать и анализировать сетевой трафик, службу безопасности , в функции которой может входить, в частности, выполнение процедуры логического входа с проверкой пароля, службу резервного копирования и архивирования .

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

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

И сетевые службы, и транспортные средства могут являться неотъемлемыми (встроенными) компонентами ОС или существовать в виде отдельных программных продуктов. Например, сетевая файловая служба обычно встраивается в ОС, а вот веб-браузер чаще всего приобретается отдельно. Типичная сетевая ОС имеет в своем составе широкий набор драйверов и протокольных модулей, однако у пользователя, как правило, есть возможность дополнить этот стандартный набор необходимыми ему программами. Решение о способе реализации клиентов и серверов сетевой службы, а также драйверов и протокольных модулей принимается разработчиками с учетом самых разных соображений: технических, коммерческих и даже юридических. Так, например, именно на основании антимонопольного закона США компании Microsoft было запрещено включать ее браузер Internet Explorer в состав ОС этой компании.

Виды сетевых ОС

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

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

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

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

Примеры сетевых ОС

Повторюсь, что сегодня практически все ОС являются сетевыми. Наиболее расропстраненные из них:

  • Novell NetWare
  • Microsoft Windows (95, NT, XP, Vista, Seven)
  • Различные UNIX системы, такие как Solaris , FreeBSD
  • Различные GNU/Linux системы
  • ZyNOS компании ZyXEL
  • Chrome OS от Google

Посмотрите обзор на одну из современных сетевых операционных систем — «облачную» Chrome OS:

Лекция 2 Структура сетевой операционной системы

Лекция 2

Тема: Структура и основные компоненты сетевых ОС. Функции по управлению сетевыми и локальными ресурсами.

Управление использованием ресурсов – одна из основных задач ОС.

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

Планирование использования ресурса, а именно - определение какому процессу, когда, в каком объеме, необходимо выделить данный ресурс;

Отслеживание состояния ресурса, то есть поддерживать набор оперативной информации о степени занятости ресурса.

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

Набор характеристик СОС.

Многопользовательские : позволяют 2 и более пользователям запускать программы в рамках одной ОС. Таким образом ОС UNIX многопользовательские, а Windows NT - нет. Последняя не позволяет нескольким пользователям одновременно работать (запускать свои приложения). В NT предоставление возможности использования мощностей процессора нескольким пользователям одновременно перекладывается с ОС на программистов (например используется технология клиент-сервер)

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

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

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

ОС делятся по критерию оптимизации на системы:

1) Пакетные: критерий эффективности – максимальное число решенных задач, которые поступают в ОС наборами (пакетами). ОС оптимизирует выполнение задач, а не взаимодействие с пользователем.

2) Реального времени: Отвечают на входящие данные немедленно. Критерий эффективности – гарантированное время реакции системы (скорость выполнения процессов и разделение процессорного времени) на информационный сигнал. Неспециализированные UNIX и DOS ОС не являются системами реального времени, т.к. не гарантируют одинаковое время реакции системы на входные данные.

3) Разделения времени: процессорное время равномерно распределяется между задачами, что делает работу пользователя более удобной. Критерий оптимальности – честное распределение (по потребностям) процессорного времени между разными задачами с одинаковым приоритетом на использование этого ресурса.

Большинство СОС можно отнести к последним двум типам.

Также сетевые ОС делятся на СОС со встроенными сетевыми функциями и на оболочки с сетевыми функциями над локальными ОС.

Набор критериев.

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

Основные требования предъявляемые фирмами к современным СОС:

1) Системная архитектура – управление какими ресурсами и какие алгоритмы управления она поддерживает, можно ли ее запустить на многопроцессорной архитектуре, какие микропроцессорные архитектуры (Intel x86, Alpha, PowerPC) она поддерживает

2) Масштабируемость – количество ресурсов, которыми сможет управлять ОС (вдруг ваша распределенная гигабайтовая БД станет терабайтовой или количество одновременно открытых TCP соединений увеличиться на порядок)

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

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

5) Безопасность – какой уровень защиты информации поддерживает СОС, ограничения на доступ к каким ресурсам она поддерживает, какая система прав доступа поддерживается.

6) Средства администрирования – какие утилиты и как помогают администировать СОС

7) Поддержка сетевых сред – поддерживает ли СОС физические устройства работающие с Ethernet, Token ring, оптоволокном и т.п.

8) Поддержка стеков протоколов – на каких и скольких стеках протоколов может функционировать СОС и поддержка программного обеспечения для работы с данными в рамках всемирной сети Интернет

9) Сетевая печать – сколько поддерживается средствами СОС принтеров на сервер, очередей на принтер

10) Приложения – какие приложения включены в стандартную поставку СОС, какую минимальную функциональность обеспечивает СОС (это могут быть почтовые сервера и клиенты, средства разработки, сервера печати, Интернет сервера и т.п.)

11) Совместимость – на сколько СОС совместима с уже имеющимися программно-аппаратными комплексами предприятия.

Исходя из описанных выше требований можно заключить, что хорошо спроектированная СОС должна:

Поддерживать возможность работы на многопроцессорной ЭВМ (с симметричной многопроцессорностью)

Быть многозадачной и поддерживать нити в рамках одного процесса.

При необходимости быть многопользовательской.

В общем случае для большинства современных коммерческих СОС вопрос, какая из них лучше задавать бессмысленно – раз все выдерживают конкуренцию, значит у каждой есть какие-то достоинства. Решение о выборе СОС обычно основываются на оценке набора критериев, подобно приведенному выше, применительно к конкретной ситуации.

Структура СОС

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

В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1):

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

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

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

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

Все множество СОС можно разбить на две группы:

1) Первые сетевые ОС представляли собой совокупность неспециализированной (General) ОС и надстройки, добавляющей к ней сетевые функции (рисунок 2).

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

Как видно из структуры, СОС это - ОС с добавлением сетевых функций.

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

1. Монолитные системы

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

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

2. Многоуровневые системы

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

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

3. Модель клиент-сервер и микроядра

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

Подход с использованием микроядра заменил вертикальное распределение функций операционной системы на горизонтальное. Компоненты, лежащие выше микроядра, хотя и используют сообщения, пересылаемые через микроядро, взаимодействуют друг с другом непосредственно. Это свойство микроядерных систем позволяет естественно использовать их в распределенных средах. При получении сообщения микроядро может его обработать или переслать другому процессу. Поскольку для микроядра безразлично, поступило ли сообщение от локального или удаленного процесса, подобная схема передачи сообщений является удобной основой удаленных вызовов процедур (RPC - remote procedure calls). Микроядро занимается основной функцией ОС – управлением ресурсами, зачастую оно берет на себя функции взаимодействия с аппаратурой, хотя предпочтительно в рамках микроядра выделять машиннозависимый функции в отдельные подмодули для улучшения переносимости. Различные варианты реализации модели клиент-сервер в структуре ОС могут существенно различаться по объему работ, выполняемых в режиме ядра. На одном краю этого спектра находится разрабатываемая фирмой IBM на основе микроядра Mach операционная система Workplace OS, придерживающаяся чистой микроядерной доктрины, состоящей в том, что все несущественные функции ОС должны выполняться не в режиме ядра, а в непривилегированном (пользовательском) режиме. На другом - Windows NT, в составе которой имеется исполняющая система (NT executive), работающая в режиме ядра и выполняющая функции обеспечения безопасности, ввода-вывода и другие.

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

В состав микроядра обычно не включают сетевые функции, пользовательский интерфейс, файловую систему, а лишь основные функции управления???

Достоинства и недостатки микроядерного подхода

В настоящее время именно операционные системы, построенные с использованием модели клиент-сервер и концепции микроядра, в наибольшей степени удовлетворяют требованиям, предъявляемым к современным СОС.

Высокая степень переносимости и совместимости обусловлена тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений и все они логически сгруппированы вместе.

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

Надежность микроядерной архитектуры выше, чем у монолитной. Микроядро легче тестировать, при этом оно выполняется в привилегированном, защищенном режиме процессоров и сбой внешних служб, выполняющихся в отдельных виртуальных машинах в непривилегированном режиме, не приведет к краху системы в целом. Одной из проблем традиционно организованных операционных систем является наличие множества интерфейсов прикладного программирования (API - Application Programming Interface), не все из которых хорошо документированы. В результате невозможно гарантировать правильность программ, использующих несколько API, и даже правильность работы самой операционной системы. Микроядро, обладающее небольшим набором API, увеличивает шансы получения качественных программ. Конечно, этот компактный интерфейс облегчает жизнь только системных программистов; прикладной программист по прежнему должен бороться с сотнями вызовов.

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

Основным недостатком использования микроядерного подхода на практике является снижение быстродействия на локальных задачах - замедление скорости выполнения системных вызовов при передаче сообщений через микроядро по сравнению с классическим подходом.

Основные ресурсы и службы СОС. Способы управления ими.

Важнейшей функцией операционной системы является организация рационального использования всех аппаратных и программных ресурсов системы. К основным ресурсам могут быть отнесены: процессоры, память (виртуальная память), внешние устройства.

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

СОС реализует в этой подсистеме удаленное межпроцессное взаимодействие, работу процессов с удаленными ресурсами.

1. Планирование процессов

Планирование процессов включает в себя решение следующих задач:

1) определение момента времени для смены выполняемого процесса

2) выбор процесса на выполнение из очереди готовых процессов

3) переключение контекстов "старого" и "нового" процессов

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

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

1) процесс завершился и покинул систему

2) произошла ошибка

3) процесс перешел в состояние ожидания

4) исчерпан квант процессорного времени, отведенный данному процессу

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

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

Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты.

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

Во многих операционных системах алгоритмы планирования построены с использованием как квантования, так и приоритетов. Например, в основе планирования лежит квантование, но величина кванта и/или порядок выбора процесса из очереди готовых определяется приоритетами процессов.

Существует два основных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

Non-preemptive multitasking - невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс. Программист должен обеспечить "дружественное" отношение своей программы к другим выполняемым одновременно с ней программам, достаточно часто отдавая им управление. Крайним проявлением "недружественности" приложения является его зависание, которое приводит к общему краху системы. В системах с вытесняющей многозадачностью такие ситуации, как правило, исключены, так как центральный планирующий механизм снимет зависшую задачу с выполнения.

Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

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

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

2. Управление памятью

Память, к которой может иметь доступ СОС может быть локальной, разделяемой, распределенной, для работы со всеми видами памяти в ОС создается менеджер памяти.

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

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

Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер кода и данных которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:

Размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;

Перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;

Преобразует виртуальные адреса в физические.

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

Также необходимо стремиться к оптимальному использованию кэширования данных (рис. 6 – иерархия ЗУ)

Рис. 6. (Иерархия ЗУ)

3. Управление вводом-выводом

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

Структура сетевой операционной системы.

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

Рис. 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.

Одноранговые сетевые ОС и ОС с выделенными серверами.

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

Рис. 1.4. (а) - Одноранговая сеть, (б) - Двухранговая сеть

Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другой машины, является клиентом. Как уже было сказано, компьютер, работающий в сети, может выполнять функции либо клиента, либо сервера, либо совмещать обе эти функции.

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

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

Выделенный сервер не принято использовать в качестве компьютера для выполнения текущих задач, не связанных с его основным назначением, так как это может уменьшить производительность его работы как сервера. В связи с такими соображениями в ОС Novell NetWare на серверной части возможность выполнения обычных прикладных программ вообще не предусмотрена, то есть сервер не содержит клиентской части, а на рабочих станциях отсутствуют серверные компоненты. Однако в других сетевых ОС функционирование на выделенном сервере клиентской части вполне возможно. Например, под управлением Windows NT Server могут запускаться обычные программы локального пользователя, которые могут потребовать выполнения клиентских функций ОС при появлении запросов к ресурсам других компьютеров сети. При этом рабочие станции, на которых установлена ОС Windows NT Workstation, могут выполнять функции невыделенного сервера.

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

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

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

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

ОС для рабочих групп и ОС для сетей масштаба предприятия.

Сетевые операционные системы имеют разные свойства в зависимости от того, предназначены они для сетей масштаба рабочей группы (отдела), для сетей масштаба кампуса или для сетей масштаба предприятия.

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

Главной задачей операционной системы, используемой в сети масштаба отдела, является организация разделения ресурсов, таких как приложения, данные, лазерные принтеры и, возможно, низкоскоростные модемы. Обычно сети отделов имеют один или два файловых сервера и не более чем 30 пользователей. Задачи управления на уровне отдела относительно просты. В задачи администратора входит добавление новых пользователей, устранение простых отказов, инсталляция новых узлов и установка новых версий программного обеспечения. Операционные системы сетей отделов хорошо отработаны и разнообразны, также, как и сами сети отделов, уже давно применяющиеся и достаточно отлаженные. Такая сеть обычно использует одну или максимум две сетевые ОС. Чаще всего это сеть с выделенным сервером NetWare 3.x или Windows NT, или же одноранговая сеть, например сеть Windows for Workgroups.

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

Итак, следующим шагом в эволюции сетей является объединение локальных сетей нескольких отделов в единую сеть здания или группы зданий. Такие сети называют сетями кампусов. Сети кампусов могут простираться на несколько километров, но при этом глобальные соединения не требуются.

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

Именно на уровне сети кампуса начинаются проблемы интеграции. В общем случае, отделы уже выбрали для себя типы компьютеров, сетевого оборудования и сетевых операционных систем. Например, инженерный отдел может использовать операционную систему UNIX и сетевое оборудование Ethernet, отдел продаж может использовать операционные среды DOS/Novell и оборудование Token Ring. Очень часто сеть кампуса соединяет разнородные компьютерные системы, в то время как сети отделов используют однотипные компьютеры.

Корпоративная сеть соединяет сети всех подразделений предприятия, в общем случае находящихся на значительных расстояниях. Корпоративные сети используют глобальные связи (WAN links) для соединения локальных сетей или отдельных компьютеров.

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

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

К признакам корпоративных ОС могут быть отнесены также следующие особенности.

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

Сервер приложений должен базироваться на мощной аппаратной платформе (мультипроцессорные системы, часто на базе RISC-процессоров, специализированные кластерные архитектуры). ОС сервера приложений должна обеспечивать высокую производительность вычислений, а значит поддерживать многонитевую обработку, вытесняющую многозадачность, мультипроцессирование, виртуальную память и наиболее популярные прикладные среды (UNIX, Windows, MS-DOS, OS/2). В этом отношении сетевую ОС NetWare трудно отнести к корпоративным продуктам, так как в ней отсутствуют почти все требования, предъявляемые к серверу приложений. В то же время хорошая поддержка универсальных приложений в Windows NT собственно и позволяет ей претендовать на место в мире корпоративных продуктов.

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

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

В идеале сетевая справочная информация должна быть реализована в виде единой базы данных, а не представлять собой набор баз данных, специализирующихся на хранении информации того или иного вида, как это часто бывает в реальных операционных системах. Например, в Windows NT имеется по крайней мере пять различных типов справочных баз данных. Главный справочник домена (NT Domain Directory Service) хранит информацию о пользователях, которая используется при организации их логического входа в сеть. Данные о тех же пользователях могут содержаться и в другом справочнике, используемом электронной почтой Microsoft Mail. Еще три базы данных поддерживают разрешение низкоуровневых адресов: WINS - устанавливает соответствие Netbios-имен IP-адресам, справочник DNS - сервер имен домена - оказывается полезным при подключении NT-сети к Internet, и наконец, справочник протокола DHCP используется для автоматического назначения IP-адресов компьютерам сети. Ближе к идеалу находятся справочные службы, поставляемые фирмой Banyan (продукт Streettalk III) и фирмой Novell (NetWare Directory Services), предлагающие единый справочник для всех сетевых приложений. Наличие единой справочной службы для сетевой операционной системы - один из важнейших признаков ее корпоративности.

Безопасность. Особую важность для ОС корпоративной сети приобретают вопросы безопасности данных. С одной стороны, в крупномасштабной сети объективно существует больше возможностей для несанкционированного доступа - из-за децентрализации данных и большой распределенности «законных» точек доступа, из-за большого числа пользователей, благонадежность которых трудно установить, а также из-за большого числа возможных точек несанкционированного подключения к сети. С другой стороны, корпоративные бизнес-приложения работают с данными, которые имеют жизненно важное значение для успешной работы корпорации в целом. И для защиты таких данных в корпоративных сетях наряду с различными аппаратными средствами используется весь спектр средств защиты, предоставляемый операционной системой: избирательные или мандатные права доступа, сложные процедуры аутентификации пользователей, программная шифрация.