1

К оглавлению

   

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

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

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

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

Функциональные компоненты сетевой ОС

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

•   сетевые средства, в свою очередь, можно разделить на три компонента:

1. средства предоставления локальных ресурсов и услуг в общее пользова­ние — серверная часть ОС;

2. средства запроса доступа к удаленным ресурсам и услугам — клиентская часть ОС;

3. транспортные средства ОС, которые совместно с коммуникационной сис­темой обеспечивают передачу сообщений между компьютерами сети.

Упрощенно работа сетевой ОС происходит следующим образом. Предположим, что пользователь компьютера А решил разместить свой файл на диске другого компьютера сети — компьютера В. Для этого он набирает на клавиатуре соответ­ствующую команду и нажимает клавишу Enter. Программный модуль ОС, отве­чающий за интерфейс с пользователем, принимает эту команду и передает ее клиентской части ОС компьютера А.

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

Управляют передачей сообщений между клиентской и серверными частями по коммуникационной системе сети транспортные средства ОС. Эти средства вы­полняют такие функции, как формирование сообщений, разбиение сообщения на части (пакеты, кадры), преобразование имен компьютеров в числовые адреса, организацию надежной доставки сообщений, определение маршрута в сложной сети и т. д. и т. п. Правила взаимодействия компьютеров при передаче сообще­ний по сети фиксируются в коммуникационных протоколах, таких как Ethernet, Token Ring, IP, IPX и пр. Чтобы два компьютера смогли обмениваться сообще­ниями по сети, транспортные средства их ОС должны поддерживать некоторый общий набор коммуникационных протоколов. Коммуникационные протоколы переносят сообщения клиентских и серверных частей ОС по сети, не вникая в их содержание.

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

Сетевые службы и сетевые сервисы

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

Сервис — это интерфейс между потребителем услуг и поставщиком услуг (службой).

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

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

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

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

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

Встроенные сетевые службы и сетевые оболочки

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

•   сетевые службы глубоко встроены в ОС;

•   сетевые службы объединены в виде некоторого набора — оболочки;

•   сетевые службы производятся и поставляются в виде отдельного продук­та.

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

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

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

Существует и третий способ реализации сетевой службы — в виде отдельного про­дукта.

Одноранговые и серверные сетевые операционные системы

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

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

2. компьютер, обращающийся с запросами к ресурсам другой машины, исполня­ет роль клиентского узла;

3. компьютер, совмещающий функции клиента и сервера, является одноранго­вым узлом.

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

•   сеть на основе одноранговых узлов — одноранговая сеть;

•   сеть на основе клиентов и серверов — сеть с выделенными серверами;

•   сеть, включающая узлы всех типов, — гибридная сеть.

Каждая из этих схем обладает своими достоинствами и недостатками, опреде­ляющими их области применения.

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

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

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

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

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

Например, операционная система Windows NT выпускается в варианте для ра­бочей станции — Windows NT Workstation — и в варианте для выделенного сер­вера — Windows NT Server. Оба эти варианта операционной системы включают клиентские и серверные части многих сетевых служб.

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

Выводы

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

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

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

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

•   Термин «сетевая операционная система» используется в двух значениях: во-пер­вых, как совокупность ОС всех компьютеров сети и, во-вторых, как ОС от­дельного компьютера, способного работать в сети.

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

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

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

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

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

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

К оглавлению

Hosted by uCoz