Основные функциональные компоненты сетевой ОС:
- средства управления локальными ресурсами компьютера реализуют все функции ОС автономного компьютера (распределение оперативной памяти между процессами, планирование и диспетчеризацию процессов, управление процессорами управление; процессорами в мультипроцессорных машинах, управление внешней памятью, интерфейс с пользователем и т. д.);
- сетевые средства, в свою очередь, можно разделить на три компонента:
- средства предоставления локальных ресурсов и услуг в общее пользование — серверная часть ОС;
- средства запроса доступа к удаленным ресурсам и услугам — клиентская часть ОС;
- транспортные средства ОС совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.
Упрощенно работа сетевой ОС происходит следующим образом.
Предположим, что пользователь компьютера А решил разместить свой файл на диске другого компьютера сети — компьютера B. Для этого он набирает на клавиатуре соответствующую команду. Программный модуль ОС, отвечающий за интерфейс с пользователем, принимает эту команду и передает ее клиентской части ОС компьютера А.
Клиентская часть ОС не может получить непосредственный доступ к ресурсам другого компьютера — в данном случае к дискам и файлам компьютера В. Она может только «попросить» об этом серверную часть ОС, работающую на том компьютере, которому принадлежат эти ресурсы. Эти «просьбы» выражаются в виде сообщений, передаваемых по сети. Со-общения могут содержать не только команды на выполнение некоторых действий, но и собственно данные, например содержимое некоторого файла.
Управляют передачей сообщений между клиентской и серверной частями по коммуникационной системе сети транспортные средства ОС. Эти средства выполняют такие функции, как формирование сообщений, разбиение сообщения на части (пакеты, кадры), преобразование имен компьютеров в числовые адреса, организация надежной доставки сообщений, определение маршрута в сложной сети и т. д.
Правила взаимодействия компьютеров при передаче сообщений по сети фиксируются в коммуникационных протоколах, таких как Ethernet, Token Ring, IP, IPX и пр.
Чтобы два компьютера смогли обмениваться сообщениями по сети, транспортные средства их ОС должны поддерживать некоторый общий набор коммуникационных протоколов.
Коммуникационные протоколы переносят сообщения клиентских и серверных частей ОС по сети, не вникая в их содержание.
На стороне компьютера В, на диске которого пользователь хочет разместить свой файл, должна работать серверная часть ОС сервер, постоянно ожидающая прихода из сети запросов на удаленный доступ к ресурсам этого компьютера. Серверная часть, приняв запрос из сети, обращается к локальному диску и записывает в один из его каталогов указанный файл.
Конечно, для выполнения этих действий требуется не одно, а целая серия сообщений, переносящих между компьютерами команды ОС и части передаваемого файла.
Очень удобной и полезной способностью клиентской части ОС является способность отличить запрос к удаленному файлу от запроса к локальному файлу. Если клиентская часть ОС умеет это делать, то приложения не должны заботиться о том, с локальным или удаленным файлом они работают — клиентская программа сама распознает и перенаправляет (redirect) запрос к удаленной машине. Отсюда и название, часто используемое для клиентской части сетевой ОС, — редиректор.
Иногда функции распознавания выделяются в отдельный программный модуль, в этом случае редиректором называют не всю клиентскую часть, а только этот модуль.
Клиентские части сетевых ОС выполняют также преобразование фор-матов запросов к ресурсам. Они принимают запросы от приложений на доступ к сетевым ресурсам в локальной форме, то есть в форме, принятой в локальной части ОС. В сеть же запрос передается клиентской частью в другой форме, соответствующей требованиям серверной части ОС, работающей на компьютере, где расположен требуемый ресурс.
Клиентская часть также осуществляет прием ответов от серверной части и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.