Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Сетевые операционные системы (Требования, предъявляемые к сетевым операционным системам)

Содержание:

ВВЕДЕНИЕ

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

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

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

Таким образом, объектом исследования выступают сетевые операционные системы.

Целью выполнения работы является изучение сетевых операционных систем.

Для достижения поставленной цели необходимо выполнить следующие задачи:

  1. изучить требования, предъявляемые к сетевым операционным системам;
  2. рассмотреть архитектуру сетевых операционных систем;
  3. проанализировать основные ресурсы и службы сетевых операционных систем;
  4. охарактеризовать примеры сетевых операционных систем, такие как UNIX, Linux, NetWare и Windows NT.

В качестве основной теоретической базы выступают работы современных исследователей проблемы, таких как Петерсен Р., Попов И. И., Максимов Н. В. и Храмцов П. Б.

1.Теоретические основы сетевых операционных систем

1.1.Требования, предъявляемые к сетевым операционным системам

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

Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:

  • планирование использования ресурса, а именно - определение какому процессу, когда, в каком объеме, необходимо выделить данный ресурс;
  • отслеживание состояния ресурса, то есть поддерживать набор оперативной информации о степени занятости ресурса[1].

Сетевая ОС (далее – СОС) позволяет разделять ресурсы не только локально, но и в рамках сети объединяющей машины со своими средствами межсетевого взаимодействия. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств, а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным ресурсам, однако эти дополнения существенно не меняют структуру самой операционной системы[2].

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

В отличии от сетевой ОС, распределенные ОС (РОС), реализует сетевое разделения ресурсов, моделируя единую виртуальную машину над сетью. Работая с РОС пользователю нет необходимости знать подключена его машина к сети, является ли данный ресурс локальным и где на планете выполняется его программа. Основное отличие сетевой ОС от распределенной ОС – в сети взаимодействуют несколько сетевых ОС (по одной на абонента), в то время как в распределенной ОС есть одна операционная система, которая обслуживает сеть[3].

Набор характеристик сетевой ОС.

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

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

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

Многонитеевые: Позволяет распараллеливать вычисления в рамках одного процесса. С точки зрения программирования нить - информация о состоянии (контексте) процесса. Нить создается и используется таким образом, что несколько процессов (нитей) может выполняться в рамках одного кода, но с использованием разных данных об окружении (контекстах). Обычно многонитиевость используется при написании программ-серверов, которым надо взаимодействовать единым образом с заранее неизвестным числом пользователей[4].

ОС делятся по критерию оптимизации на системы:

Пакетные: критерий эффективности - максимальное число решенных задач, которые поступают в ОС наборами (пакетами). ОС оптимизирует выполнение задач, а не взаимодействие с пользователем.

Реального времени: Отвечают на входящие данные немедленно. Критерий эффективности - гарантированное время реакции системы (скорость выполнения процессов и разделение процессорного времени) на информационный сигнал. Неспециализированные UNIX и DOS ОС не являются системами реального времени, т.к. не гарантируют одинаковое время реакции системы на входные данные.

Разделения времени: процессорное время равномерно распределяется между задачами, что делает работу пользователя более удобной. Критерий оптимальности - честное распределение (по потребностям) процессорного времени между разными задачами с одинаковым приоритетом на использование этого ресурса[5].

Большинство СОС можно отнести к последним двум типам.

Также сетевые ОС делятся на СОС со встроенными сетевыми функциями и на оболочки с сетевыми функциями над локальными ОС.

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

    1. Системная архитектура. Данное требование отвечает на следующие вопросы: управление какими ресурсами и какие алгоритмы управления она поддерживает, возможен ли ее запуск на многопроцессорной архитектуре, какие микропроцессорные архитектуры (Intel x86, Alpha, PowerPC) поддерживаются
    2. Масштабируемость. Данное требование определяет количество ресурсов, которыми сможет управлять операционная система;
    3. Производительность. К данному требованию относится скорость выполнения СОС требуемого класса задач, количество одновременных обращений пользовательских процессов которое в состоянии обслужить система
    4. Надежность. Здесь рассматривается поддержка средствами СОС средств резервирования данных, транзакций, поддержка или нахождение в составе СОС надежной файловой системы.
    5. Безопасность. Отвечает на вопросы: какой уровень защиты информации поддерживает СОС, ограничения на доступ к каким ресурсам она поддерживает, какая система прав доступа поддерживается.
    6. Средства администрирования. Рассматривает вопрос, какие утилиты и как помогают администрировать СОС
    7. .Поддержка сетевых сред. Осуществляет поддержку СОС физических устройств, работающих с Ethernet, Token ring, оптоволокном и т.п.
    8. Поддержка стеков протоколов. Отвечает на вопросы, на каких и скольких стеках протоколов может функционировать СОС и поддержка программного обеспечения для работы с данными в рамках всемирной сети Интернет
    9. Сетевая печать. Регламентирует вопросы о печати – сколько поддерживается средствами СОС принтеров на сервер, очередей на принтер
    10. Приложения. Регламентируют вопрос, какие приложения включены в стандартную поставку СОС, какую минимальную функциональность обеспечивает СОС (это могут быть почтовые сервера и клиенты, средства разработки, сервера печати, Интернет сервера и т.п.)
    11. Совместимость. Решает, насколько СОС совместима с уже имеющимися программно-аппаратными комплексами предприятия[6].

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

  • поддерживать возможность работы на многопроцессорной ЭВМ (с симметричной многопроцессорностью)
  • быть многозадачной и поддерживать нити в рамках одного процесса.
  • при необходимости быть многопользовательской.

В общем случае для большинства современных коммерческих сетевых ОС вопрос, какая из них лучше задавать бессмысленно – раз все выдерживают конкуренцию, значит у каждой есть какие-то достоинства. Решение о выборе сетевой ОС обычно основываются на оценке набора критериев, подобно приведенному выше, применительно к конкретной ситуации[7].

Архитектура сетевых операционных систем

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

Рассмотрим основную классификацию по типу архитектуры сетевых операционных систем.

Монолитные системы

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

Многоуровневые системы

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

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

В тот момент, когда стал очевидным тот факт, что ОС могут существовать и быть востребованными продолжительное время, стало также очевидно, что необходимо снабжать их возможностями модернизации и улучшения. Таким образом была разработана модель клиент-сервер с технологией микроядра[8].

Модель клиент-сервер и микроядра

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

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

Микроядро реализует основную функцию операционной системы – управление ресурсами. Кроме того, нередки случаи, когда микроядро также выполняет функцию взаимодействия с аппаратным обеспечением. Различные варианты реализации модели клиент-сервер в структуре ОС могут существенно различаться по объему работ, выполняемых в режиме ядра.

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

В состав микроядра обычно не включают сетевые функции, пользовательский интерфейс, файловую систему, а лишь основные функции управления[9].

Объектно-ориентированный подход

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

Естественно, что центральным понятием объектно-ориентированного подходя является объект. В данном случае под объектом понимается единица программ и данных, которая взаимодействует с иными объектами при помощи обмена сообщениями. Объект может также представлять собой представление как определенной конкретной вещи, например, программы или документа, так и абстрактного предмета или явления – например, процесс или событие.

В данном подходе функции, которые реализует объект, формируют список действий, которые можно выполнить над данными, хранящимися в самом объекте. Так, объект-клиент имеет возможность обращения к другому объекту, которое реализуется при отправке сообщения с запросом на выполнение необходимой функции объекта-сервера.

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

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

Полностью объектно-ориентированные ОС особенно привлекательны для системных программистов, так как, применяя объекты системного уровня, программисты смогут залезать вглубь операционных систем для приспособления их к своим нуждам, не нарушая целостность системы[10].

На сегодняшний день объектно-ориентированный подход представляет собой одно из наиболее перспективных направлений в конструировании программного обеспечения.

Множественные прикладные среды

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

На современном уровне освоения информационных систем уже стандартным является наличие на компьютере средств выполнения «чужих» программ. Так, отпадает большая часть ограничений со стороны прикладных программ при выборе той или иной операционной системы. Кроме того, с течением времени подход множественных прикладных сред становится все более не новшеством, а стандартом.

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

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

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

Таким образом, очевидно, что ОС претерпели ряд существенных изменений в процессе своего развития, и выросли от монолитных систем к хорошо структурированным модульным системам, которые способны к развитию, расширению и простой интеграции с новыми, беспрестанно прогрессирующими платформами[11].

2.Обзор примеров сетевых операционных систем

2.1 Операционная система UNIX

Операционная система UNIX была задумана как инструментальная система, предназначенная для разработки программного обеспечения. Уникальной эту систему делает тот факт, что она была спроектирована по большому счету только лишь двумя разработчиками, при этом система вообще создавалась для личного пользования и некоторое время применялась на мини-ЭВМ. Отсюда также идут истоки скромности командного интерфейса и, одновременно, независимость файловой системы. Система была написана на языке С, который известен тем, что на нем пишутся прикладные программы наравне с системными. Отсюда исходит легкость и мобильность системы.[12].

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

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

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

  • обращения к файлам, устройствам ввода/вывода и буферам межпроцессных сообщений выполняются с помощью одних и тех же примитивов;
  • одни и те же механизмы именования, присвоения альтернативных имен и защиты от несанкционированного доступа применяются к файлам с данными и директориями и устройствам;
  • одни и те же механизмы работают в отношении программно и аппаратно инициируемых прерываний[13].

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

Также следует иметь ввиду такую особенность UNIX, как способность предоставления пользователям возможности направления выхода одной программы сразу на вход другой посредством программных каналов. В результате подобного подхода появляется возможность новые программы создавать путем компоновки и объединения уже имеющихся и функционирующих небольших программ. Это избавляет от необходимости написания новых программных продуктов, что существенно экономит время и другие ресурсы.[14]

Отличия ос UNIX от других систем

Операционная система UNIX представляет собой ядро с включенными в него драйверами и из утилит. Если есть необходимость изменения конфигурации операционной системы UNIX, то следует пересобирание или, иначе говоря, перелинковывание ядра из объектных кодов или из исходных текстов. В то же время, в системе Windows и OS/2 при загрузке прилинковывают драйверы, и при таком подходе значительно снижается компактность собранного ядра и повторное использование общего кода, особенно в сравнении с UNIX. В данном случае компактность кода является наиболее важным фактором, так как ядро и драйверы никогда не свопируются на диск. Кроме того, UNIX представляет собой операционную систему, которая на сегодняшний день поддерживает наибольшее число платформ.

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

Практически все протоколы, на которых основан Internet, ориентированы под ОС UNIX (TCP/IP).

Функции ос UNIX, особенности её построения - принцип иерархии.

К основным функциям операционной системы UNIX можно отнести следующее:

  1. Обработка прерываний.
  2. Создание и уничтожение процессов.
  3. Переключение процессов из одного состояния в другое.
  4. Диспетчеризация.
  5. Приостановка и активизация процессов.
  6. Синхронизация процессов.
  7. Организация взаимодействия между процессами.
  8. Манипулирование блоками управления процессами.
  9. Поддержка операции ввода-вывода.
  10. Поддержка операции распределения и перераспределения памяти.
  11. Поддержка работы файловых систем.
  12. Поддержка механизма вызова-возврата по обращению к процедурам[15].

В структуре рассматриваемой операционной системы выделяются три основные части:

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

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

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

Для создания системного процесса используется системный вызов fork (разветвление), в результате которого получаются два идентичных процесса, называемые родительский процесс и порожденный (дочерний) процесс. Они не имеют общей первичной памяти, но совместно используют все открытые файлы. Для уничтожения процесса имеется вызов EXIT, который завершает работу данного процесса и передает код возврата (завершения) родительскому процессу. Сегменты данного процесса уничтожаются. Остается структура пользования для родительского процесса. Когда родительский процесс подучил информацию об уничтожении порожденного им процесса, тогда уничтожается структура пользования и освобождается место в таблице процессов[16].

Операционная система Linux

Linux – это современная POSIX-совместимая и Unix-подобная операционная система для персональных компьютеров и рабочих станций.

Это многопользовательская сетевая операционная система с сетевой оконной графической системой X Window System. ОС Linux поддерживает стандарты открытых систем и протоколы сети Internet и совместима с системами Unix, DOS, MS Windows. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

ОС Linux широко распространена на платформах Intel PC 386/486/Pentium/Pentium Pro и завоевывает позиции на ряде других платформ (DEC AXP, Power Macintosh и др.).

Разработка ОС Linux выполнена Линусом Торвалдсом из университета Хельсинки и не поддающейся подсчету обширной командой из тысяч пользователей сети Internet, сотрудников исследовательских центpов, фондов, унивеpситетов и т.д[17].

Возможности, которые предоставляет ОС Linux:

  • дает возможность бесплатно и легально иметь современную ОС для использования как на работе, так и дома;
  • обладает высоким быстродействием;
  • работает надежно, устойчиво, совершенно без зависаний;
  • мало подвержена вирусам;
  • позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие DOS и MS Windows по использованию памяти машины и ресурсов процессора(ов);
  • эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д. и т.п.) не мешают интерактивной работе;
  • позволяет легко интегрировать компьютер в локальные и глобальные сети, в т.ч. в Internet; работает с сетями на базе Novell и MS Windows;
  • позволяет выполнять представленные в формате загрузки прикладные программы других ОС - различных версий Unix, DOS и MS Windows;
  • обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире Unix и свободно распространяемых вместе с исходными текстами;
  • предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;
  • дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС;
  • дает всем желающим попробовать свои силы в разработке, организовать общение и совместную работу через Internet с любыми из разработчиков ОС Linux и сделать свой вклад, став соавтором системы[18].

Характерные особенности Linux как ОС:

  • многозадачность: много программ выполняются одновременно;
  • многопользовательский режим: много пользователей одновременно работают на одной и той же машине;
  • защищенный режим процессора (386 protected mode);
  • защита памяти процесса; сбой программы не может вызвать зависания системы;
  • экономная загрузка: Linux считывает с диска только те части программы, которые действительно используются для выполнения;
  • разделение страниц по записи между экземплярами выполняемой программы. Это значит, что процессы-экземпляры программы могут использовать при выполнении одну и ту же память. Когда такой процесс пытается произвести запись в память, то 4-x килобайтная страница, в которую идет запись, копируется на свободное место. Это свойство увеличивает быстродействие и экономит память;
  • виртуальная память со страничной организацией (т.е. на диск из памяти вытесняется не весь неактивный процесс, а только требуемая страница); виртуальная память в самостоятельных разделах диска и/или файлах файловой системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной памяти во время выполнения программ;
  • общая память программ и дискового кэша: вся свободная память используется для буферизации обмена с диском;
  • динамические загружаемые разделяемые библиотеки;
  • дамп программы для пост-мортем анализа: позволяет анализировать отладчиком не только выполняющуюся, но и завершившуюся аварийно программу;
  • сертификация по стандарту POSIX.1, совместимость со стандартами System V и BSD на уровне исходных текстов;
  • через iBCS2-согласованный эмулятор совместимость с SCO, SVR3, SVR4 по загружаемым программам,
  • наличие исходного текста всех программ, включая тексты ядра, драйверов, средств разработки и приложений. Эти тексты свободно распространяются. В настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих программ без исходных текстов, но все, что было свободным так и остается свободным;
  • управление заданиями в стандарте POSIX;
  • эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он и используется;
  • поддержка национальных алфавитов и соглашений, в т.ч. для русского языка; возможность добавлять новые;
  • множественные виртуальные консоли: на одном дисплее несколько одновременных независимых сеансов работы, переключаемых с клавиатуры;
  • поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые системы System V); наличие собственной передовой файловой системы объемом до 4 Терабайт и с именами файлов до 255 знаков;
  • прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как часть файловой системы Linux; поддержка VFAT (WNT, Windows 95);
  • специальная файловая система UMSDOS, которая позволяет устанавливать Linux в файловую систему DOS;
  • доступ (только чтение) к файловой системе HPFS-2 OS/2 2.1;
  • поддержка всех стандартных форматов CD ROM;
  • поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д[19].

Как выглядит одновременное выполнение нескольких программ.

Так называемая виртуальная мультиконсоль дает возможность на одном дисплее организовать работу нескольких консолей. На первой консоли запускается процесс трансляции. Комбинацией клавиш Alt-F2 следует переход на вторую консоль. Трансляция продолжается, но при этом первая консоль на экране дисплея заменяется новой картинкой второй консоли. В которой запускается, например, редактор текста. Комбинацией Alt-F3 следует переход на третью консоль, в которой запускается отладчик и т.д. Обычно в системе 8 консолей, но можно установить до 64-х. В любой момент времени можно переключиться на любую консоль.

На отдельной консоли может работать как текстовая, так и графическая программа.

На одной из свободных консолей можно запустить оконную графическую систему X Window System. Открываем новое окно и запускаем игру. Можно через сеть с партнером. А в других окнах - база данных, почта, редактор, трансляция и т.д.

Таким образом, одновременно работает много консолей, а на одной из консолей еще и много окон X Window System.

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

Linux обеспечивает физическое распараллеливание вычислений на многопроцессорных машинах (до 32 процессоров), но это не имеет прямого отношения к одновременному выполнению нескольких программ. Операционная система позволяет одновременно выполнять несколько задач на одном процессоре, сотни раз в секунду переключая процессор с задачи на задачу[20].

Операционная система NetWare

Возможности, предоставляемые пользователю

NetWare предоставляет пользователям следующие возможности:

  • поддерживает коллективное использование файлов,
  • обеспечивает доступ к сетевым принтерам,
  • предлагает средства для работы с электронной почтой,
  • поддерживает работу СУБД различных типов,
  • обеспечивает доступ к файловому серверу со стороны рабочих станций, функционирующих под управлением различных операционных систем,
  • предлагает средства, позволяющие объединять удаленные сегменты сети,
  • обеспечивает «прозрачность» доступа локальных и удаленных пользователей к ресурсам сети,
  • предлагает средства для надежного хранения данных,
  • обеспечивает защиту ресурсов сети от несанкционированного доступа,
  • поддерживает динамически расширяемые многосегментные тома на нескольких дисках файлового сервера,
  • предоставляет средства управления ресурсами корпоративных сетей: единый каталог сетевых ресурсов NDS в NetWare 4.1,
  • обеспечивает передачу и обработку данных с использованием разных протоколов: SPX/IPX, TCP/IP, NetBIOS, AppleTalk,
  • поддерживает работу суперсерверов в симметричном режиме функционирования (ОС NetWare 4.1 SMP)[21].

Рассмотрим некоторые возможности более подробно.

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

Если всем пользователям сети необходимо выводить данные на печать, а число принтеров меньше количества рабочих станций, то NetWare позволяет сделать печатающие устройства разделяемыми, т.е. доступными всем клиентам сети.

Под управлением NetWare функционирует шлюз электронной почты (ЭП) MHS (Message Handling Service). Этот программный продукт состоит из NLM-модулей. Он вошел в состав NetWare 4.1 как штатное средство. MHS управляет сбором, маршрутизацией и доставкой сообщений через разнородные шлюзы ЭП и линии связи. С MHS совместимы более 200 пакетов электронной почты, функционирующих на рабочих станциях[22].

NetWare обеспечивает работу СУБД, поддерживающих две технологии обработки запросов: «клиент-файл» и «клиент-сервер». В СУБД типа «клиент-файл» запросы прикладной программы к базе данных (БД) транслируются и выполняются на рабочей станции, на файловом сервере хранятся файлы БД, индексные и технологические файлы. К этому классу СУБД относятся следующие популярные пакеты: dBase (Borland), Clipper (Computer Association), FoxPro (Microsoft), Paradox (Borland), Clarion (Clarion) и т. д. В СУБД типа «клиент-сервер» запрос к БД передается серверу СУБД, функционирующему как совокупность NLM-модулей на файловом сервере. Здесь запрос транслируется и выполняется. На рабочую станцию обратно передаются только результаты выполнения запроса. Для СУБД этого типа характерно уменьшение сетевого трафика и увеличение нагрузочной способности сети. СУБД Oracle 7 (Oracle), SQLBase (Gupta), Btrieve (Btrieve Technologies), Progress 7 (Progress Software) и т.д. поддерживают технологию «клиент-сервер».

Следует также отметить, что в NetWare обеспечена возможность доступа к файловому серверу со стороны рабочих станций, функционирующих под управлением различных операционных систем: MS DOS, OS/2, UNIX, Macintosh, Windows NT Workstation и т.д. В настоящее время разработаны средства взаимодействия NetWare с другими сетевыми операционными системами: OS/2 LAN Server, Windows NT Server, UNIX.

Фирма Novell разработала программное обеспечение выделенных маршрутизаторов, позволяющих объединять удаленные сегменты сети. В качестве примера такого средства можно назвать продукт NetWare Multi Protocol Router 3.0[23].

Если каждому пользователю сети необходимо обеспечить доступ к удаленным ресурсам (шлюзам электронной почты, удаленным сегментам, удаленным рабочим станциям и т.д.), то эту задачу можно решить двумя способами: либо выделить каждой станции свой модем (рисунок 1.3), либо сделать модемы разделяемыми (общими). В последнем случае модемы необходимо подключить к файловому серверу и использовать программные продукты (группы NLM-модулей) NACS или NetWare Connect (рисунок 1.4).

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

Чтобы предотвратить передачу программ по каналам связи, на выделенной локальной станции разворачивают многозадачную среду, например, DESQview386. В этой среде и выполняются утилиты и приложения DOS (800 Кб ОП на один сеанс), инициируемые пользователем удаленной рабочей станции. По каналам связи передаются только данные, вводимые или выводимые на экран этой рабочей станции, функционирующей в режиме терминала (рисунок 1.5).

Для выполнения Windows-приложений, инициируемых с удаленных рабочих станций, можно использовать многозадачную среду WinView for Networks v.2.3 (Citrix System Inc.), разработанную на базе OS/2 (5 или 10 сеансов Windows, 4 Мб ОП на один сеанс плюс 8 Мб под WinView).

NetWare поддерживает несколько уровней SFT, обеспечивающих надежное хранение данных:

  1. на уровне SFT-I:
  • дублирование таблиц DET и FAT тома,
  • проверка записи на диск последующим чтением,
  • динамическая переадресация блоков (Hot Fix);
  1. на уровне SFT-II:
  • зеркальное отображение дисков (Disk Mirroring),
  • дублирование дисков (Disk Duplexing),
  • система отслеживания транзакций TTS (Transaction Tracking System),
  • использование устройств бесперебойного питания (UPS);
  1. на уровне SFT-III:
  • зеркальное отображение файловых серверов[24].

Операционная система Windows NT

Операционная система Windows NT имеет модульную структуру. Это означает, что она состоит из четко разделяемых компонентов, каждый из которых отвечает строго за свои функции. Структурно операционная система Windows NT может быть представлена в виде двух частей (см. рис.): одна часть системы работает в режиме пользователя (user mode), другая часть работает в режиме ядра (kernel mode)[25].

Структура Windows NT

Часть Windows NT, работающая в режиме ядра, называется Executive - исполнительной частью. Она включает ряд компонентов, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждая компонента вызывает другие с помощью набора тщательно специфицированных внутренних процедур. Режим ядра представляет собой привилегированный режим. Код, выполняющийся в режиме ядра, имеет прямой доступ ко всем аппаратным средствам и всей памяти, включая адресные пространства всех процессов режима пользователя.

В состав модуля Executive входят такие компоненты, как Уровень аппаратных абстракций (Hardware Abstraction Level, HAL), ядро системы, а также сервисные модули Windows NT Executive[26].

«Сердцем» операционной системы Windows NT, работающим в тесной взаимосвязи с HAL, является ядро (или микроядро - microkernel). Ядро осуществляет диспетчеризацию нитей, обработку прерываний и исключительных ситуаций. Если компьютер имеет многопроцессорную архитектуру, ядро повышает производительность системы, синхронизируя работу процессоров. В мультипроцессорной конфигурации ядро может одновременно выполняться на всех процессорах.

Роль ядра заключается в том, чтобы обеспечить оптимальную загрузку всех процессоров и наилучшую производительность системы. Для этого ядро осуществляет диспетчеризацию нитей в соответствии с их приоритетами. Фактически, оно принудительным образом проводит политику диспетчеризации, реализуемую модулем Windows NT Executive. Кроме того, ядро вытесняет (preempt) нити с низким приоритетом в пользу более высокоприоритетных нитей. Оно может принудительным образом выполнять переключения контекста (context switches), давая процессору инструкции прекратить выполнение одной задачи и взяться за другую. Таким образом, код, выполняющийся в такой системе, должен быть реентерабельным (reentrant). Под реентерабельностью кода понимается способность прервать выполнение и быть выгруженным, а также возобновить выполнение без потери информации. Кроме того, реентерабельный код может совместно использоваться несколькими различными нитями, выполняющими различные строки одного и того же кода на различных процессорах[27].

Ядро является единственной неперемещаемой в памяти (nonpageable) и невыгружаемой (nonpreemptible) частью операционной системы. За редким исключением все остальные нити, работающие в Windows NT 4.0, в том числе и в составе модуля Executive, являются выгружаемыми (preemptible) и полностью реентерабельными. За счет этого достигается максимальная эффективность системы.

Наконец, ядро синхронизирует деятельность таких сервисов Windows NT Executive, как Диспетчер ввода/вывода (I/O Manager) и Диспетчер процессов (Process Manager). Кроме того, компоненты Executive используют еще более высокие уровни абстракции, называемые объектами микроядра (microkernel objects), часть из которых экспортируется в пределах интерфейсных вызовов API с пользовательскими приложениями.

Модуль Windows NT Executive содержит набор сервисов общего назначения, доступных всем компонентам операционной системы. Каждой группой сервисов управляет один из следующих модулей:

  1. Диспетчер объектов. Создает, удаляет и управляет объектами NT Executive - абстрактными типами данных, используемых для представления ресурсов системы.
  2. Монитор безопасности. Устанавливает правила защиты на локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов.
  3. Диспетчер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию.
  4. Диспетчер виртуальной памяти. Отображает виртуальные адреса в адресном пространстве процесса на физические страницы памяти компьютера.
  5. Подсистема ввода-вывода.
  6. Средства вызова локальных процедур.
  7. Диспетчер окон. Отвечает за создание экранного интерфейса и за процессы, использующие оконные функции[28].

Интерфейс графических устройств (GDI) - графическое ядро системы. Состоит из функций Win32k.sys, в задачи которых входит отображение графики на мониторе компьютера и ее печать принтерах. Функции GDI выполняют роль посредников между приложениями и драйверами графических устройств типа дисплеев и принтеров.

ЗАКЛЮЧЕНИЕ

В ходе выполнения работы была достигнута цель исследования: изучены сетевые операционные системы.

Для достижения данной цели были выполнены следующие задачи:

  1. изучены требования, предъявляемые к сетевым операционным системам;
  2. рассмотрена архитектура сетевых операционных систем;
  3. проанализированы основные ресурсы и службы сетевых операционных систем;
  4. охарактеризованы примеры сетевых операционных систем, такие как UNIX, Linux, NetWare и Windows NT.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Андреев А.Г. и др. Microsoft Windows XP. Руководство администратора / под общ. ред. А.Н.Чекмарева. - СПб.: БХВ-Петербург, 2006. - 848 с.: ил.
  2. Безопасность сети на основе Microsoft Windows 2000. Учебный курс MSCE. 2001 Москва Русская Редакция
  3. Дьяконов В.Ю., Китов В.А., Калиничев И.А. Системное программирование: уч. пособие для втузов. Под ред. А. Л. Горелика. М.: Русская редакция, 2003,221с.
  4. Калверт Ч. Программирование в Windows. Освой самостоятельно. М.: Восточная Книжная Компания, 2000, 1008с.
  5. Керниган Б.В. Unix - универсальная среда программирования. М.: Финансы и статистика, 2003, 304с.
  6. Макин Дж.К, Десаи А. Развертывание и настройка Windows Server 2008. - М.:Русская Редакция, 2009. - 640 с.
  7. Мэсфилд Р. Windows 2000 для занятых. М.: Восточная Книжная Компания, 2000, 243с.
  8. Новиков Ю.В., Кондратенко С.В. Основы локальных сетей: курс лекций: учеб. пособие : для студентов вузов, обучающихся по специальностям в обл. информ. технологий. - М.: Интернет - Ун-т Информ. Технологий, 2005. - 360 с. - (Серия «Основы информационных технологий» / Интернет Ун-т информ. технологий).
  9. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. - СПб.:Питер, 2008. - 672 с.
  10. Партыка, Т. Л. Операционные системы, среды и оболочки [Текст]: учеб. пособие / Т. Л. Партыка, И. И. Попов.- М. : Форум, 2009.
  11. Петерсен Р. Linux: руководство по операционной системе. Киев: Издательская группа BHV, 2007, 688с.
  12. Петроченков А.А. Компьютер и периферия. М.: ВИНИТИ, 2007, 238с.
  13. Попов И.И., Максимов Н.В., Храмцов П.Б. Введение в сетевые информационные ресурсы и технологии: Учебное пособие. М.: РГГУ, 2009, 203с.
  14. Робачевский А.М. Операционная система Unix. СПб.: BHV Санкт-Петербург, 2004, 528с.
  15. Таненбаум Э.Операционные системы: Справочник. М.: Форум, 2008, 386с.
  16. Титаренко С.П. Управление процессами в современных операционных системах ЭВМ: учебное пособие.М.: Финансы и статистика, 2008, 214с.
  17. Фролов А.В., Фролов Г.В. Локальные сети персональных компьютеров. Монтаж сети, установка программного обеспечения. - М.: Диалог-МИФИ, 1994.-169с.
  18. Ханикат Дж. Знакомство с Microsoft Windows Server 2003 / Пер. с англ. - М.: ИЗдательско-торговый дом «Русская редакция», 2003. - 464 с.
  19. Холме Д. Эффективное администрирование. Ресурсы Windows Server 2008, Windows Vista, Windows XP, Windows Server 2003. - М.:Русская Редакция, 2009. - 768 с.
  20. Шиндер Т.В,. Шиндер Д.Л ISA Server 2004: Пер. с англ. - М.: Издательско-торговый дом «Русская Редакция»: СПб.: БХВ-Петербург, 2006. - 1088 с.
  1. Таненбаум Э.Операционные системы: Справочник. М.: Форум, 2008, 321с.

  2. Партыка, Т. Л. Операционные системы, среды и оболочки [Текст]: учеб. пособие / Т. Л. Партыка, И. И. Попов.- М. : Форум, 2009, 115 с.

  3. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. - СПб.:Питер, 2008. - 546 с.

  4. Петроченков А.А. Компьютер и периферия. М.: ВИНИТИ, 2007, 178с.

  5. Партыка, Т. Л. Операционные системы, среды и оболочки [Текст]: учеб. пособие / Т. Л. Партыка, И. И. Попов.- М. : Форум, 2009, 231 с.

  6. Таненбаум Э.Операционные системы: Справочник. М.: Форум, 2008, 178с.

  7. Таненбаум Э.Операционные системы: Справочник. М.: Форум, 2008, 203с.

  8. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. - СПб.:Питер, 2008. - 453 с.

  9. Партыка, Т. Л. Операционные системы, среды и оболочки [Текст]: учеб. пособие / Т. Л. Партыка, И. И. Попов.- М. : Форум, 2009, 143 с.

  10. Петроченков А.А. Компьютер и периферия. М.: ВИНИТИ, 2007, 209с.

  11. Петроченков А.А. Компьютер и периферия. М.: ВИНИТИ, 2007, 236с

  12. Робачевский А.М. Операционная система Unix. СПб.: BHV Санкт-Петербург, 2004, 501с.

  13. Робачевский А.М. Операционная система Unix. СПб.: BHV Санкт-Петербург, 2004, 503с.

  14. Керниган Б.В. Unix - универсальная среда программирования. М.: Финансы и статистика, 2003, 254с.

  15. Керниган Б.В. Unix - универсальная среда программирования. М.: Финансы и статистика, 2003, 298с.

  16. Робачевский А.М. Операционная система Unix. СПб.: BHV Санкт-Петербург, 2004, 498с.

  17. Петерсен Р. Linux: руководство по операционной системе. Киев: Издательская группа BHV, 2007, 603с.

  18. Петерсен Р. Linux: руководство по операционной системе. Киев: Издательская группа BHV, 2007, 607с.

  19. Петерсен Р. Linux: руководство по операционной системе. Киев: Издательская группа BHV, 2007, 611с.

  20. Петерсен Р. Linux: руководство по операционной системе. Киев: Издательская группа BHV, 2007, 623с.

  21. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. - СПб.:Питер, 2008. - 602 с.

  22. Партыка, Т. Л. Операционные системы, среды и оболочки [Текст]: учеб. пособие / Т. Л. Партыка, И. И. Попов.- М. : Форум, 2009, 156 с.

  23. Партыка, Т. Л. Операционные системы, среды и оболочки [Текст]: учеб. пособие / Т. Л. Партыка, И. И. Попов.- М. : Форум, 2009, 160 с.

  24. Петроченков А.А. Компьютер и периферия. М.: ВИНИТИ, 2007, 198с.

  25. Ханикат Дж. Знакомство с Microsoft Windows Server 2003 / Пер. с англ. - М.: ИЗдательско-торговый дом «Русская редакция», 2003. - 464 с.: ил.

  26. Холме Д. Эффективное администрирование. Ресурсы Windows Server 2008, Windows Vista, Windows XP, Windows Server 2003. - М.:Русская Редакция, 2009. - 768 с.: ил

  27. Мэсфилд Р. Windows 2000 для занятых. М.: Восточная Книжная Компания, 2000, 211с.

  28. Макин Дж.К, Десаи А. Развертывание и настройка Windows Server 2008. - М.:Русская Редакция, 2009. - 511 с.