Файл: Сетевые операционные системы (Определение операционной системы).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.07.2023

Просмотров: 266

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Основой системы является ядро. (рисунок 5 в приложении)[49]1 Ядро Linux является динамическим — поддерживает добавление и удаление модулей без остановки системы. С одной стороны ядро можно подразделить на множество различных подсистем, с другой стороны можно рассматривать как монолитное целое поскольку все базовые сервисы собраны в ядре системы. Такой подход отличается от архитектуры с микроядром, когда ядро предоставляет только самые общие сервисы, такие как обмен информацией, ввод/вывод, управление памятью и процессами, а более конкретные сервисы реализуются в модулях. С течением времени ядро Linux стало более эффективным с точки зрения использования памяти и процессорных ресурсов и приобрело исключительную стабильность.

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

Работа с устройствами ввода-вывода в операционной системе Linux заключается в интегрировании всех устройств в файловую систему в виде так называемых специальных файлов.[50]1 Каждому устройству ввода-вывода назначается маршрут. Например, диск может иметь маршрут /dev/sda1, у сети — /dev/net. Доступ к этим специальным файлам осуществляется так же, как и к любым другим файлам. Для этого не требуется никаких специальных команд или вызовов.

Технология виртуальной файловой системы VFS[51]2 (рисунок 6 в приложении) позволяет осуществлять поддержку всех распространенных файловых систем. При сборке ядра можно выбрать какие файловые системы встроить в ядро, поддержку других файловых систем можно динамически добавлять при необходимости.

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


LXC (Linux Containers) – механизм виртуализации в среде Linux. LXC в отличии от виртуальных машин создает виртуальное окружение с собственным пространством процессов и сетевым стеком используя при этом один экземпляр ядра ОС.

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

Операционная система Windows прошла длительный этап разработки от MS-DOS и Windows на базе MS-DOS до современной Windows.

В контексте изучения сетевых операционных систем в данной работе будет рассмотрена ОС Windows Server использующиеся в корпоративных сетях в качестве серверов баз данных, файловых серверов, контроллеров домена Active Directory, веб серверов.

Рассмотрим особенности ОС Windows и методы реализации основных сетевых протоколов и сервисов.

Современные версии ОС Windows строятся на основе ядра NT. Центральный уровень — это само ядро NTOS.[52]1 Ядро имеет два уровня: исполнительный, в котором содержится большая часть служб, и уровень называющийся ядром реализующий планирование потоков и абстракции синхронизации, а также реализует обработчики ловушек, прерывания и прочие аспекты управления процессором. Подробнее структура ядра системы NT показана на рисунке 7 в приложении.

Ниже уровня ядра находится уровень под названием HAL (Hardware Abstraction Layer — уровень абстрагирования оборудования), который реализует абстракцию низкоуровневых инструкций оборудования.[53]2 В отличие от всех других операционных систем, Windows имеет набор системных вызовов, которые она может выполнять. Они реализованы на уровне ядра NTOS. Данные вызовы используются службами ОС, которые поставляются как часть операционной системы, а также драйверами устройств, работающими в режиме ядра.

Еще одной отличительной особенностью системы Windows является реестр — это иерархическая база данных хранящая параметры и настройки конфигурации операционной системы.[54]1 Реестр организован в отдельные тома, называемые разделами (hives). Каждый раздел хранится в отдельном файле в каталоге C:\Windows\system32\config\. При загрузке Windows, тем же загрузчиком который загружает ядро ОС загружается раздел SYSTEM. Эта решение гораздо более сложное, чем конфигурационная информация систем UNIX.

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


Основной файловой системой Windows является NTFS. Данная файловая система использует 64-битные дисковые адреса и теоретически может поддерживать дисковые разделы размером до 256 Тб.

Одним из важнейших элементов операционных систем Windows стала справочная служба Microsoft Active Directory. Это технология для организации и администрирования логически структурированной, масштабируемой и управляемой многоранговой корпоративной сети.[56]3

Active Directory строится на базе доменов являющихся основным элементом логической структуры. В каждом домене реализуется централизованная справочная служба. Связь доменов образует распределенную справочную службу сети.[57]4 Данная служба является клиент-серверной. Клиентские компоненты работают на всех компьютерах сети подключенных к серверам справочной службы называющихся контроллерами домена. Контроллер домена отвечает за поддержку базы данных, аутентификацию пользователей и управление их правами. Домен является единицей администрирования и границей безопасности.[58]1 Информация о типах связей между клиентами и серверами задается администратором и определяет элемент Active Directory под названием сайт.

Сайт — это элемент физической структуры компьютерной сети, представляющий собой ее часть, которая характеризуется «хорошей связностью». В типичном случае сайтом является набор IP-подсетей, связанных друг с другом высокоскоростными соединениями на основе локальной сети. Имея информацию о том, какие серверы и клиенты относятся к одним и тем же сайтам, Active Directory легко может определить, какими связями, быстрыми или медленными, соединена любая пара компьютеров. Информацию о сайтах могут использовать в своих целях другие службы ОС, а также приложения работающие с Active Directory.[59]2

Информация в базе данных Active Directory представляет собой иерархический набор объектов соответствующих группам пользователей, отдельным пользователям, компьютерам, сетевым папкам и другим сетевым ресурсам, доменам и организационным единицам (Организационная единица (OU) — это специфический объект Active Directory, который представляет группу объектов, объединенных в соответствии с теми или иными их свойствами, конфигурационным параметрам.[60]3

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


Класс объектов — это формальное описание множества объектов, имеющих сходную природу и вследствие этого характеризуемых одним и тем же набором обязательных и необязательных атрибутов.[61]1

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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


БИБЛИОГРАФИЯ

1. Таненбаум Э., Бос Х. Современные операционные системы. 4-е издание.

2. Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е издание.

3. Олифер В., Олифер Н. Сетевые операционные системы: Учебник для вузов. 2-е изд.

4. The FreeBSD Documentation Project. URL: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html (Дата обращения: 10.09.2019)

ПРИЛОЖЕНИЕ

Таблица №1

Сетевая модель OSI

Уровни

Функция

Единицы измерения

Примеры

7

Прикладной

Доступ к сетевым службам

Данные

HTTP, FTP, POP3, WebSocket

6

Представления

Представление и шифрование данных

ASCII, EBCDIC

5

Сеансовый

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

RPC, PAP, L2TP

4

Транспортный

Связь и надежность

TCP сегменты

UDP датаграммы

TCP, UDP

3

Сетевой

Маршрутизация и логическая адресация

Пакеты

IPv4, IPv6, IPsec

2

Канальный

Физическая адресация

Кадры

PPP, IEEE 802.22, Ethernet

1

Физический

Работа со средой передачи

Биты

Кабель, радиоканал

Таблица составлена по: Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е издание.

Таблица №2

Стек протоколов TCP/IP

Уровни

Протоколы

4

Прикладной

HTTP, RTSP, FTP, DNS

3

Транспортный

TCP, UDP, SCTP, DCCP

2

Сетевой

IP, ICMP, IGMP

1

Сетевого доступа

Ethernet, IEEE 802.11 WLAN, SLIP, Token Ring, ATM,

Таблица составлена по: Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е издание.

Таблица №3

Системные вызовы сокетов WinSock

вызов

назначение

socket

создает новый сокет с параметрами домен, тип соединения, транспортный протокол.

bind

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

connect

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

listen

используется для организации режима ожидания сервером запросов на установление соединения.

accept

используется сервером для приема запроса на установление соединения, поступившего от системного вызова listen.

write

(s, message, msg_len) Сообщение длиной msg_len, хранящееся в буфере message, отправляется получателю, с которым предварительно соединяется сокет s.

read

(snew, buffer, amount) Сообщение, поступившее через сокет snew, с которым предварительно соединяется отправитель, принимается в буфер buffer размером amount. Если сообщений нет, то процесс-получатель блокируется.

sendto

Отправляет сообщение без предварительного соединения.

recvfrom

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