Сети и сетевые операционные системы

Что такое сетевое программное обеспечение?

Лекция 1. Сетевые операционные системы: структура, назначение, функции

Сетевые операционные системы (Network Operating System – NOS ) – это комплекс программ, обеспечивающих обработку, хранение и передачу данных в сети.

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

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

    адресация объектов сети;

    функционирование сетевых служб;

    обеспечение безопасности данных;

    управление сетью.

При выборе NOS необходимо рассматривать множество факторов. Среди них:

    набор сетевых служб, которые предоставляет сеть;

    возможность наращивания имен, определяющих хранимые данные и прикладные программы;

    механизм рассредоточения ресурсов по сети;

    способ модификации сети и сетевых служб;

    надежность функционирования и быстродействие сети;

    используемые или выбираемые физические средства соединения;

    типы компьютеров, объединяемых в сеть, их операционные системы;

    предлагаемые системы, обеспечивающие управление сетью;

    используемые средства защиты данных;

    совместимость с уже созданными прикладными процессами;

    число серверов, которое может работать в сети;

    перечень ретрансляционных систем, обеспечивающих сопряжение локальных сетей с различными территориальными сетями;

    способ документирования работы сети, организация подсказок и поддержек.

Функции и характеристики сетевых операционных систем (ос).

Различают ОС со встроенными сетевыми функциями и оболочки над локальными ОС. По другому признаку классификации различают сетевые ОС одноранговые и функционально несимметричные (для систем "клиент/сервер").

Основные функции сетевой ОС:

    управление каталогами и файлами;

    управление ресурсами;

    коммуникационные функции;

    защита от несанкционированного доступа;

    обеспечение отказоустойчивости;

    управление сетью.

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

Управление ресурсами включает обслуживание запросов на предоставление ресурсов, доступных по сети.

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

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

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

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

Сетевая операционная система (англ. Network operating system) – это операционная система, которая обеспечивает обработку, хранение и передачу данных в информационной сети.

Главными задачами сетевой ОС являются разделение ресурсов сети (например, дисковые пространства) и администрирование сети. Системный администратор определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей. Отсюда сетевые ОС делят на сетевые ОС для серверов и сетевые ОС для пользователей.

Существуют специальные сетевые ОС, которым приданы функции обычных систем (например, Windows NT) и обычные ОС (Windows XP), которым приданы сетевые функции. Практически все современные ОС имеют встроенные сетевые функции.

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

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

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

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

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

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

14) Архитектура ОС Windows Первые версии системы имели микроядерный дизайн, основанный на микроядре Mach, которое было разработано в университете Карнеги-Меллона. Архитектура более поздних версий системы микроядерной уже не является.

Причина заключается в постепенном преодолении основного недостатка микроядерных архитектур - дополнительных накладных расходов, связанных с передачей сообщений. По мнению специалистов Microsoft, чисто микроядерный дизайн коммерчески невыгоден, поскольку неэффективен. Поэтому большой объем системного кода, в первую очередь управление системными вызовами и экранная графика, был перемещен из адресного пространства пользователя в пространство ядра и работает в привилегированном режиме. В результате в ядре ОС Windows переплетены элементы микроядерной архитектуры и элементы монолитного ядра (комбинированная система). Сегодня микроядро ОС Windows слишком велико (более 1 Мб), чтобы носить приставку "микро". Основные компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В тоже время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром.

Высокая модульность и гибкость первых версий Windows NT позволила успешно перенести систему на такие отличные от Intel платформы, как Alpha (корпорация DEC), Power PC (IBM) и MIPS (Silicon Graphic). Более поздние версии ограничиваются поддержкой архитектуры Intel x86. Упрощенная схема архитектуры, ориентированная на выполнение Win32-приложений, показана на рис.

Управление процессами

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

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

16) Планирование процессов включает в себя решение следующих задач:

Определение момента времени для смены выполняемого процесса;

Выбор процесса на выполнение из очереди готовых процессов;

Переключение контекстов "старого" и "нового" процессов.

Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно (см. раздел 2.3. "Средства аппаратной поддержки управления памятью и многозадачной среды в микропроцессорах Intel 80386, 80486 и Pentium").

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

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

процесс завершился и покинул систему,

произошла ошибка,

процесс перешел в состояние ОЖИДАНИЕ,

исчерпан квант процессорного времени, отведенный данному процессу.

Управление памятью

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

Типы адресов

Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса

Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.

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

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

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

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

Такое понятие, как сетевые операционные системы, начало приобретать широкое распространение в 1995 году. Как можно догадаться, этому поспособствовало появление нового продукта от компании Microsoft. А именно - операционной системы Windows 95. Она и считается родоначальницей данного класса продуктов. Основное отличие такой ОС - это возможность полноценной работы в сети, в сетевом окружении. Конечно, были и до этого программы, которые могли в таком режиме функционировать. Например, UNIX и Novell NetWare - это тоже сетевые операционные системы. Но они активно использовались лишь в строго определенных кругах, из-за этого не получили широкого распространения. А вот Microsoft сделал действительно успешный продукт, который стал родоначальником целого семейства таких программ.

Какими они бывают

Наибольшее распространение получили следующие ОС такого класса:

  • Windows;
  • Linux и Unix;
  • Android;
  • Novell Net Ware;
  • Mac OS.

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

ПО Microsoft

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

Linux и Unix

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

Novell Net Ware

Продукт компании Novell с названием Net Ware не приобрел большого распространения. Это и закономерно, поскольку данная ОС является серверной. Сейчас она получила логическое продолжение в виде Open Enterprise Server, которую еще можно встретить на некоторых серверах. Она еще является достаточно свежим продуктом, выпущенным в 2011 году.

iOS и Mac OS

Компания Apple разработала два подобных продукта. Первый - это iOS, используемый в мобильном сегменте продукции данного производителя (планшеты и смартфоны). Второй - это Mac OS, применяемый на персональных компьютерах.

Заключение

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

К таким возможностям можно отнести:

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

Примеры сетевых операционных систем:

  • Microsoft Windows (NT, XP, Vista, Seven)
  • Различные UNIX системы, такие как Solaris , FreeBSD
  • Различные GNU/Linux системы
  • ZyNOS компании ZyXEL

Основное назначение

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

  • сетевые ОС для серверов;
  • сетевые ОС для пользователей.

Существуют специальные сетевые ОС, которым приданы функции обычных систем (Пр.: Windows NT) и обычные ОС (Пр.: Windows XP), которым приданы сетевые функции. Сегодня практически все современные ОС имеют встроенные сетевые функции.


Wikimedia Foundation . 2010 .

Смотреть что такое "Сетевая операционная система" в других словарях:

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

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

    Разработанная корпорацией Microsoft сетевая операционная система с объектно ориентированной архитектурой. Основу ОС Cairo составляет объектно ориентированная файловая система. ОС Cairo обеспечивает распределенную среду обработки данных. По… … Финансовый словарь

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

    сетевая (операционная) система, базирующаяся на стандарте Ethernet - — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN Xerox Network SystemXNS … Справочник технического переводчика

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

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

По -другому обстоит дело с вычислительными сетями.

Для чего компьютеры объединяют в сети

Для чего вообще потребовалось объединять компьютеры в сети? Что привело к появлению сетей?

  • Одной из главных причин стала необходимость совместного использования ресурсов (как физических, так и информационных). Если в организации имеется несколько компьютеров и эпизодически возникает потребность в печати какого-нибудь текста, то не имеет смысла покупать принтер для каждого компьютера. Гораздо выгоднее иметь один сетевой принтер для всех вычислительных машин. Аналогичная ситуация может возникать и с файлами данных. Зачем держать одинаковые файлы данных на всех компьютерах, поддерживая их когерентность, если можно хранить файл на одной машине, обеспечив к нему сетевой доступ со всех остальных?
  • Второй причиной следует считать возможность ускорения вычислений. Здесь сетевые объединения машин успешно конкурируют с многопроцессорными вычислительными комплексами. Многопроцессорные системы, не затрагивая по существу строение операционных систем, требуют достаточно серьезных изменений на уровне hardware, что очень сильно повышает их стоимость. Во многих случаях можно добиться требуемой скорости вычислений параллельного алгоритма, используя не несколько процессоров внутри одного вычислительного комплекса, а несколько отдельных компьютеров, объединенных в сеть. Такие сетевые вычислительные кластеры часто имеют преимущество перед многопроцессорными комплексами в соотношении эффективность/стоимость.
  • Следующая причина связана с повышением надежности работы вычислительной техники. В системах, где отказ может вызвать катастрофические последствия (атомная энергетика, космонавтика, авиация и т. д.), несколько вычислительных комплексов устанавливаются в связи, дублируя друг друга. При выходе из строя основного комплекса его работу немедленно продолжает дублирующий.
  • Наконец, последней по времени появления причиной (но для многих основной по важности) стала возможность применения вычислительных сетей для общения пользователей. Электронные письма практически заменили письма обычные, а использование вычислительной техники для организации электронных или телефонных разговоров уверенно вытесняет обычную телефонную связь.

Сетевые и распределенные операционные системы

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

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