Сетевые ОС
Сетевые ОС
1. Введение 3
1.1 ОС как расширенная машина 3
1.2 ОС как система управления ресурсами 3
2. Классификация ОС 4
2.1 Особенности алгоритмов управления ресурсами 4
2.1.1. Поддержка многозадачности. 4
2.1.2. Поддержка многопользовательского режима. 4
2.1.3. Вытесняющая и невытесняющая многозадачность. 4
2.1.4. Поддержка многонитевости. 4
2.1.5. Многопроцессорная обработка. 5
2.2 Особенности аппаратных платформ 5
2.3 Особенности областей использования 6
2.4 Особенности методов построения 6
3. Сетевые операционные системы 8
3.1 Структура сетевой операционной системы 8
3.2 Одноранговые сетевые ОС и ОС с выделенными серверами 10
3.3 ОС для рабочих групп и ОС для сетей масштаба предприятия 11
4. Процессы и нити в распределенных системах 14
4.1 Понятие "нить" 14
4.2 Различные способы организации вычислительного процесса с
использованием нитей 14
4.3 Вопросы реализации нитей 16
4.4 Нити и RPC 16
5. Современные концепции и технологии проектирования операционных систем
17
5.1 Требования, предъявляемые к ОС 90-х годов 17
5.1.1. Расширяемость 17
5.1.2. Переносимость 18
5.1.3. Совместимость 19
5.1.4. Безопасность 19
6. Операционные системы различных фирм производителей программного
обеспечения 21
6.1 Семейство операционных систем UNIX 21
6.2 Микроядро Mach 23
6.2.1. История Mach 24
6.2.2. Цели Mach 24
6.2.3. Основные концепции Mach 24
6.2.4. Сервер Mach BSD UNIX 25
6.3 Сетевые продукты фирмы Novell 26
6.3.1. История и версии сетевой ОС NetWare 26
6.3.2. Версия NetWare 4.1 27
6.4 Семейство сетевых ОС компании Microsoft 29
6.4.1. Сетевые продукты Microsoft 29
6.4.2. Windows NT 4.0 30
6.4.3. Области использования Windows NT 30
6.4.4. Концепции Windows NT 31
6.4.5. Совместимость Windows NT с NetWare 41
6.5 Операционная система OS/2 42
6.5.1. История развития OS/2 и ее место на рынке 42
6.5.2. Битва Microsoft - IBM на рынке настольных ОС 42
6.5.3. OS/2 - постепенные улучшения 43
7. Заключение 44
Список литературы 46
приложение 47
Введение
Операционная система в наибольшей степени определяет облик всей
вычислительной системы в целом. Несмотря на это, пользователи, активно
использующие вычислительную технику, зачастую испытывают затруднения при
попытке дать определение операционной системе. Частично это связано с тем,
что ОС выполняет две по существу мало связанные функции: обеспечение
пользователю-программисту удобств посредством предоставления для него
расширенной машины и повышение эффективности использования компьютера путем
рационального управления его ресурсами.
1 ОС как расширенная машина
Использование большинства компьютеров на уровне машинного языка
затруднительно, особенно это касается ввода-вывода. Например, для
организации чтения блока данных с гибкого диска программист может
использовать 16 различных команд, каждая из которых требует 13 параметров,
таких как номер блока на диске, номер сектора на дорожке и т. п. Когда
выполнение операции с диском завершается, контроллер возвращает 23
значения, отражающих наличие и типы ошибок, которые, очевидно, надо
анализировать. Даже если не входить в курс реальных проблем
программирования ввода-вывода, ясно, что среди программистов нашлось бы не
много желающих непосредственно заниматься программированием этих операций.
При работе с диском программисту-пользователю достаточно представлять его в
виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом
заключается в его открытии, выполнении чтения или записи, а затем в
закрытии файла. Вопросы подобные таким, как следует ли при записи
использовать усовершенствованную частотную модуляцию или в каком состоянии
сейчас находится двигатель механизма перемещения считывающих головок, не
должны волновать пользователя. Программа, которая скрывает от программиста
все реалии аппаратуры и предоставляет возможность простого, удобного
просмотра указанных файлов, чтения или записи - это, конечно, операционная
система. Точно также, как ОС ограждает программистов от аппаратуры
дискового накопителя и предоставляет ему простой файловый интерфейс,
операционная система берет на себя все малоприятные дела, связанные с
обработкой прерываний, управлением таймерами и оперативной памятью, а также
другие низкоуровневые проблемы. В каждом случае та абстрактная,
воображаемая машина, с которой, благодаря операционной системе, теперь
может иметь дело пользователь, гораздо проще и удобнее в обращении, чем
реальная аппаратура, лежащая в основе этой абстрактной машины.
С этой точки зрения функцией ОС является предоставление пользователю
некоторой расширенной или
виртуальной машины, которую легче программировать и с которой легче
работать, чем непосредственно с
аппаратурой, составляющей реальную машину.
2 ОС как система управления ресурсами
Идея о том, что ОС прежде всего система, обеспечивающая удобный
интерфейс пользователям, соответствует рассмотрению сверху вниз. Другой
взгляд, снизу вверх, дает представление об ОС как о некотором механизме,
управляющем всеми частями сложной системы. Современные вычислительные
системы состоят из процессоров, памяти, таймеров, дисков, накопителей на
магнитных лентах, сетевых коммуникационной аппаратуры, принтеров и других
устройств. В соответствии со вторым подходом функцией ОС является
распределение процессоров, памяти, устройств и данных между процессами,
конкурирующими за эти ресурсы.
ОС должна управлять всеми ресурсами вычислительной машины таким
образом, чтобы обеспечить
максимальную эффективность ее функционирования. Критерием эффективности
может быть, например,
пропускная способность или реактивность системы. Управление ресурсами
включает решение двух общих, не зависящих от типа ресурса задач:
планирование ресурса - то есть определение, кому, когда, а для делимых
ресурсов и в каком количестве,
необходимо выделить данный ресурс;
отслеживание состояния ресурса - то есть поддержание оперативной
информации о том, занят или не
занят ресурс, а для делимых ресурсов - какое количество ресурса уже
распределено, а какое свободно.
Для решения этих общих задач управления ресурсами разные ОС используют
различные алгоритмы, что в
конечном счете и определяет их облик в целом, включая характеристики
производительности, область
применения и даже пользовательский интерфейс. Так, например, алгоритм
управления процессором в
значительной степени определяет, является ли ОС системой разделения
времени, системой пакетной
обработки или системой реального времени.
Классификация ОС
Операционные системы могут различаться особенностями реализации внутренних
алгоритмов управления основными ресурсами компьютера (процессорами,
памятью, устройствами), особенностями использованных методов
проектирования, типами аппаратных платформ, областями использования и
многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам.
1 Особенности алгоритмов управления ресурсами
От эффективности алгоритмов управления локальными ресурсами компьютера во
многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя
сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по
управлению процессорами, памятью, внешними устройствами автономного
компьютера. Так, например, в зависимости от особенностей использованного
алгоритма управления процессором, операционные системы делят на
многозадачные и однозадачные, многопользовательские и однопользовательские,
на системы, поддерживающие многонитевую обработку и не поддерживающие ее,
на многопроцессорные и однопроцессорные системы.
1 Поддержка многозадачности.
По числу одновременно выполняемых задач операционные системы могут быть
разделены на два класса:
однозадачные (например, MS-DOS, MSX) и
многозадачные (OC EC, OS/2, UNIX, Windows 95).
Однозадачные ОС в основном выполняют функцию предоставления пользователю
виртуальной машины, делая более простым и удобным процесс взаимодействия
пользователя с компьютером. Однозадачные ОС включают средства управления
периферийными устройствами, средства управления файлами, средства общения с
пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением
совместно используемых ресурсов, таких как процессор, оперативная память,
файлы и внешние устройства.
2 Поддержка многопользовательского режима.
По числу одновременно работающих пользователей ОС делятся на:
однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских
является наличие средств защиты информации каждого пользователя от
несанкционированного доступа других пользователей. Следует заметить, что не
всякая многозадачная система является многопользовательской, и не всякая
однопользовательская ОС является однозадачной.
3 Вытесняющая и невытесняющая многозадачность.
Важнейшим разделяемым ресурсом является процессорное время. Способ
распределения процессорного времени между несколькими одновременно
существующими в системе процессами (или нитями) во многом определяет
специфику ОС. Среди множества существующих вариантов реализации
многозадачности можно выделить две группы алгоритмов:
невытесняющая многозадачность (NetWare, Windows 3.x);
вытесняющая многозадачность (Windows NT, OS/2, UNIX).
Основным различием между вытесняющим и невытесняющим вариантами
многозадачности является степень централизации механизма планирования
процессов. В первом случае механизм планирования процессов целиком
сосредоточен в операционной системе, а во втором - распределен между
системой и прикладными программами. При невытесняющей многозадачности
активный процесс выполняется до тех пор, пока он сам, по собственной
инициативе, не отдаст управление операционной системе для того, чтобы та
выбрала из очереди другой готовый к выполнению процесс. При вытесняющей
многозадачности решение о переключении процессора с одного процесса на
другой принимается операционной системой, а не самим активным процессом.
4 Поддержка многонитевости.
Важным свойством операционных систем является возможность распараллеливания
вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное
время не между задачами, а между их отдельными ветвями (нитями).
5 Многопроцессорная обработка.
Другим важным свойством ОС является отсутствие или наличие в ней средств
поддержки многопроцессорной обработки - мультипроцессирование.
Мультипроцессирование приводит к усложнению всех алгоритмов управления
ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки
многопроцессорной обработки данных. Такие функции имеются в операционных
системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus
Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы
Novell.
Многопроцессорные ОС могут классифицироваться по способу организации
вычислительного процесса в системе с многопроцессорной архитектурой:
асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется
только на одном из процессоров системы, распределяя прикладные задачи по
остальным процессорам. Симметричная ОС полностью децентрализована и
использует весь пул процессоров, разделяя их между системными и прикладными
задачами.
Выше были рассмотрены характеристики ОС, связанные с управлением только
одним типом ресурсов - процессором. Важное влияние на облик операционной
системы в целом, на возможности ее использования в той или иной области
оказывают особенности и других подсистем управления локальными ресурсами -
подсистем управления памятью, файлами, устройствами ввода-вывода.
Специфика ОС проявляется и в том, каким образом она реализует сетевые
функции: распознавание и перенаправление в сеть запросов к удаленным
ресурсам, передача сообщений по сети, выполнение удаленных запросов. При
реализации сетевых функций возникает комплекс задач, связанных с
распределенным характером хранения и обработки данных в сети: ведение
справочной информации о всех доступных в сети ресурсах и серверах,
адресация взаимодействующих процессов, обеспечение прозрачности доступа,
тиражирование данных, согласование копий, поддержка безопасности данных.
2 Особенности аппаратных платформ
На свойства операционной системы непосредственное влияние оказывают
аппаратные средства, на которые она ориентирована. По типу аппаратуры
различают операционные системы персональных компьютеров, мини-компьютеров,
мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров
могут встречаться как однопроцессорные варианты, так и многопроцессорные. В
любом случае специфика аппаратных средств, как правило, отражается на
специфике операционных систем.
Очевидно, что ОС большой машины является более сложной и функциональной,
чем ОС персонального компьютера. Так в ОС больших машин функции по
планированию потока выполняемых задач, очевидно, реализуются путем
использования сложных приоритетных дисциплин и требуют большей
вычислительной мощности, чем в ОС персональных компьютеров. Аналогично
обстоит дело и с другими функциями.
Сетевая ОС имеет в своем составе средства передачи сообщений между
компьютерами по линиям связи, которые совершенно не нужны в автономной ОС.
На основе этих сообщений сетевая ОС поддерживает разделение ресурсов
компьютера между удаленными пользователями, подключенными к сети. Для
поддержания функций передачи сообщений сетевые ОС содержат специальные
программные компоненты, реализующие популярные коммуникационные протоколы,
такие как IP, IPX, Ethernet и другие.
Многопроцессорные системы требуют от операционной системы особой
организации, с помощью которой сама операционная система, а также
поддерживаемые ею приложения могли бы выполняться параллельно отдельными
процессорами системы. Параллельная работа отдельных частей ОС создает
дополнительные проблемы для разработчиков ОС, так как в этом случае гораздо
сложнее обеспечить согласованный доступ отдельных процессов к общим
системным таблицам, исключить эффект гонок и прочие нежелательные
последствия асинхронного выполнения работ.
Другие требования предъявляются к операционным системам кластеров. Кластер
- слабо связанная совокупность нескольких вычислительных систем, работающих
совместно для выполнения общих приложений, и представляющихся пользователю
единой системой. Наряду со специальной аппаратурой для функционирования
кластерных систем необходима и программная поддержка со стороны
операционной системы, которая сводится в основном к синхронизации доступа к
разделяемым ресурсам, обнаружению отказов и динамической реконфигурации
системы. Одной из первых разработок в области кластерных технологий были
решения компании Digital Equipment на базе компьютеров VAX. Недавно этой
компанией заключено соглашение с корпорацией Microsoft о разработке
кластерной технологии, использующей Windows NT. Несколько компаний
предлагают кластеры на основе UNIX-машин.
Наряду с ОС, ориентированными на совершенно определенный тип аппаратной
платформы, существуют операционные системы, специально разработанные таким
образом, чтобы они могли быть легко перенесены с компьютера одного типа на
компьютер другого типа, так называемые мобильные ОС. Наиболее ярким
примером такой ОС является популярная система UNIX. В этих системах
аппаратно-зависимые места тщательно локализованы, так что при переносе
системы на новую платформу переписываются только они. Средством,
облегчающем перенос остальной части ОС, является написание ее на машинно-
независимом языке, например, на С, который и был разработан для
программирования операционных систем.
3 Особенности областей использования
Многозадачные ОС подразделяются на три типа в соответствии с
использованными при их разработке критериями эффективности:
системы пакетной обработки (например, OC EC),
системы разделения времени (UNIX, VMS),
системы реального времени (QNX, RT/11).
Системы пакетной обработки предназначались для решения задач в основном
вычислительного характера, не требующих быстрого получения результатов.
Главной целью и критерием эффективности систем пакетной обработки является
максимальная пропускная способность, то есть решение максимального числа
задач в единицу времени. Для достижения этой цели в системах пакетной
обработки используются следующая схема функционирования: в начале работы
формируется пакет заданий, каждое задание содержит требование к системным
ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то
есть множество одновременно выполняемых задач. Для одновременного
выполнения выбираются задачи, предъявляющие отличающиеся требования к
ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех
устройств вычислительной машины; так, например, в мультипрограммной смеси
желательно одновременное присутствие вычислительных задач и задач с
интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета
заданий зависит от внутренней ситуации, складывающейся в системе, то есть
выбирается "выгодное" задание. Следовательно, в таких ОС невозможно
гарантировать выполнение того или иного задания в течение определенного
периода времени. В системах пакетной обработки переключение процессора с
выполнения одной задачи на выполнение другой происходит только в случае,
если активная задача сама отказывается от процессора, например, из-за
необходимости выполнить операцию ввода-вывода. Поэтому одна задача может
надолго занять процессор, что делает невозможным выполнение интерактивных
задач. Таким образом, взаимодействие пользователя с вычислительной машиной,
на которой установлена система пакетной обработки, сводится к тому, что он
приносит задание, отдает его диспетчеру-оператору, а в конце дня после
выполнения всего пакета заданий получает результат. Очевидно, что такой
порядок снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем
пакетной обработки - изоляцию пользователя-программиста от процесса
выполнения его задач. Каждому пользователю системы разделения времени
предоставляется терминал, с которого он может вести диалог со своей
программой. Так как в системах разделения времени каждой задаче выделяется
только квант процессорного времени, ни одна задача не занимает процессор
надолго, и время ответа оказывается приемлемым. Если квант выбран
достаточно небольшим, то у всех пользователей, одновременно работающих на
одной и той же машине, складывается впечатление, что каждый из них
единолично использует машину. Ясно, что системы разделения времени обладают
меньшей пропускной способностью, чем системы пакетной обработки, так как на
выполнение принимается каждая запущенная пользователем задача, а не та,
которая "выгодна" системе, и, кроме того, имеются накладные расходы
вычислительной мощности на более частое переключение процессора с задачи на
задачу. Критерием эффективности систем разделения времени является не
максимальная пропускная способность, а удобство и эффективность работы
пользователя.
Системы реального времени применяются для управления различными
техническими объектами, такими, например, как станок, спутник, научная
экспериментальная установка или технологическими процессами, такими, как
гальваническая линия, доменный процесс и т.п. Во всех этих случаях
существует предельно допустимое время, в течение которого должна быть
выполнена та или иная программа, управляющая объектом, в противном случае
может произойти авария: спутник выйдет из зоны видимости, экспериментальные
данные, поступающие с датчиков, будут потеряны, толщина гальванического
покрытия не будет соответствовать норме. Таким образом, критерием
эффективности для систем реального времени является их способность
выдерживать заранее заданные интервалы времени между запуском программы и
получением результата (управляющего воздействия). Это время называется
временем реакции системы, а соответствующее свойство системы -
реактивностью. Для этих систем мультипрограммная смесь представляет собой
фиксированный набор заранее разработанных программ, а выбор программы на
выполнение осуществляется исходя из текущего состояния объекта или в
соответствии с расписанием плановых работ.
Некоторые операционные системы могут совмещать в себе свойства систем
разных типов, например, часть задач может выполняться в режиме пакетной
обработки, а часть - в режиме реального времени или в режиме разделения
времени. В таких случаях режим пакетной обработки часто называют фоновым
режимом.
4 Особенности методов построения
При описании операционной системы часто указываются особенности ее
структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
Способы построения ядра системы - монолитное ядро или микроядерный подход.
Большинство ОС использует монолитное ядро, которое компонуется как одна
программа, работающая в привилегированном режиме и использующая быстрые
переходы с одной процедуры на другую, не требующие переключения из
привилегированного режима в пользовательский и наоборот. Альтернативой
является построение ОС на базе микроядра, работающего также в
привилегированном режиме и выполняющего только минимум функций по
управлению аппаратурой, в то время как функции ОС более высокого уровня
выполняют специализированные компоненты ОС - серверы, работающие в
пользовательском режиме. При таком построении ОС работает более медленно,
так как часто выполняются переходы между привилегированным режимом и
пользовательским, зато система получается более гибкой - ее функции можно
наращивать, модифицировать или сужать, добавляя, модифицируя или исключая
серверы пользовательского режима. Кроме того, серверы хорошо защищены друг
от друга, как и любые пользовательские процессы.
Построение ОС на базе объектно-ориентированного подхода дает возможность
использовать все его достоинства, хорошо зарекомендовавшие себя на уровне
приложений, внутри операционной системы, а именно: аккумуляцию удачных
решений в форме стандартных объектов, возможность создания новых объектов
на базе имеющихся с помощью механизма наследования, хорошую защиту данных
за счет их инкапсуляции во внутренние структуры объекта, что делает данные
недоступными для несанкционированного использования извне,
структуризованность системы, состоящей из набора хорошо определенных
объектов.
Наличие нескольких прикладных сред дает возможность в рамках одной ОС
одновременно выполнять приложения, разработанные для нескольких ОС. Многие
современные операционные системы поддерживают одновременно прикладные среды
MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из
этого популярного набора. Концепция множественных прикладных сред наиболее
просто реализуется в ОС на базе микроядра, над которым работают различные
серверы, часть которых реализуют прикладную среду той или иной операционной
системы.
Распределенная организация операционной системы позволяет упростить работу
пользователей и программистов в сетевых средах. В распределенной ОС
реализованы механизмы, которые дают возможность пользователю представлять и
воспринимать сеть в виде традиционного однопроцессорного компьютера.
Характерными признаками распределенной организации ОС являются: наличие
единой справочной службы разделяемых ресурсов, единой службы времени,
использование механизма вызова удаленных процедур (RPC) для прозрачного
распределения программных процедур по машинам, многонитевой обработки,
позволяющей распараллеливать вычисления в рамках одной задачи и выполнять
эту задачу сразу на нескольких компьютерах сети, а также наличие других
распределенных служб.
Сетевые операционные системы
1 Структура сетевой операционной системы
Сетевая операционная система составляет основу любой вычислительной сети.
Каждый компьютер в сети в значительной степени автономен, поэтому под
сетевой операционной системой в широком смысле понимается совокупность
операционных систем отдельных компьютеров, взаимодействующих с целью обмена
сообщениями и разделения ресурсов по единым правилам - протоколам. В узком
смысле сетевая ОС - это операционная система отдельного компьютера,
обеспечивающая ему возможность работать в сети.
[pic]
Рис. 1.1. Структура сетевой ОС
В сетевой операционной системе отдельной машины можно выделить несколько
частей (рисунок 1.1):
Средства управления локальными ресурсами компьютера: функции распределения
оперативной памяти между процессами, планирования и диспетчеризации
процессов, управления процессорами в мультипроцессорных машинах, управления
периферийными устройствами и другие функции управления ресурсами локальных
ОС.
Средства предоставления собственных ресурсов и услуг в общее пользование -
серверная часть ОС (сервер). Эти средства обеспечивают, например,
блокировку файлов и записей, что необходимо для их совместного
использования; ведение справочников имен сетевых ресурсов; обработку
запросов удаленного доступа к собственной файловой системе и базе данных;
управление очередями запросов удаленных пользователей к своим периферийным
устройствам.
Средства запроса доступа к удаленным ресурсам и услугам и их использования
- клиентская часть ОС (редиректор). Эта часть выполняет распознавание и
перенаправление в сеть запросов к удаленным ресурсам от приложений и
пользователей, при этом запрос поступает от приложения в локальной форме, а
передается в сеть в другой форме, соответствующей требованиям сервера.
Клиентская часть также осуществляет прием ответов от серверов и
преобразование их в локальный формат, так что для приложения выполнение
локальных и удаленных запросов неразличимо.
Коммуникационные средства ОС, с помощью которых происходит обмен
сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию
сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и
т.п., то есть является средством транспортировки сообщений.
В зависимости от функций, возлагаемых на конкретный компьютер, в его
операционной системе может отсутствовать либо клиентская, либо серверная
части.
На рисунке 1.2 показано взаимодействие сетевых компонентов. Здесь компьютер
1 выполняет роль "чистого" клиента, а компьютер 2 - роль "чистого" сервера,
соответственно на первой машине отсутствует серверная часть, а на второй -
клиентская. На рисунке отдельно показан компонент клиентской части -
редиректор. Именно редиректор перехватывает все запросы, поступающие от
приложений, и анализирует их. Если выдан запрос к ресурсу данного
компьютера, то он переадресовывается соответствующей подсистеме локальной
ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть.
При этом клиентская часть преобразует запрос из локальной формы в сетевой
формат и передает его транспортной подсистеме, которая отвечает за доставку
сообщений указанному серверу. Серверная часть операционной системы
компьютера 2 принимает запрос, преобразует его и передает для выполнения
своей локальной ОС. После того, как результат получен, сервер обращается к
транспортной подсистеме и направляет ответ клиенту, выдавшему запрос.
Клиентская часть преобразует результат в соответствующий формат и адресует
его тому приложению, которое выдало запрос.
[pic]
Рис. 1.2. взаимодействие компонентов операционной системы при
взаимодействии компьютеров
На практике сложилось несколько подходов к построению сетевых операционных
систем (рисунок 1.3).
[pic]
Рис. 1.3. Варианты построения сетевых ОС
Первые сетевые ОС представляли собой совокупность существующей локальной ОС
и надстроенной над ней сетевой оболочки. При этом в локальную ОС
встраивался минимум сетевых функций, необходимых для работы сетевой
оболочки, которая выполняла основные сетевые функции. Примером такого
подхода является использование на каждой машине сети операционной системы
MS DOS (у которой начиная с ее третьей версии появились такие встроенные
функции, как блокировка файлов и записей, необходимые для совместного
доступа к файлам). Принцип построения сетевых ОС в виде сетевой оболочки
над локальной ОС используется и в современных ОС, таких, например, как
LANtastic или Personal Ware.
Однако более эффективным представляется путь разработки операционных
систем, изначально предназначенных для работы в сети. Сетевые функции у ОС
такого типа глубоко встроены в основные модули системы, что обеспечивает их
логическую стройность, простоту эксплуатации и модификации, а также высокую
производительность. Примером такой ОС является система Windows NT фирмы
Microsoft, которая за счет встроенности сетевых средств обеспечивает более
высокие показатели производительности и защищенности информации по
сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с
IBM), являющейся надстройкой над локальной операционной системой OS/2.
2 Одноранговые сетевые ОС и ОС с выделенными серверами
В зависимости от того, как распределены функции между компьютерами сети,
сетевые операционные системы, а следовательно, и сети делятся на два
класса: одноранговые и двухранговые (рисунок 1.4). Последние чаще называют
сетями с выделенными серверами.
[pic]
(а)
[pic]
(б)
Рис. 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.
В одноранговых сетях также может возникнуть функциональная
несимметричность: одни пользователи не желают разделять свои ресурсы с
другими, и в таком случае их компьютеры выполняют роль клиента, за другими
компьютерами администратор закрепил только функции по организации
совместного использования ресурсов, а значит они являются серверами, в
третьем случае, когда локальный пользователь не возражает против
использования его ресурсов и сам не исключает возможности обращения к
другим компьютерам, ОС, устанавливаемая на его компьютере, должна включать
и серверную, и клиентскую части. В отличие от сетей с выделенными
серверами, в одноранговых сетях отсутствует специализация ОС в зависимости
от преобладающей функциональной направленности - клиента или сервера. Все
вариации реализуются средствами конфигурирования одного и того же варианта
ОС.
Одноранговые сети проще в организации и эксплуатации, однако они
применяются в основном для объединения небольших групп пользователей, не
предъявляющих больших требований к объемам хранимой информации, ее
защищенности от несанкционированного доступа и к скорости доступа. При
повышенных требованиях к этим характеристикам более подходящими являются
двухранговые сети, где сервер лучше решает задачу обслуживания
пользователей своими ресурсами, так как его аппаратура и сетевая
операционная система специально спроектированы для этой цели.
3 ОС для рабочих групп и ОС для сетей масштаба предприятия
Сетевые операционные системы имеют разные свойства в зависимости от того,
предназначены они для сетей масштаба рабочей группы (отдела), для сетей
Страницы: 1, 2, 3, 4, 5
|