Сетевые операционные системы – network operating system (NOS) – это комплекс программ, обеспечивающих обработку, хранение и передачу данных в сети.
Сетевая ОС составляет основу любой вычислительной сети. Под сетевой ОС в широком смысле понимается совокупность ОС отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам – протоколам. В узком смысле сетевая ОС – это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
На практике сложилось несколько подходов к построению сетевых ОС (рис. 21.1).
LAN Manager (над OS/2)
Personal Ware (над MS DOS)
NetWare (клиент)
MS Windows NT
MS Windows XP
NetWare (сервер)
Рис. 21.1. Варианты построения сетевых ОС
Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Принцип построения сетевых ОС в виде сетевой оболочки над локальной ОС используется и в современных ОС.
Наиболее эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность.
Общая структура сетевой ОС приведена на рис. 21.2. В соответствии с этой структурой в сетевой операционной системе отдельной ЭВМ можно выделить несколько частей:
– средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами, управления периферийными устройствами и другие функции управления локальными ресурсами;
– средства предоставления собственных ресурсов и услуг в общее пользование – серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам;
– средства запроса доступа к удаленным ресурсам и услугам – клиентская часть ОС. Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо;
– коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., т. е. является средством транспортировки сообщений.
В зависимости от функций, возлагаемых на конкретный компьютер, в его операционной системе может отсутствовать либо клиентская, либо серверная части.
Допустим, что компьютер 1 выполняет функции клиента, а компьютер 2 – функции сервера, соответственно на первой ЭВМ отсутствует серверная часть, а на второй – клиентская. В случае возникновения запроса к ресурсу данного компьютера, он переадресовывается локальной ОС. Если же это запрос к удаленному ресурсу, то он направляется в клиентскую часть, где преобразуется из локальной формы в сетевой формат, и передается коммуникационным средствам. Серверная часть ОС компьютера 2 принимает запрос, преобразует его в локальную форму и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, выдавшему запрос. Клиентская часть преобразует результат в соответствующий формат и адресует его тому приложению, которое выдало запрос.
В клиентской части ОС можно выделить три основных компонента: редиректоры, распределители и имена UNC.
Редиректор – redirector – сетевое программное обеспечение, которое принимает запросы ввода/вывода для удаленных файлов, именованных каналов или почтовых слотов и затем переназначает их сетевым сервисам другого компьютера.
Редиректоры функционируют на представительском уровне модели OSI. Когда клиент делает запрос к сетевому приложению или службе, редиректор перехватывает этот запрос и проверяет, является ли ресурс локальным (находящимся на запрашивающем компьютере) или удаленным (в сети). Если редиректор определяет, что это локальный запрос, он направляет запрос центральному процессору для немедленной обработки. Если запрос предназначен для сети, редиректор направляет запрос по сети к соответствующему серверу.
Распределитель – designator – представляет собой часть программного обеспечения, управляющую присвоением букв накопителя как локальным, так и удаленным сетевым ресурсам или разделяемым дисководам, что помогает во взаимодействии с сетевыми ресурсами. Когда между сетевым ресурсом и буквой локального накопителя создана ассоциация, известная также как отображение дисковода, распределитель отслеживает присвоение такой буквы дисковода сетевому ресурсу. Затем, когда пользователь или приложение получат доступ к диску, распределитель заменит букву дисковода на сетевой адрес ресурса, прежде чем запрос будет послан редиректору.
Редиректор и распределитель являются не единственными методами, используемыми для доступа к сетевым ресурсам. Большинство современных сетевых операционных систем, распознают имена UNC – universal naming convention (UNC) pathnames – универсальное соглашение по наименованию. UNC представляют собой стандартный способ именования сетевых ресурсов. Эти имена имеют форму \\Имя_сервера\имя_ресурса. Способные работать с UNC приложения и утилиты командной строки используют имена UNC вместо отображения сетевых дисков.
В зависимости от того как распределены функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и сети с выделенными серверами.
Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другой машины, является клиентом. Компьютер, работающий в сети, может выполнять функции либо клиента, либо сервера, либо совмещать обе эти функции.
В одноранговых сетях все компьютеры равноправны. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях в качестве сетевой ОС можно использовать, например, Microsoft Windows 9x, Microsoft Windows for Workgroup, Microsoft Windows XP. Одноранговые сети проще в организации и эксплуатации. Но они применяются в основном для объединения небольших групп пользователей, не предъявляющих больших требований к объемам хранимой информации, ее защищенности от несанкционированного доступа и к скорости доступа.
При повышенных требованиях к этим характеристикам более подходящими являются сети с выделенными серверами.
Если выполнение каких-либо серверных функций является основным назначением ЭВМ, то такая ЭВМ называется выделенным сервером. В зависимости от того, какой ресурс сервера является разделяемым, он называется файл-сервером, факс-сервером, принт-сервером и т.д. На выделенных серверах устанавливается ОС специально оптимизированные для выполнения тех или иных серверных функций. Выделенный сервер не принято использовать в качестве компьютера для выполнения текущих задач, не связанных с его основным назначением, так как это снижает его производительность как сервера.
Сети с выделенными серверами могут быть построены на базе операционных систем NetWare или Microsoft Windows 2003 Server (для выделенного сервера) и Windows XP (для рабочей станции).