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

Распределенные системы обработки информации (проблемы сетевых операционных систем)

Содержание:

ВВЕДЕНИЕ

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

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

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

Для достижения поставленной цели в работе предполагается решение целого комплекса задач:

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

Проблема достаточно актуальна, что подтверждают множество научных работ. Общим вопросам операционных систем и принципам их построения посвящены работы Олифера В., Олифера Н., Назарова С.В., Батаева А.В. Особенности конкретных систем отражены в работах: Вавренок А., Кочана С., Колисниченок Д.

1. Операционные системы

1.1. Понятие операционной системы, основные функции и назначение

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

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

Как базовый элемент системного программного обеспечения операционная система выполняет две основные функции, регламентированные в определении[2]:

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

Однако подробнее назначение операционной системы может быть описано следующим образом[3]:

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

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

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

Стандартная структура операционной системы состоит из набора функциональных модулей, реализующих стандартные функции операционной системы[5]:

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

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

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

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

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

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

Операционных систем на мировом рынке достаточно и кроме известно семейства Windows, среди них:

  • FreeBSD, ориентированная изначально на архитектуру процессоров х86и входящая в семейство UNIX(R)-версии. Название системы происходит от Калифорнийского Университета в Беркли, сотрудники которого и разработали ОС. ОС FreeBSD включает не только стандартные функции, но и сложную систему безопасности, технологии совместимости с другими ОС и особый набор сетевых функций, к тому же система распространяется бесплатно[8];
  • Oracle Solaris 11 – система построенная на базе UNIX-системы и ориентированная на решения компании Oracle. Особую роль в ней играют развертывания облачных инфраструктур и построение политики защиты таких образований. Система включает в себя компоненты OpenStack для реализации функционала OpenStack[9] в корпоративных средах и имеет уникальные возможности модернизации и оптимизации для баз данных Oracle Database;
  • ChromeOS – операционная система, созданная компанией Google предназначена в основном для ноутбуков и нетбуков. Основой системы является ядро Linux, однако в противовес самой ОС Linux, веб-приложениям отдано приоритетное развитие по сравнению с традиционными функциями ОС. В главной роли в системе ChromeOS отдается наиболее популярному сейчас в сети интерне браузеру Google Chrome.

Развитие мобильных устройств снизило скорость распространения новых операционных систем и их версий, в результате уже больше трети устройств, работающих в интернете используют операционную систему Andoid[10].

Такие же тенденции отмечаются и на российском рынке: «по состоянию на 23 декабря 2015 года доля Windows, включая настольные и мобильные версии, составляет 40,7% против 42% у Android»[11].

1.2. Классификация операционных систем

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

Поэтому для операционных систем уместно проведение классификации согласно нескольким категориям по (рис. 1)[12]:

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

Рис. 1. Классификация операционных систем[14]

Если выделять как основной признак разделения метод вычислений, то среди операционных систем определены[15]:

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

Операционные системы строятся на[16]:

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

Число одновременно решаемых задач выделяет однозадачные и многозадачные системы.

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

  • однопользовательские;
  • многопользовательские.

По количеству поддерживаемых процессоров[17]:

  • однопроцессорные (uniprocessor operating systems);
  • многопроцессорные (multiprocessor operating systems).

По поддержке сети:

  • локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;
  • сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.

По роли в сетевом взаимодействии[18]:

  • серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;
  • клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.

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

2.1. Функциональные возможности сетевых операционных систем

Под сетевой операционной системой (Network Operating System, NOS) понимается совокупность программ, которые занимаются обеспечением обработки, хранением и передачи данных[19].

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

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

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

При выборе сетевой операционной системы должны быть рассмотрены многие факторы. Среди них можно выделить следующие[21]:

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

Следует различать операционные системы (ОС) со встроенными сетевыми функциями от оболочек над локальными операционными системами. В соответствии с другим признаком классификации, сетевые операционные системы делятся на одноранговые и функционально несимметричные (для систем типа «клиент-сервер»)[22].

К основным функциям сетевой операционной системы могут быть отнесены[23]:

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

Возможность управления ресурсами заключается в обслуживании запросов на предоставление ресурсов, которые являются доступными по сети[24].

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

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

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

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

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

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

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

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

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

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

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

3. Структура сетевой операционной системы

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

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

В сетевой операционной системе отдельного компьютера выделяются следующие составные части (рис. 2)[31]:

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

Рис. 2. Структура сетевой операционной системы

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

На рис. 3 приведено взаимодействие сетевых компонентов. В данном случае, компьютером выполняется роль «чистого» клиента, а компьютером - «чистого» сервера, в соответствии с этим у первого компьютера отсутствует необходимость в серверной части, а у второго – в клиентской. Также на данном рисунке отдельно выделен ключевой элемент клиентской части, который называется редиректором.

Именно с помощью редиректора осуществляется перехват всех запросов, которые поступают от приложений, и их последующий анализ. В случае выдачи запроса к ресурсу данного компьютера, происходит переадресация запроса соответствующей подсистеме локальной операционной системы, в случае же наличия запроса к удаленному ресурсу – происходит его переправка в сеть[35].

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

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

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

Рис. 3. Принцип взаимодействия компонентов операционной системы при взаимодействии компьютеров

В практических разработках существует несколько подходов к тому, как следует организовать построение сетевых операционных систем (рис. 4)[36].

Рис. 4. Подходы к построению сетевых операционных систем

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

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

Этот же принцип построения сетевых операционных систем(надстройка над локальной операционной системой сетевой оболочки) использовался и далее, например, в системах Personal Ware или LANtastic[38].

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

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

Например, с сетевой операционной системой LAN Manager того же производителя (результат совместной с фирмой IBM разработки), которая, в сущности, представляла из себя надстройку над локальной операционной системой OS/2[39].

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

Двухранговые сети часто носят еще название сетей с выделенными серверами.

Рис. 5. Одноранговая сеть

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

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

Рис. 6. Сеть с выделенным сервером[42]

Технологии работы в сетевой операционной системе

3.1. Клиентское и серверное программное обеспечение

Для обеспечения полноценной работы с сетью на клиентских рабочих станциях необходимой является установка клиентского программного обеспечения. Данное программное обеспечение предназначено для реализации доступа к ресурсам, которые расположены на сетевом сервере. В качестве трех, наиболее важных компонентов клиентского программного обеспечения, необходимо указать редиректор (redirector), распределитель (designator), а также имена UNC (UNC pathnames)[43].

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

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

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

  • серверный редиректор (server redirector);
  • клиентский редиректор (client redirector).

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

При определении редиректором запроса как локального, производится отправка запроса центральному процессору для мгновенной обработки.

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

Распределитель (designator) является частью программного обеспечения, которая отвечает за управление присвоением букв накопителя (drive letter) как удаленным, так и локальным сетевым ресурсам или разделяемым дисководам, благодаря чему облегчается взаимодействие с сетевыми ресурсами.

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

После этого, при получении приложением или пользователем доступа к диску, распределитель обеспечивает замену буквы дисковода на сетевой адрес ресурса до того, как произойдет посылка запроса редиректору[45].

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

Данные имена имеют формат \\Имя_сервера\имя_ресурса. Утилиты командной строки и приложения, которые способны взаимодействовать с UNC, вместо отображения сетевых дисков используют имена UNC[46].

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

Важный вопрос для сетевых серверов заключается в возможности ограничения доступа к сетевым ресурсам. Данная возможность имеет название сетевой защиты (network security).

Именно ею обеспечивается предоставление средства управления над тем, к каким именно ресурсам будет предоставлен доступ сетевым пользователям, уровень этого доступа, а также, сколько пользователей будут пользоваться этим ресурсом одновременно[47].

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

Помимо обеспечения контроля над ресурсами сети сервер предназначен для выполнения следующих функций[48]:

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

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

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

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

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

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

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

На рис. 7 компьютер выступает в роли клиента, а компьютер - в роли сервера, следовательно у первого компьютера отсутствует необходимость в серверной части, а у второго – в клиентской.

Рис. 7. Взаимодействие между компонентами в сетевой операционной системе

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

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

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

3.2. Современные требования к сетевой операционной системе и ее
выбор

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

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

Хотя устаревание аппаратной части компьютера в нынешних условиях происходит обычно за несколько лет, продолжительность полезной жизни операционных систем может составлять десятилетия. В качестве примера можно привести операционную систему UNIX. Следовательно, изменение со временем операционных систем носит эволюционный характер, и значимость подобных изменений несоизмеримо выше, чем изменений аппаратной части компьютеров[54].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В процессе выбора сетевой операционной системы должны быть учтены следующие факторы[59]:

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

В настоящее время наиболее популярными сетевыми системами являются UNIX и Windows[60].

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

Это такие команды, как telnet, ftp, которые предназначены для реализации файлового обмена и эмуляции удаленного доступа на основе протокола TCP/IP. Помимо этого разработан протокол, программы и команды UUCP, которые ориентированы на организацию связи между удаленными UNIX-узлами в территориальных и корпоративных сетях.

Операционная система Windows Server[61] предназначена для обеспечения работы в сетях «клиент-сервер». Данная операционная система обладает наибольшей эффективностью в сетях среднего масштаба.

ЗАКЛЮЧЕНИЕ

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

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

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

Для обеспечения полноценной работы с сетью на клиентских рабочих станциях необходимой является установка клиентского программного обеспечения. Данное программное обеспечение предназначено для реализации доступа к ресурсам, которые расположены на сетевом сервере. В качестве трех, наиболее важных компонентов клиентского программного обеспечения, необходимо указать редиректор (redirector), распределитель (designator), а также имена UNC (UNC pathnames).

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

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

    1. Батаев А.В. Операционные системы и среды / А.В. Батаев, Н.Ю. Налютин, С.В. Синицын. – М.: Академия, 2014. – 268 с.
    2. Вавренок А. Операционные системы. Основы UNIX: Учебное пособие / А. Вавренок. – М.: Инфра-М, 2016. – 160 с.
    3. Дроздов С. Операционные системы. Учебное пособие / С. Дроздов. – М.: Феникс, 2016. – 386 с.
    4. Колисниченко Д. FreeBSD. От новичка к профессионалу / Д. Колисниченко. – СПб.: БХВ-Петербург, 2015. – 286 с.
    5. Колисниченко Д. Linux. От новичка к профессионалу / Д. Колисниченко. – СПб.: БХВ-Петербург, 2015. – 286 с.
    6. Кочан С. Программирование командных оболочек в Unix, Linux и OS X / С. Кочан, П. Вуд. –М.: Вильямс, 2017. – 432 с.
    7. Маркелов А. OpenStack. Практическое знакомство с облачной операционной системой / А. Маркелов. – М.: ДМК Пресс, 2018. – 306 с.
    8. Назаров С.В. Архитектура и проектирование программных систем : монография / С.В. Назаров. – М. : ИНФРА-М, 2018. – 374 с.
    9. Назаров С.В. Современные операционные системы / С.В. Назаров, А.И. Широков. – М.: НОУ «Интуит», 2016. – 352 с.
    10. Назаров С.В. Современные операционные системы / С.В. Назаров. – М.: Бином, 2013. – 368 с.
    11. Олифер В. Компьютерные сети. Принципы, технологии, протоколы. Учебник / В. Олифер, Н. Олифер. – СПб.: Питер, 2017. – 992 с.
    12. Партыка Т. Операционные системы, среды, оболочки / Т. Партыка. – М.: Инфра-М, 2016. – 560 с.
    13. Роббинс А. Bash. Карманный справочник системного администратора / А. Роббинс. – М.: Вильямс, 2017. – 152 с.
    14. Рукин М. Операционные системы. Учебник / Н. Григорьев, Т. Балалаева, А. Смуров. – М.: Либроком, 2017. – 350 с.
    15. Руссинович М. Внутренне устройство Microsoft Windows / М. Руссинович. – СПб.: Питер, 2013. – 800 с.
    16. Сафонов В.О. Основы современных операционных систем / В.О. Сафронов. – М.: НОУ «Интуит», 2016. – 868 с.
    17. Спиридонов Є. Практикум по операционным системам / Э. Спиридонов, М. Клыков, М.Рукин. – М.: Либроком, 2017. – 326 с.
    18. Стащук П.В. Краткое введение в операционные системы. Учебное пособие / П.В. Стащук. – М.: Флинта, 2014. – 268 с.
    19. Таненбаум Э. С. Современные операционные системы / Є.С. Таненбаум, Х. Бос. – СПб.: Питер, 2015. – 1120 с.
    20. Кузнецов С. Д. Операционная система UNIX / С.Д. Кузнецов // URL: http://citforum.ru/operating_systems/unix/. (Дата обращения: 28.09.2018).
    21. Олифер Н. А. Сетевые операционные системы / Н.А. Олифер, В. Г. Олифер // URL: http://citforum.ru/operating_systems/. (Дата обращения: 28.09.2018).
    22. Операционная система Linux. URL: https://www.linux.org.ru/. (Дата обращения: 28.09.2018).
    23. Операционные системы (мировой рынок) // Tadviser. Государство. Бизнес. ИТ. URL: http://tadviser.ru/a/65049. (Дата обращения: 28.09.2018).
    24. Операционные системы (рынок России) // Tadviser. Государство. Бизнес. ИТ. URL: http://tadviser.ru/a/296685. (Дата обращения: 28.09.2018).
    25. Различия между Windows версиями операционных систем // Windows 64. URL: https://windows64.net/informaciya/103-razlichiya-mezhdu-windows-versiyami-operacionnyh-sistem.html. (Дата обращения: 28.09.2018).
    26. The Opengroup. URL: www.opengroup.org/unix/. (Дата обращения: 28.09.2018).
    27. Windows-Server. URL: https://www.microsoft.com/ru-ru/cloud-platform/windows-server. (Дата обращения: 28.09.2018).
    28. Windows-Server. Обзор редакций // Softmagazin. URL: https://www.softmagazin.ru/articles/windows_server_2016_obzor_redaktsiy/. (Дата обращения: 28.09.2018).
  1. Назаров С.В. Современные операционные системы / С.В. Назаров. – М.: Бином, 2013. – C. 12.

  2. Батаев А.В. Операционные системы и среды / А.В. Батаев, Н.Ю. Налютин, С.В. Синицын. – М.: Академия, 2014. – C.35.

  3. Дроздов С. Операционные системы. Учебное пособие / С. Дроздов. – М.: Феникс, 2016. – C. 18.

  4. Партыка Т. Операционные системы, среды, оболочки / Т. Партыка. – М.: Инфра-М, 2016. – C. 12

  5. Назаров С.В. Архитектура и проектирование программных систем : монография / С.В. Назаров. – М. : ИНФРА-М, 2018. – C. 15.

  6. Рукин М. Операционные системы. Учебник / Н. Григорьев, Т. Балалаева, А. Смуров. – М.: Либроком, 2017. – C. 8.

  7. Сафонов В.О. Основы современных операционных систем / В.О. Сафронов. – М.: НОУ «Интуит», 2016. – C. 15.

  8. Колисниченко Д. FreeBSD. От новичка к профессионалу / Д. Колисниченко. – СПб.: БХВ-Петербург, 2015. – C. 10.

  9. Маркелов А. OpenStack. Практическое знакомство с облачной операционной системой / А. Маркелов. – М.: ДМК Пресс, 2018. – С. 35.

  10. Операционные системы (мировой рынок) // Tadviser. Государство. Бизнес. ИТ. URL: http://tadviser.ru/a/65049. (Дата обращения: 28.09.2018).

  11. Операционные системы (рынок России) // Tadviser. Государство. Бизнес. ИТ. URL: http://tadviser.ru/a/296685. (Дата обращения: 28.09.2018)

  12. Спиридонов Є. Практикум по операционным системам / Э. Спиридонов, М. Клыков, М.Рукин. – М.: Либроком, 2017. – C. 23.

  13. Таненбаум Э. С. Современные операционные системы / Є.С. Таненбаум, Х. Бос. – СПб.: Питер, 2015. – C. 18.

  14. Рукин М. Операционные системы. Учебник / Н. Григорьев, Т. Балалаева, А. Смуров. – М.: Либроком, 2017. – C. 22.

  15. Стащук П.В. Краткое введение в операционные системы. Учебное пособие / П.В. Стащук. – М.: Флинта, 2014. – C. 34.

  16. Рукин М. Операционные системы. Учебник / Н. Григорьев, Т. Балалаева, А. Смуров. – М.: Либроком, 2017. – C. 23.

  17. Таненбаум Э. С. Современные операционные системы / Є.С. Таненбаум, Х. Бос. – СПб.: Питер, 2015. – C. 12.

  18. Назаров С.В. Современные операционные системы / С.В. Назаров. – М.: Бином, 2013. – C. 15.

  19. Кочан С. Программирование командных оболочек в Unix, Linux и OS X / С. Кочан, П. Вуд. –М.: Вильямс, 2017. – C. 36-38.

  20. Олифер Н. А. Сетевые операционные системы / Н.А. Олифер, В. Г. Олифер // URL: http://citforum.ru/operating_systems/. (Дата обращения: 28.09.2018)

  21. Сафонов В.О. Основы современных операционных систем / В.О. Сафронов. – М.: НОУ «Интуит», 2016. – C. 22.

  22. Руссинович М. Внутренне устройство Microsoft Windows / М. Руссинович. – СПб.: Питер, 2013. – C. 128.

  23. Олифер Н. А. Сетевые операционные системы / Н.А. Олифер, В. Г. Олифер // URL: http://citforum.ru/operating_systems/. (Дата обращения: 28.09.2018).

  24. Операционная система Linux. URL: https://www.linux.org.ru/. (Дата обращения: 28.09.2018).

  25. Различия между Windows версиями операционных систем // Windows 64. URL: https://windows64.net/informaciya/103-razlichiya-mezhdu-windows-versiyami-operacionnyh-sistem.html. (Дата обращения: 28.09.2018).

  26. Роббинс А. Bash. Карманный справочник системного администратора / А. Роббинс. – М.: Вильямс, 2017. – C.15.

  27. Кочан С. Программирование командных оболочек в Unix, Linux и OS X / С. Кочан, П. Вуд. –М.: Вильямс, 2017. – 432 с

  28. Кузнецов С. Д. Операционная система UNIX / С.Д. Кузнецов // URL: http://citforum.ru/operating_systems/unix/. (Дата обращения: 28.09.2018).

  29. Вавренок А. Операционные системы. Основы UNIX: Учебное пособие / А. Вавренок. – М.: Инфра-М, 2016. – 160 с

  30. Батаев А.В. Операционные системы и среды / А.В. Батаев, Н.Ю. Налютин, С.В. Синицын. – М.: Академия, 2014. – C. 28.

  31. Олифер Н. А. Сетевые операционные системы / Н.А. Олифер, В. Г. Олифер // URL: http://citforum.ru/operating_systems/. (Дата обращения: 28.09.2018).

  32. Операционная система Linux. URL: https://www.linux.org.ru/. (Дата обращения: 28.09.2018)

  33. Кочан С. Программирование командных оболочек в Unix, Linux и OS X / С. Кочан, П. Вуд. –М.: Вильямс, 2017. – C. 48-50.

  34. Различия между Windows версиями операционных систем // Windows 64. URL: https://windows64.net/informaciya/103-razlichiya-mezhdu-windows-versiyami-operacionnyh-sistem.html. (Дата обращения: 28.09.2018).

  35. Таненбаум Э. С. Современные операционные системы / Є.С. Таненбаум, Х. Бос. – СПб.: Питер, 2015. – C. 45-47.

  36. Роббинс А. Bash. Карманный справочник системного администратора / А. Роббинс. – М.: Вильямс, 2017. – C. 28.

  37. Операционные системы (мировой рынок) // Tadviser. Государство. Бизнес. ИТ. URL: http://tadviser.ru/a/65049. (Дата обращения: 28.09.2018).

  38. Назаров С.В. Современные операционные системы / С.В. Назаров, А.И. Широков. – М.: НОУ «Интуит», 2016. – C/ 128-130.

  39. Windows-Server. Обзор редакций // Softmagazin. URL: https://www.softmagazin.ru/articles/windows_server_2016_obzor_redaktsiy/. (Дата обращения: 28.09.2018).

  40. Спиридонов Є. Практикум по операционным системам / Э. Спиридонов, М. Клыков, М.Рукин. – М.: Либроком, 2017. – С. 32.

  41. Роббинс А. Bash. Карманный справочник системного администратора / А. Роббинс. – М.: Вильямс, 2017. – 152 с

  42. Олифер В. Компьютерные сети. Принципы, технологии, протоколы. Учебник / В. Олифер, Н. Олифер. – СПб.: Питер, 2017. – 992 с

  43. Рукин М. Операционные системы. Учебник / Н. Григорьев, Т. Балалаева, А. Смуров. – М.: Либроком, 2017. – С. 34.

  44. Партыка Т. Операционные системы, среды, оболочки / Т. Партыка. – М.: Инфра-М, 2016. – С. 28.

  45. Колисниченко Д. FreeBSD. От новичка к профессионалу / Д. Колисниченко. – СПб.: БХВ-Петербург, 2015. – С. 56-58.

  46. Колисниченко Д. Linux. От новичка к профессионалу / Д. Колисниченко. – СПб.: БХВ-Петербург, 2015. – С. 24.

  47. Рукин М. Операционные системы. Учебник / Н. Григорьев, Т. Балалаева, А. Смуров. – М.: Либроком, 2017. – С. 38-42.

  48. Олифер В. Компьютерные сети. Принципы, технологии, протоколы. Учебник / В. Олифер, Н. Олифер. – СПб.: Питер, 2017. – С. 128-130.

  49. Кузнецов С. Д. Операционная система UNIX / С.Д. Кузнецов // URL: http://citforum.ru/operating_systems/unix/. (Дата обращения: 28.09.2018)

  50. Назаров С.В. Архитектура и проектирование программных систем : монография / С.В. Назаров. – М. : ИНФРА-М, 2018. – С. 130-132.

  51. Кочан С. Программирование командных оболочек в Unix, Linux и OS X / С. Кочан, П. Вуд. –М.: Вильямс, 2017. – 432 с

  52. Руссинович М. Внутренне устройство Microsoft Windows / М. Руссинович. – СПб.: Питер, 2013. – С. 48-50.

  53. Олифер В. Компьютерные сети. Принципы, технологии, протоколы. Учебник / В. Олифер, Н. Олифер. – СПб.: Питер, 2017. – С. 45-48.

  54. Вавренок А. Операционные системы. Основы UNIX: Учебное пособие / А. Вавренок. – М.: Инфра-М, 2016. – С. 29-31.

  55. Кузнецов С. Д. Операционная система UNIX / С.Д. Кузнецов // URL: http://citforum.ru/operating_systems/unix/. (Дата обращения: 28.09.2018)

  56. Windows-Server. URL: https://www.microsoft.com/ru-ru/cloud-platform/windows-server. (Дата обращения: 28.09.2018).

  57. Олифер Н. А. Сетевые операционные системы / Н.А. Олифер, В. Г. Олифер // URL: http://citforum.ru/operating_systems/. (Дата обращения: 28.09.2018).

  58. Кочан С. Программирование командных оболочек в Unix, Linux и OS X / С. Кочан, П. Вуд. –М.: Вильямс, 2017. – С. 45-47.

  59. Олифер Н. А. Сетевые операционные системы / Н.А. Олифер, В. Г. Олифер // URL: http://citforum.ru/operating_systems/. (Дата обращения: 28.09.2018)

  60. Windows-Server. URL: https://www.microsoft.com/ru-ru/cloud-platform/windows-server. (Дата обращения: 28.09.2018).

  61. Windows-Server. Обзор редакций // Softmagazin. URL: https://www.softmagazin.ru/articles/windows_server_2016_obzor_redaktsiy/. (Дата обращения: 28.09.2018)