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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

Объектом исследования являются сетевые операционные системы для компьютеров.

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

Предмет исследования - основные характеристики и возможности современных сетевых операционных систем.

Задачи исследования: изучить:

  • основные понятия, функции, состав и принципы работы сетевых операционных систем;
  • архитектуру современных сетевых операционных систем;
  • особенности построения и эксплуатации современных сетевых операционных систем;
  • принципы управления ресурсами в сетевой операционной системе;
  • технические характеристики популярных сетевых операционных систем.

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

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

Информационные технологии, которые также являются «двигателем» развития операционных систем, развиваются динамично.

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

Технические обзоры сетевых операционных систем быстро устаревают. Интернет-ресурсы также предлагают материалы чаще всего на устаревших сетевых операционных системах.

Основная часть работы содержит материалы по современным сетевым операционным системам.

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

1 Обзор понятия сетевой операционной системы

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

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

Сетевая операционная система (англ, network operating system) - комплекс программ, обеспечивающих обработку, передачу и хранение данных в сети. Сетевая операционная система представляет пользователям различные виды сетевых служб [6].

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

Сервер (англ, server) - компьютер, подключенный к сети и обеспечивающий ее пользователей определенными услугами [4].

Рабочая станция (PC англ, workstation) - подключенный к сети компьютер, через который пользователь получает доступ к ее ресурсам [1].

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

Рисунок 1. Одноранговая сеть [6]

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

Рисунок 2. Компоненты ВМ [7]

В узком смысле сетевая операционная система - это операционная система отдельного компьютера с дополнительными средствами (сетевая надстройка), обеспечивающими возможность работать в сети [11]. Между операционными системами, сетевыми надстройками и пользовательскими приложениями каждой вычислительной машины образуются т.н. «виртуальные» каналы связи, через которые происходят «виртуальные» взаимодействия (рисунок 3).

Рисунок 3. Схема взаимодействия в сети с выделенным сервером один из компьютеров (сервер сети) [21]

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

Рисунок 4. Взаимодействие вычислительной машины в сети с выделенным сервером [12]

Сетевая операционная система обеспечивает персональному компьютеру ряд функций (рисунок 5).

Рисунок 5. Функции сетевой ОС на рабочей станции [12]

Средства управления локальными ресурсами компьютера производят:

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

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

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

Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть операционной системы (редиктор) используются для [14]:

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

Коммуникационные средства операционной системы - средства транспортировки сообщений в сети, которые обеспечивают:

  • адресацию и буферизацию сообщений;
  • выбор маршрута передачи сообщения по сети;
  • надежность передачи и т.п.

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

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

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

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

Рисунок 6 - Способы организации управления ресурсами сети

Таблицы объектов (англ. Bindery) - используются в сетевых операционных систем NetWare 286 - NetWare 4 [9]. Таблица объектов находится на каждом файловом сервере сети. Она содержит информацию о пользователях, группах, правах доступа к ресурсам сети (данным, сервисным услугам и т.п.). Такой способ организации удобен, если в сети только один сервер и требуется поддерживать только одну информационную базу. При добавлении новых серверов администратору необходимо контролировать работу пользователей на каждом сервере сети. Пользователи должны точно знать, где расположены те или иные ресурсы сети, а для получения доступа к ним - регистрироваться на выбранном сервере [27]. 

Структура доменов (англ. Domain) - используется в сетевых операционных системах LANServer и LANManager. Все ресурсы и пользователи сети объединены в группы. Домен можно рассматривать как аналог таблиц объектов, но в этом случае таблица является общей для нескольких серверов. Ресурсы серверов являются общими для всего домена. Чтобы получить доступ к ресурсам сети, пользователю достаточно зарегистрироваться в домене. Однако, как и в случае с таблицами объектов, при использовании этого подхода к сети с несколькими доменами возникают проблемы с организацией взаимодействия и управления, т.к. необходимо определять ресурсы, список пользователей и их права доступа для каждого домена отдельно [16].

Служба доменных имен (англ. Domain Name System, DNS) лишена этих недостатков. Все ресурсы сети: сетевая печать, хранение данных, пользователи, серверы и т.п. рассматриваются как отдельные каталоги системы. Таблицы, определяющие DNS, находятся на каждом сервере. Это повышает надежность системы и упрощает обращение пользователя к ресурсам сети. Зарегистрировавшись на одном сервере, пользователь получает доступ ко всем ресурсам сети. Управление такой системой проще, чем при использовании доменов, т.к. все ресурсы сети определяются при помощи одной таблицы [3].

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

2 Ресурсы и службы сетевой операционной системы

Важнейшей функцией сетевой операционной системы является организация рационального использования всех аппаратных и программных ресурсов системы. К основным ресурсам можно отнести: процессоры, память (виртуальная память), внешние устройства [6].

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

Сетевая операционная система реализует в данной подсистеме удаленную межпроцессную связь, работу процессов с удаленными ресурсами.

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

Согласно алгоритмам, основанным на квантовании, изменение активного процесса происходит, если [3]:

  • процесс завершен и покинул систему;
  • произошла ошибка;
  • процесс перешел в состояние ожидания;
  • квант процессорного времени, выделенного на этот процесс, исчерпан.

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

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

Существует два вида алгоритмов приоритета: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты [26].

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

Во многих операционных системах алгоритмы планирования строятся с использованием как квантования, так и приоритетов. Например, планирование основано на квантовании, но размер кванта и / или порядок выбора процесса из готовой очереди определяются приоритетами процессов [2].

Существует два основных типа процедур планирования процессов - вытесняющие и невытесняющие.

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

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

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

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

Память, к которой может получить доступ операционная система, может быть локальной, общей, распределенной, для работы со всеми видами памяти в операционной системе создается диспетчер памяти [5].

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

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

Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, Код и объем данных которых превышает объем доступной оперативной памяти; для этого виртуальная память решает следующие задачи [11]:

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

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

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

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

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

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

Современная файловая система имеет многоуровневую структуру, на верхнем уровне которой находится так называемый коммутатор файловых систем (в Windows, например, этот коммутатор называется installable file system Manager - installable filesystem manager, IFS) [29]. Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается приложение. Переключатель файловой системы преобразует запросы в формат, воспринимаемый уровнем файловой системы [6].

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

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

Также распределенная файловая система должна обеспечивать безопасность и надежность не только при хранении, но и при передаче данных. База данных NFS - это многоуровневая объектная база данных, которая поддерживает информацию о ресурсах для всех серверов в сети [18].

Распределение заключается в том, что информация не хранится на одном сервере, а разделена на части, называемые разделами.

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

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

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

По способу доступа к данным различают: данные с локальным доступом и данные с удаленным доступом. Для систем с удаленным доступом используют различные модели построения сетей [20]:

  • файл-сервер;
  • клиент-сервер (двухуровневая модель);
  • сервер приложений (трехуровневая модель).

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

На рабочей станции находятся прикладные программы, программы презентации и программы управления информационными ресурсами. Файл-сервер содержит файлы, необходимые для работы приложений и системы управления базой данных (СУБД) и поддерживает доступ к файлам. СУБД рабочей станции посылает запросы файл-серверу. Запрос осуществляется в командах языка манипулирования данными (ЯМД). СУБД переводит этот запрос в как для централизованных, так и для распределенных баз данных [21].

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

При большой интенсивности доступа к одним и тем же данным производительность файл-сервера падает. Скорость обработки данных файл- серверными системами ограничена транспортными возможностями сети [23].

Модель файл-сервер имеет и другие недостатки:

  1. На каждой рабочей станции должна находиться полная копия СУБД.
  2. Управление данными усложняется, поскольку доступ к одним и тем же файлам могут осуществлять сразу несколько СУБД клиентов.
  3. Манипулирование данными осуществляется только файловыми командами.
  4. Защита данных осуществляется только на уровне файловой системы.

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

При реализации модели клиент-сервер центральный компьютер сети (сервер баз данных) не только хранит данные, но и осуществляет выполнение основного объема их обработки [19]. 

За запросом на данные от клиента следует поиск и извлечение данных на сервере, после чего эти данные (не файлы базы данных) передаются по сети на рабочие станции. Спецификой модели клиент-сервер является использование языка запросов SQL (англ. Structured Query Language - язык структурированных запросов) [20]. При построении возможен ряд модификаций, в зависимости от того, какие уровни информационной системы входят в состав клиента, а какие - сервера. Самая первая клиент-серверная система получила название модель доступа к удаленным данным (англ. Remote Data Access, RDA). Ее также называют клиент-серверной архитектурой с «толстым» клиентом [25]. В такой системе на сервере хранятся база данных и ядро СУБД. На клиенте располагаются приложения, обеспечивающие ввод и отображение данных и прикладные программы. Клиент обращается к серверу с запросами на языке SQL.

Эта система по сравнению с моделью файл-сервер имеет преимущества:

  1. Взаимодействие клиента и сервера осуществляется на языке SQL.
  2. Сервер принимает и обрабатывает запросы, проверяет полномочия пользователей, гарантирует соблюдение целостности БД, выполняет обновление БД.
  3. SQL - запросы имеют меньший размер, по сравнению с файловыми командами, поэтому загрузка сети уменьшается.

Недостатки такой системы:

  1. Презентационные и прикладные приложения должны дублироваться на каждом клиенте.
  2. Управление выполняется клиентом, а сервер играет пассивную роль.

Существует клиент-серверная архитектура с «тонким» клиентом. Она получила название модель сервера базы данных (англ. DataBase Server, DBS) [13]. В этой модели клиент осуществляет только функцию отображения информации. В основе системы лежат механизмы хранимых процедур и триггеров.

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

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

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

В DBS-модели сервер является активным, т.к. не только клиент, то и сам сервер, используя механизм триггеров, может быть инициатором обработки данных в БД. Функции клиента облегчены пер носом части прикладных задач на сервер, поэтому клиент и называется «тонким» [21].

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

Главным недостатком данной модели является большая загрузка сервера.

По числу используемых вычислительных мощностей на серверном и клиентском уровнях двухуровневые системы можно разделить на:

  1. Один клиент - один сервер.
  2. Несколько клиентов – один сервер.
  3. Несколько клиентов – несколько серверов.

В модели «один клиент - один сервер» сервер обслуживает запросы только одного клиента и для обслуживания нескольких клиентов требуется запустить соответствующее число серверов [7].

Модель «несколько клиентов - один сервер» позволяет обрабатывать запросы от многих клиентов. В модели «несколько клиентов - несколько серверов» клиенты подключаются не к реальному серверу, а к промежуточному звену, которое выполняет обработку запросов к реальным серверам [11].

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

Трехуровневая модель обладает большей гибкостью, лучшей масштабируемостью системы.

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

3 Особенности выбора операционной системы

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

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

В плане инсталляции операционной системы серверного типа следует учитывать схему объединения компьютеров в единую сеть. Это есть так называемая топология сети. Оптимальным вариантом считается схема «звезда» и производные на ее основе.

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

Даже использование современных онлайн-игр предполагает установку операционной системы на центральный сервер. Многие могут не согласиться с таким утверждением, считая, что с домашнего терминала можно зайти на сайт игры и пользоваться всеми возможностями. Это не так. Дело в том, что домашний компьютер все равно подключается к игровому серверу, и нагрузка в плане использования вычислительных возможностей локального компьютера ложится на него лишь частично (основные операции все равно производятся именно на центральном сервере, а игровой клиент может быть частично загружен на машину, с которой производится попытка доступа) [9].

Приводимый ниже рейтинг серверных операционных систем не стоит считать абсолютно точным. Проблема состоит в том, что некоторые операционные системы уже устарели и используются очень нечасто, другие сложны в настройке. В общем, есть огромное количество критериев, по которым приоритеты в списке можно запросто переиначить Тем не менее, среди всех существующих серверных операционных систем самыми популярными являются следующие: Free BSD, Windows Server, CentOS, Debian, Red Hat Linux, Ubuntu, Gentoo, Fedora, OpenBSD, Solaris, HP-UX, AIX, Netware [12].

Само собой разумеется, что первые и последние места здесь не установлены, а приведен только список наиболее популярных серверных систем. Далее некоторые из них будут рассмотрены в кратком варианте описания их возможностей, преимуществ и недостатков.

Free BSD

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

CentOS

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

Debian

Данная система является одним из ответвлений Linux. Именно эта операционная система получила очень широкое распространение благодаря своей универсальности. Она является самой стабильной из всех существующих систем и в установочном пакете вместе с KDE и GNOME содержит офисный дистрибутив LibreOffice. Кроме того, при инсталляции этой операционной системы не нужно беспокоиться об установке дополнительных аудио- и видеокодеков и декодеров, поскольку они имеются в самом пакете [11].

Red Hat Enterprise Linux

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

Ubuntu

Еще одна разновидность Linux, которая прочно обосновалась в рейтинге. Хотя ее использование в основном чаще всего связывают с домашними компьютерами, тем не менее, как считается, для установки домашнего сервера, эта операционная система подходит лучше всего. Принципиально данная система очень похожа на Debian, правда, в отличие от прародительницы, в этой системе исходный код был несколько переработан [8].

Gentoo

Перед нами еще одна модификация Linux. Данная платформа интересна тем, что выполнена на основе открытого исходного кода с использованием лицензии GNU. Со стабильностью работы проблем нет. Но вот, как отмечается многими специалистами, в плане безопасности система немного страдает.

Solaris

Solaris, как считается, является одной из самых производительных операционных систем серверного типа, которые когда-либо вообще были разработаны. Данная операционная система поддерживает порядка 576 Гб физической оперативной памяти, около 4 миллиардов сетевых подключений, может обслуживать один миллион одновременно запущенных служб и процессов, а также имеет открытую сетевую среду [12].

OpenBSD

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

Windows Server

Наконец, рассмотрим серверные операционные системы Windows. Как ни странно, несмотря на популярность десктопных версий, эти решения особого распространения в мире не получили. Самая основная проблема состоит в том, что серверные операционные системы Windows, начиная с модификации NT, не обладают необходимыми средствами защиты. И это признано всеми специалистами в области администрирования систем этого типа. Так, например, антивирус для серверной операционной системы Windows нужно устанавливать в обязательном порядке. В связи с последними хакерскими атаками, которые были направлены в основном именно на компьютеры, использующие Windows (не говоря уже о том, как долго устанавливались разного рода апдейты, которые должны были воспрепятствовать действиям вируса), та же встроенная служба Defender (или Microsoft Essentials) со своими обязанностями просто не справляется. Администрирование серверных операционных систем Windows, конечно же, упрощено до ужаса. Например, не нужно быть всезнающим системным администратором, чтобы переназначить IP, поменять настройки DNS или Proxy, установить соединение с дочерним терминалом на основе загрузки по сети или с помощью отслеживания действий посредством RDP-клиента [21].

Таким образом, в качестве основного вывода можно отметить только то, что, увы, Windows-системы и большинство разработок, созданных корпорацией Microsoft, по сравнению с UNIX-системами и Linux-вариациями, которые на них базируются, явно проигрывают. Та же операционная система FreeBSD является и в установке, и в настройке намного более гибкой, не говоря уже о том, что она защищена наиболее полно в виде модификации с открытым исходным кодом, который любой желающий может изменить или модифицировать. Именно для организации локальных сетей с использованием центрального сервера лучше отдать предпочтение все-таки операционным системам на основе UNIX (Linux), а не Windows. Так и дешевле, и проще, и безопаснее.

Исходя из изложенного в работе можно сделать ряд важных выводов о сетевых операционных системах:

  1. Сетевая операционная система представляет собой совокупность взаимосвязанных программ, предназначенных для повышения эффективности аппаратного обеспечения компьютера путем рационального управления его ресурсами, а также для обеспечения удобства пользователя путем предоставления ему расширенной виртуальной машины.
  2. Термин «сетевая операционная система» используется в двух смыслах: во-первых, как совокупность операционных систем всех компьютеров в сети и, во-вторых, как операционная система одного компьютера, способного работать в сети.
  3. Основными функциональными компонентами сетевой операционной системы являются локальное управление ресурсами и сетевые инструменты. Последний, в свою очередь, может быть разделен на три компонента: средство предоставления локальных ресурсов и услуг общего пользования (серверная часть операционной системы), средство запроса доступа к удаленным ресурсам и услугам (клиентская часть операционной системы, или редиректор) и транспорт для использования (совместно с системой связи для обеспечения передачи сообщений между компьютерами в сети).
  4. Набор серверных и клиентских частей, обеспечивающих доступ к определенному типу ресурсов компьютера по сети, называется сетевой службой. Сетевая служба предоставляет пользователям сети набор услуг - сетевую службу. Каждая служба связана с определенным типом сетевого ресурса и / или определенным способом доступа к этим ресурсам. Сетевые службы могут быть встроены в операционную систему или реализованы в виде оболочки.
  5. В зависимости от того, как функции распределены между компьютерами сети, они могут действовать в трех различных ролях. Компьютер, который обслуживает исключительно запросы от других компьютеров, действует как выделенный сетевой сервер. Компьютер, запрашивающий ресурсы с другой машины, действует как клиентский узел. Компьютер, сочетающий в себе функции клиента и сервера, является одноранговым.
  6. Современные требования к сетевым операционным системам включают: функциональную полноту и эффективность управления ресурсами, модульность и расширяемость, мобильность и мультиплатформенность, совместимость на уровне приложений и пользовательского интерфейса, надежность и отказоустойчивость, безопасность и производительность.

Заключение

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

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

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

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

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

Критериями выбора операционной системы корпоративного масштаба являются следующие характеристики:

  • поддержка мультисерверной сети;
  • высокая эффективность файловых операций;
  • возможность эффективной интеграции с другими операционными системами;
  • наличие централизованной масштабируемой службы поддержки;
  • хорошие перспективы развития;
  • эффективная работа удаленных пользователей;
  • разнообразие сервисов: файловый сервис, сервис печати, защита данных и отказоустойчивость, архивирование данных, сервис обмена сообщениями, различные базы данных и др.;
  • поддержка различных хост-платформ: IBM SNA, DEC NSA, UNIX;
  • поддержка протоколов: TCP/IP, IPX / SPX, NetBIOS, AppleTalk;
  • поддержка различных операционных систем конечных пользователей: DOS, UNIX, OS / 2, Mac;
  • поддержка стандартов сетевого оборудования Ethernet, Token Ring, FDDI, ARCnet;
  • наличие популярных прикладных интерфейсов и механизмов вызова удаленных процедур RPC;
  • возможность взаимодействия с системой управления и управления сетью, поддержка стандартов сетевого управления SNMP.

Как показывают аналитические исследования, тенденции рынка сетевых операционных систем следующие-несмотря на то, что Windows остается бесспорным лидером, доля рынка этой операционной системы все же немного снизилась, с 93,51% до 92,05% и доля рынка «альтернативных» операционных систем выросла: Mac OS - с 5,49% до 6,39% Linux - с 1% до 1,56%. Windows Server лучше всего подходит для работы в компьютерных сетях на крупном предприятии или кампусе. Если у предприятия или организации мало средств, то выбор должен быть конечно в пользу Linux. Для организации «домашних» сетей хорошо подходит операционная система Windows Home Server 2011.

Выбор сетевой операционной системы обычно основывается на производственной ситуации, финансовых возможностях и опыте.

Список использованных источников

  1. Абражевич, С. Н. Самоучитель. Зоопарк операционных систем на одном компьютере (+ DVD-ROM) / С.Н. Абражевич. - М.: Лучшие книги, 2017. - 320 c.
  2. Анохин, Антон Борисович 200 Лучших бесплатных программ для телефонов, планшетов с операционной системой Android (+ CD-ROM) / Анохин Антон Борисович. - М.: Триумф, 2016. - 317 c.
  3. Голощапов, Алексей Google Android. Создание приложений для смартфонов и планшетных ПК / Алексей Голощапов. - М.: БХВ-Петербург, 2017. - 983 c.
  4. Жвалевский, Андрей Смартфоны и планшеты Android без напряга. Руководство пользователя / Андрей Жвалевский. - М.: Питер, 2015. - 635 c.
  5. Карлсон, Джефф Mac OS X Lion. Карманное руководство / Джефф Карлсон. - Москва: СИНТЕГ, 2019. - 224 c.
  6. Колисниченко, Д. Н. Mac OS X Lion. Руководство пользователя / Д.Н. Колисниченко. - М.: Вильямс, 2019. - 416 c.
  7. Колисниченко, Д.Н. Android для пользователя. Полезные программы и советы / Д.Н. Колисниченко. - М.: БХВ-Петербург, 2019. - 671 c.
  8. Колисниченко, Денис Программирование для Android / Денис Колисниченко. - М.: БХВ-Петербург, 2016. - 454 c.
  9. Колисниченко, Денис Программирование для Android. Самоучитель / Денис Колисниченко. - М.: БХВ-Петербург, 2015. - 272 c.
  10. Коматинени, С. Android 4 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов / С. Коматинени. - М.: Диалектика / Вильямс, 2019. - 663 c.
  11. Коматинени, Сатия Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов / Сатия Коматинени , Дэйв Маклин , Саид Хашими. - М.: Вильямс, 2017. - 364 c.
  12. Конвэй, Дж. Программирование под iOS. Для профессионалов / Дж. Конвэй, А. Хиллегасс. - М.: Питер, 2015. - 565 c.
  13. Ле-Витус, Б. Mac OS X Lion для чайников / Б. Ле-Витус. - М.: Диалектика / Вильямс, 2017. - 989 c.
  14. Левин, Александр Шлемович Android на планшетах и смартфонах / Левин Александр Шлемович. - М.: Питер, 2019. - 345 c.
  15. Лорен, Дэрси Android за 24 часа. Программирование приложений под операционную систему Google / Дэрси Лорен. - М.: Рид Групп, 2018. - 786 c.
  16. Лоу, Скотт VMware vSphere 4. Полное руководство / Скотт Лоу. - М.: Вильямс, 2018. - 784 c.
  17. Майкл, Приват Разработка приложений для Mac OS X Lion / Приват Майкл. - М.: Диалектика / Вильямс, 2018. - 223 c.
  18. Марк, Дэйв iOS 5 SDK. Разработка приложений для iPhone, iPad и iPod touch / Дэйв Марк , Джек Наттинг , Джефф Ламарш. - М.: Вильямс, 2015. - 672 c.
  19. Мельникова, Оксана Смартфоны на Android / Оксана Мельникова. - М.: Эксмо, 2015. - 594 c.
  20. Нахавандипур, Вандад iOS. Разработка приложений для iPhone, iPad и iPod / Вандад Нахавандипур. - М.: Питер, 2016. - 393 c.
  21. Операционная система ОСРВМ СМ ЭВМ. - М.: Финансы и статистика, 2017. - 304 c.
  22. Пастернак, Евгения Смартфоны и планшеты Android проще простого / Евгения Пастернак. - М.: Питер, 2015. - 172 c.
  23. Пог, Дэвид Mac OS X Tiger. Основное руководство / Дэвид Пог. - М.: Символ-плюс, 2016. - 960 c.
  24. Пог, Дэвид OS X Mountain Lion. Основное руководство / Дэвид Пог. - М.: Символ-плюс, 2016. - 707 c.
  25. Скрылина, Софья Самоучитель работы на Macintosh / Софья Скрылина. - М.: БХВ-Петербург, 2016. - 327 c.
  26. Спиви, Дуайт Microsoft Office для Мас 2011. Русская версия / Дуайт Спиви. - М.: ЭКОМ Паблишерз, 2017. - 336 c.
  27. Столлингс, В. Операционные системы / В. Столлингс. - М.: Диалектика / Вильямс, 2019. - 590 c.
  28. Фейлер, Джесси Mac OS X Jaguar. Полное руководство пользователя / Джесси Фейлер. - М.: Вершина, 2019. - 768 c.
  29. Цехнер, Марио Программирование игр под Android / Марио Цехнер. - М.: Питер, 2015. - 688 c.
  30. Черников, С. В. Как установить 25 ОС на одном компьютере с нуля! (+ DVD-ROM) / С.В. Черников, С.Н. Абражевич. - М.: Лучшие книги, 2017. - 320 c.