Файл: Сетевые операционные системы (Требования, предъявляемые к сетевым операционным системам).pdf
Добавлен: 29.06.2023
Просмотров: 40
Скачиваний: 2
ВВЕДЕНИЕ
На сегодняшний день известно огромное количество разнообразных видов операционных систем, которые различаются областью использования, аппаратной платформой, методами реализации и другими аспектами. Закономерен тот факт, что разнообразие операционных систем порождает их существенные функциональные различия. Кроме того, даже одна-единственная операционная система может включать в себя такой элемент, который еще вчера отсутствовал, что также сильно затрудняет определение выполняемых функций той или иной операционной системой. С этим связана необходимость грамотного и эффективного выделения функций операционных систем и определения некоторой классификации.
Известно, что операционные системы, применяемые в работе компьютерных сетей, во многом аналогичны и сопоставимы с операционными системами автономных персональных компьютеров. Так, корпоративная операционная система также является комплексом взаимосвязанных программ, обеспечивающим комфортность работы пользователям и программистам посредством предоставления им определенной виртуальной вычислительной системы, и реализующим эффективный способ распределения ресурсов между множеством выполняемых в сети процессов.
В современном мире сетевыми операционными системами пользуется большинство успешных организаций и предприятий, и можно предположить, что именно этот факт дает им возможность оставаться конкурентоспособными на рынке. Это можно объяснить тем, что современные требования общества и экономики требуют высокой скорости обработки информации, что на сегодняшний день реализуется именно информационными системами. Сетевые операционные системы являются наиболее удобными для подобного вида организаций.
Таким образом, объектом исследования выступают сетевые операционные системы.
Целью выполнения работы является изучение сетевых операционных систем.
Для достижения поставленной цели необходимо выполнить следующие задачи:
- изучить требования, предъявляемые к сетевым операционным системам;
- рассмотреть архитектуру сетевых операционных систем;
- проанализировать основные ресурсы и службы сетевых операционных систем;
- охарактеризовать примеры сетевых операционных систем, такие как UNIX, Linux, NetWare и Windows NT.
В качестве основной теоретической базы выступают работы современных исследователей проблемы, таких как Петерсен Р., Попов И. И., Максимов Н. В. и Храмцов П. Б.
1.Теоретические основы сетевых операционных систем
1.1.Требования, предъявляемые к сетевым операционным системам
Одной из основных задач любой, в том числе и сетевой, операционной системы (далее – ОС) является управление использованием ресурсов. Данная задача подразумевает тот факт, что управление распределением и использованием ресурсов компьютера должно быть реализовано таким образом, чтобы была обеспечена максимальная эффективность ее функционирования. Как критерий эффективности может быть рассмотрен такой аспект, как, например, пропускная способность или скорость оклика системы.
Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:
- планирование использования ресурса, а именно - определение какому процессу, когда, в каком объеме, необходимо выделить данный ресурс;
- отслеживание состояния ресурса, то есть поддерживать набор оперативной информации о степени занятости ресурса[1].
Сетевая ОС (далее – СОС) позволяет разделять ресурсы не только локально, но и в рамках сети объединяющей машины со своими средствами межсетевого взаимодействия. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств, а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным ресурсам, однако эти дополнения существенно не меняют структуру самой операционной системы[2].
Фактически на современном уровне развития компьютерных технологий наличие у ОС возможностей для сетевого взаимодействия из разряда желательного перешло в разряд необходимого для полноценной работы пользователя.
В отличии от сетевой ОС, распределенные ОС (РОС), реализует сетевое разделения ресурсов, моделируя единую виртуальную машину над сетью. Работая с РОС пользователю нет необходимости знать подключена его машина к сети, является ли данный ресурс локальным и где на планете выполняется его программа. Основное отличие сетевой ОС от распределенной ОС – в сети взаимодействуют несколько сетевых ОС (по одной на абонента), в то время как в распределенной ОС есть одна операционная система, которая обслуживает сеть[3].
Набор характеристик сетевой ОС.
Большое разнообразие типов компьютеров, используемых в вычислительных сетях, влечет за собой разнообразие операционных систем: для рабочих станций, для серверов сетей уровня отдела и серверов уровня предприятия в целом. К ним могут предъявляться различные требования по производительности и функциональным возможностям, желательно, чтобы они обладали определенным набором характеристик, который позволил бы обеспечить совместную работу различных ОС:
Поддерживающие многопроцессорность: Последняя может быть симметричной (процессоры равномерно нагружаются кодами разных программ), асимметричной (один процессор выполняет один процесс).
Многозадачность: Многозадачная ОС управляет ресурсами разделяемыми несколькими одновременно выполняющимися конкурирующими программами. Многозадачность разделяется на несколько типов, в зависимости от реализованного алгоритма управления разделением процессорного времени. Основные виды многозадачности - вытесняющая (ОС выделяет квант времени процессу или нити, затем прерывает их выполнение и выделяет квант времени следующему процессу или нити) и кооперативная (сам процесс определяет в какой момент времени вернуть ОС управление, например во время ожидания ввода)
Многонитеевые: Позволяет распараллеливать вычисления в рамках одного процесса. С точки зрения программирования нить - информация о состоянии (контексте) процесса. Нить создается и используется таким образом, что несколько процессов (нитей) может выполняться в рамках одного кода, но с использованием разных данных об окружении (контекстах). Обычно многонитиевость используется при написании программ-серверов, которым надо взаимодействовать единым образом с заранее неизвестным числом пользователей[4].
ОС делятся по критерию оптимизации на системы:
Пакетные: критерий эффективности - максимальное число решенных задач, которые поступают в ОС наборами (пакетами). ОС оптимизирует выполнение задач, а не взаимодействие с пользователем.
Реального времени: Отвечают на входящие данные немедленно. Критерий эффективности - гарантированное время реакции системы (скорость выполнения процессов и разделение процессорного времени) на информационный сигнал. Неспециализированные UNIX и DOS ОС не являются системами реального времени, т.к. не гарантируют одинаковое время реакции системы на входные данные.
Разделения времени: процессорное время равномерно распределяется между задачами, что делает работу пользователя более удобной. Критерий оптимальности - честное распределение (по потребностям) процессорного времени между разными задачами с одинаковым приоритетом на использование этого ресурса[5].
Большинство СОС можно отнести к последним двум типам.
Также сетевые ОС делятся на СОС со встроенными сетевыми функциями и на оболочки с сетевыми функциями над локальными ОС.
Рассмотрим набор критериев, на основе которого решается, на сколько хорошо данная ОС может выполнять функции сетевой ОС. Основные требования, предъявляемые фирмами к современным сетевым ОС:
-
- Системная архитектура. Данное требование отвечает на следующие вопросы: управление какими ресурсами и какие алгоритмы управления она поддерживает, возможен ли ее запуск на многопроцессорной архитектуре, какие микропроцессорные архитектуры (Intel x86, Alpha, PowerPC) поддерживаются
- Масштабируемость. Данное требование определяет количество ресурсов, которыми сможет управлять операционная система;
- Производительность. К данному требованию относится скорость выполнения СОС требуемого класса задач, количество одновременных обращений пользовательских процессов которое в состоянии обслужить система
- Надежность. Здесь рассматривается поддержка средствами СОС средств резервирования данных, транзакций, поддержка или нахождение в составе СОС надежной файловой системы.
- Безопасность. Отвечает на вопросы: какой уровень защиты информации поддерживает СОС, ограничения на доступ к каким ресурсам она поддерживает, какая система прав доступа поддерживается.
- Средства администрирования. Рассматривает вопрос, какие утилиты и как помогают администрировать СОС
- .Поддержка сетевых сред. Осуществляет поддержку СОС физических устройств, работающих с Ethernet, Token ring, оптоволокном и т.п.
- Поддержка стеков протоколов. Отвечает на вопросы, на каких и скольких стеках протоколов может функционировать СОС и поддержка программного обеспечения для работы с данными в рамках всемирной сети Интернет
- Сетевая печать. Регламентирует вопросы о печати – сколько поддерживается средствами СОС принтеров на сервер, очередей на принтер
- Приложения. Регламентируют вопрос, какие приложения включены в стандартную поставку СОС, какую минимальную функциональность обеспечивает СОС (это могут быть почтовые сервера и клиенты, средства разработки, сервера печати, Интернет сервера и т.п.)
- Совместимость. Решает, насколько СОС совместима с уже имеющимися программно-аппаратными комплексами предприятия[6].
Из вышеперечисленных положений и требований можно сделать вывод, что корректно функционирующая сетевая операционная система должна:
- поддерживать возможность работы на многопроцессорной ЭВМ (с симметричной многопроцессорностью)
- быть многозадачной и поддерживать нити в рамках одного процесса.
- при необходимости быть многопользовательской.
В общем случае для большинства современных коммерческих сетевых ОС вопрос, какая из них лучше задавать бессмысленно – раз все выдерживают конкуренцию, значит у каждой есть какие-то достоинства. Решение о выборе сетевой ОС обычно основываются на оценке набора критериев, подобно приведенному выше, применительно к конкретной ситуации[7].
Архитектура сетевых операционных систем
Центральным критерием, определяющим значительность влияния на производительность и масштабируемость операционной системы, выступает ее архитектура. Чтобы предстать в настоящем виде, ОС преодолели немалый путь развития, начиная от монолитных систем, и заканчивая, на сегодняшний день, грамотно структурированными модульными системами, которые способны развиваться, расширяться и обладают сносной переносимостью.
Рассмотрим основную классификацию по типу архитектуры сетевых операционных систем.
Монолитные системы
В широком «структура» монолитной системы является отсутствием какой-либо структуры. Подобная ОС предстает в виде набора определенных процедур, каждая из которых при необходимости может реализовать вызов последующих. При применении подобной технологии каждая процедура системы обладает хорошо определенным интерфейсом, и каждая также обладает способностью вызвать любую другую в случае необходимости.
Многоуровневые системы
От монолитных операционных систем к многоуровневым приходят посредством структуризации. Здесь уровни образуются группами функций операционной системы – файловая система, управление процессами и устройствами и т.п. Каждый уровень обладает возможностью взаимодействия исключительно со своим ближайшим соседом – выше– или нижележащим уровнем. Запросы передаются вверх и вниз по этим уровням при помощи прикладных программ или модулей.
На сегодняшний день подобная технология все больше воспринимается вспомогательной, если не сказать – устаревшей, несмотря на то, что продолжительное время реализовывалась достаточно неплохо.
В тот момент, когда стал очевидным тот факт, что ОС могут существовать и быть востребованными продолжительное время, стало также очевидно, что необходимо снабжать их возможностями модернизации и улучшения. Таким образом была разработана модель клиент-сервер с технологией микроядра[8].