Сетевые и распределённые операционные системы
Операционная система компьютерной сети во многом аналогична ОС автономного компьютера. Она также представляет собой комплекс взаимосвязанных программ, который обеспечивает удобство работы пользователям и программистам путем предоставления им некоторой виртуальной машины, и реализует эффективный способ разделения ресурсов между множеством выполняемых в сети процессов.
При организации сетевой работы ОС играет роль интерфейса, абстрагирующего пользователя от деталей низкоуровневых программно-аппаратных средств сети. Например, вместо числовых адресов компьютеров сети, таких как МАС-адрес и IP-адрес, ОС компьютерной сети позволяет оперировать удобными для запоминания символьными именами.
В зависимости от того, какой виртуальный образ создает операционная система для того, чтобы подменить им реальную аппаратуру компьютерной сети, различают сетевые ОС и распределенные ОС.
Сетевая ОС предоставляет пользователю некую виртуальную вычислительную систему, работать с которой гораздо проще, чем с реальной сетевой аппаратурой. В то же время эта виртуальная система не полностью скрывает распределенную природу своего реального прототипа, т. е. является виртуальной сетью.
При использовании ресурсов компьютеров сети пользователь сетевой ОС всегда помнит, что имеет дело с сетевыми ресурсами. Для доступа к ресурсам нужно выполнять особые операции, например, просматривать список разделяемых ресурсов компьютеров сети, подключать к файловой системе удаленный разделяемый каталог на вымышленную букву локального дисковода (подключить сетевой диск) или ставить перед именем каталога еще и имя компьютера, на котором тот расположен.
Пользователи сетевой ОС обычно должны быть в курсе того, где хранятся их файлы, и должны использовать явные команды передачи файлов для перемещения файлов с одной машины в сети на другую.
Работая в среде сетевой ОС, пользователь, хотя и может запустить задание на любой машине сети, всегда знает, на какой машине выполняется его задание. По умолчанию пользовательское задание выполняется на той машине, на которой пользователь сделал логический вход. Если же он хочет выполнить задание на другой машине, то ему нужно либо выполнить логический вход в эту машину, используя команду типа remote login, либо ввести специальную команду удаленного выполнения, в которой он должен указать информацию, идентифицирующую удаленный компьютер.
Основным направлением развития сетевых ОС является достижение как можно более высокой степени прозрачности сетевых ресурсов. В идеальном случае сетевая ОС должна предоставлять пользователю сетевые ресурсы в виде ресурсов единой централизованной виртуальной машины. Для такой операционной системы используется специальное название — распределенная ОС, или истинно распределенная ОС.
Распределенная ОС, динамически и автоматически распределяя работы по различным машинам сети для обработки, заставляет набор машин работать как виртуальный универсальный процессор. Пользователь распределенной ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.
Распределенная ОС существует как единая операционная система в масштабах вычислительной системы (сети). Каждый компьютер сети, работающий под управлением распределенной ОС, выполняет часть функций этой глобальной ОС, которая объединяет все компьютеры сети для эффективного использования всех сетевых ресурсов.
В настоящее время все существующие операционные системы еще очень далеки от идеала истинной распределенности. Сегодняшние сетевые ОС могут рассматриваться как набор операционных систем, составляющих сеть. На разных компьютерах сети могут выполняться одинаковые или различные ОС (чаще различные). Все эти ОС функционируют практически независимо друг от друга в том смысле, что каждая из них принимает независимые решения о создании и завершении собственных процессов и управлении локальными ресурсами.
Однако в любом случае ОС компьютеров, работающих в сети, должны включать взаимно согласованный набор коммуникационных протоколов для организации взаимодействия процессов, выполняющихся на разных компьютерах сети, и разделения ресурсов этих компьютеров между пользователями сети.
Если операционная система отдельного компьютера позволяет ему работать в сети, т. е. предоставлять свои ресурсы в общее пользование и/или потреблять ресурсы других компьютеров сети, то такая операционная система отдельного компьютера также называется сетевой ОС.
Таким образом, термин «сетевая операционная система» используется в двух значениях: во-первых, как совокупность ОС всех компьютеров сети и, во-вторых, как операционная система отдельного компьютера, способного работать в сети.
В структуре сетевой ОС можно выделить следующие основные функциональные компоненты:
1. Средства управления локальными ресурсами компьютера, реализующие все функции ОС автономного компьютера (интерфейс с пользователем, создание, планирование и диспетчеризацию процессов, распределение памяти, управление внешней памятью, устройствами ввода-вывода и т. д.).
2. Сетевые средства, содержащие три основных компонента:
· средства предоставления локальных ресурсов и услуг в общее пользование — серверная часть ОС;
· средства запроса доступа к удаленным ресурсам и услугам — клиентская часть ОС;
· транспортные средства ОС, которые совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.