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

Сетевые операционные системы (Обзор популярных сетевых операционных систем)

Содержание:

Введение

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

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

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

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

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

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

Задачи исследования:

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

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

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

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

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

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

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

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

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

1.2 Набор характеристик сетевой операционной системы.

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

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

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

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

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

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

2. Реального времени. Операционная система отвечает на входящие данные немедленно. Критерием эффективности является гарантированное время реакции системы на поступивший сигнал.

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

Большинство сетевых операционных систем можно отнести к последним двум типам.

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

Набор критериев.

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

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

2. Масштабируемость. Количество ресурсов, которыми сможет управлять сетевая операционная система и возможность их увеличения (наращивания);

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

4. Надежность. Поддержка средств резервирования данных, транзакций, поддержка или наличие в составе СОС надежной файловой системы.

5. Безопасность. Какой уровень защиты информации, систему прав доступа и ограничение на доступ к каким ресурсам поддерживает сетевая операционная система.

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

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

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

9. Сетевая печать. Сколько принтеров и очередей печати поддерживается средствами сетевой операционной системы.

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

11. Совместимость. Насколько сетевая операционная система совместима с уже имеющимися программно-аппаратными комплексами организации.[4][4]

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

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

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

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

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

G:\All what i need\mfpa\Курсовая\сетевые_опер_системы.jpg

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

В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1):

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

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

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

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

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

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

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

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

монолит_сетев_ос.jpg

Рис.2 Монолитная сетевая операционная система

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

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

При структуризации от монолитных систем, как правило, переходят к многоуровневым. Уровни состоят из групп функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом, расположенным уровнем выше или ниже. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням (рисунок 3).[7][8]

G:\All what i need\mfpa\Курсовая\многоуровневая_сет_ос.png

Рис. 3 Многоуровневая сетевая операционная система

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

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

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

G:\All what i need\mfpa\Курсовая\модель_клиент_сервер.gif

Рис. 4 Модель клиент-сервер

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

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

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

Достоинства и недостатки микроядерного подхода

На сегодняшний день именно операционные системы, построенные с использованием модели клиент-сервер и концепции микроядра, в наибольшей степени удовлетворяют требованиям, которые предъявляются к современным сетевым операционным системам:

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

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

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

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

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

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

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

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

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

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

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

Объектно-ориентированный подход является одной из самых перспективных тенденций в конструировании программного обеспечения.[11][12]

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

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

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

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

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

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

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

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

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

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

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

Планирование процессов

При планировании процессов системе необходимо решать следующие задачи:

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

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

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

На сегодняшний день существует большое количество различных алгоритмов планирования процессов и каждый из них решает вышеперечисленные задачи по-разному. Каждый из них обеспечивает различное качество мультипрограммирования и преследует разные цели. Из всего множества алгоритмов можно выделить две основные группы встречающихся наиболее часто алгоритмов: алгоритмы, которые основаны на квантовании и алгоритмы, основанные на приоритетах.[13][14]

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

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

• произошла ошибка в ходе выполнения;

• процесс перешел в состояние ожидания;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

G:\All what i need\mfpa\Курсовая\иерархия_памяти.gif

Рис. 5 Иерархия памяти

Основные типы памяти представлены на рисунке 5. При перемещении сверху вниз происходит следующее:

• снижается стоимость бита;

• возрастает емкость;

• возрастает время доступа;

• снижается частота обращений процессора к памяти.

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

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

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

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

Управление вводом-выводом

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

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

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

Файловая система.

Файловая система локальной операционной системы - часть операционной системы, главной задачей которого является обеспечение пользователя удобным интерфейсом при работе с данными, которые хранятся на диске и обеспечение совместного использования файлов сразу несколькими пользователями и процессами.[18][19]

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

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

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

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

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

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

Основные характеристики:

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

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

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

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

Выводы:

  • Операционная система - это комплекс взаимосвязанных программ, задачей которого является повышение эффективности аппаратной части компьютера путем рационального управления его ресурсами и их распределения, а также обеспечение удобства пользователя за счет предоставления ему расширенной виртуальной машины.
  • К числу основных ресурсов, управление которыми осуществляет операционная система, относятся процессоры, основная память, диски, наборы данных, таймеры, накопители на магнитных лентах, принтеры, сетевые устройства и некоторые другие. Ресурсы распределяются между процессами. Для решения задач управления ресурсами разные операционные системы используют различные алгоритмы.
  • Наиболее важными являются подсистемы управления процессами, памятью, управления файлами и внешними устройствами, а также подсистемы пользовательского интерфейса, защиты данных и администрирования.
  • Прикладному программисту возможности операционной системы доступны в виде набора функций, составляющих интерфейс прикладного программирования (API - Application Programming Interface).
  • Термин «сетевая операционная система» используется в двух смыслах: как совокупность операционных систем всех компьютеров сети и как операционная система отдельного компьютера.
  • К основным функциональным компонентам сетевой операционной системы относятся средства управления локальными ресурсами и сетевые средства. Сетевые средства можно разделить на три группы: средства предоставления локальных ресурсов и услуг в общее пользование (серверная часть операционной системы), средства запроса доступа к удаленным ресурсам и услугам (клиентская часть операционной системы или редиректор) и транспортные средства операционной системы (совместно с коммуникационной системой обеспечивают передачу сообщений между узлами сети).
  • Совокупность серверной и клиентской частей, предоставляющих доступ к конкретному типу ресурса компьютера через сеть, называется сетевой службой. Сетевая служба предоставляет пользователям сети набор услуг - сетевой сервис. Каждая служба связана с определенным типом сетевых ресурсов и/или определенным способом доступа к этим ресурсам. Сетевые службы могут быть либо встроены в операционную систему, либо реализованы в виде программной оболочки.
  • В зависимости от того, как распределены функции между компьютерами сети, они могут выступать в трех разных ролях. Выделенный сервер - занимается исключительно обслуживанием запросов других узлов сети. Клиентский узел – обращается с запросами к ресурсам других узлов. Одноранговым же узлом называют компьютер, который совмещает функции сервер и клиента.
  • Одноранговые сети состоят только из одноранговых узлов. При этом все компьютеры в сети имеют потенциально равные возможности. Одноранговые операционные системы одновременно включают в себя как серверные, так и клиентские компоненты сетевых служб. Одноранговые сети значительно проще в организации и эксплуатации.
  • В сетях с выделенными серверами используются специальные варианты сетевых операционных систем, оптимизированные для роли либо в роли серверов, либо клиентов. Для серверных операционных систем характерна поддержка мощных аппаратных платформ, в том числе мультипроцессорных, широкий набор сетевых служб, поддержка большого числа одновременно выполняемых процессов и сетевых соединений, наличие развитых средств защиты и централизованного администрирования сети. Клиентские операционные системы, являясь более простыми, в свою очередь призваны обеспечивать удобный пользовательский интерфейс и набор редиректоров, позволяющий получать доступ к разнообразным сетевым ресурсам.
  • В число требований, предъявляемых сегодня к сетевым операционным системам, входят: функциональная полнота и эффективность управления ресурсами, модульность и расширяемость, переносимость и многоплатформенность, совместимость на уровне приложений и пользовательских интерфейсов, надежность и отказоустойчивость, безопасность и производительность.

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

2.1 Технический обзор сетевой операционной системы Windows Server 2012

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

Расширенные возможности управления

Операционная система Windows Server 2012 предоставляет специалистам информационных технологий больше возможностей для управления сетевой инфраструктурой и серверами, что дает им возможность сосредоточиться на решении важнейших задач организаций. Расширенные возможности создания сценариев и автоматизации задач, такие как среда PowerShell, позволяют максимально автоматизировать стандартные IT-задачи. Диспетчер сервера позволяет выполнять установку и управление на основе ролей, что облегчает задачи администратора по управлению и обеспечению безопасности разных ролей серверов в рамках предприятия.[21][22] Управление конфигурацией сервера и системной информацией объединены в консоли диспетчера сервера. Присутствует возможность установки только необходимых ролей и возможностей, а большинство рутинных задач по развертыванию систем максимально автоматизированы и производятся с помощью мастеров. Улучшенные инструменты управления системой, такие как монитор быстродействия и надежности, предоставляют актуальную информацию о системах администратору и заранее оповещают обслуживающий персонал о потенциальных проблемах.[22][23]

Усиленная защищенность

В Windows Server 2012 представлен ряд новых и улучшенных технологий обеспечения безопасности, которые служат для усиления защищенности операционной системы и обеспечивают надежную основу для организации работы предприятия. Новые возможности защиты, такие как технология PatchGuard, позволяют уменьшить зону ядра, которая контактирует с внешними приложениями и сервисами и, тем самым, повысить защищенность и стабильность серверной среды. Ограниченный режим работы служб позволяет предотвратить нарушение работы критически важных серверных служб аномальной активностью в файловой системе, реестре или сети, и способствует обеспечению безопасности систем. Такие технологии, как защита доступа к сети (NAP - Network Access Protocol), контроллер домена только для чтения (RODC - Read-Only Domain Controller), улучшения в инфраструктуре открытого ключа (PKI - Public Key Infrastructure), двунаправленный брандмауэр и поддержка криптографии нового поколения, также усиливают защищенность операционной системы Windows Server 2012.

Повышенная гибкость

Благодаря новым подходам в разработке, Windows Server 2012 позволяет администратору легко модифицировать инфраструктуру для адаптации к изменяющимся потребностям организации, но в то же время сохранять гибкость инфраструктуры. Возможности работы мобильных пользователей также были расширены благодаря таким технологиям, как RemoteApp и шлюз служб терминалов, позволяющим запускать программы из любого удаленного местоположения. С помощью службы развертывания Windows (WDS - Windows Deployment Services) был ускорен процесс развертывания и обслуживания IT-систем, а благодаря виртуализации серверов Windows (WSv - Windows Server virtualization) упрощено объединение серверов. Контроллер домена только для чтения (RODC) позволяет разместить контроллер домена в удаленном филиале и защитить учетные записи пользователей при компрометации контроллера домена.

Виртуализация

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

Безопасность

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

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

• Защита на аппаратном уровне. В современном оборудовании присутствует функция предотвращения выполнения данных (DEP - Data Execution Prevention). Она помогает предотвратить запуск большинства распространенных вредоносных программ.

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

• Сетевая безопасность. Автоматическое преобразование сетевых адресов (NAT - Network Address Translation), брандмауэр и защита доступа к сети (NAP - Network Access Protection) позволяют повысить безопасность работы на уровне сети.[23][24]

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

Четкое разделение

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

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

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

• Гибкая настройка сети. Платформа виртуализации серверов Windows поддерживает расширенные сетевые возможности для работы виртуальных машин, включая преобразование сетевых адресов (NAT), брандмауэр и назначение виртуальных локальных сетей (VLAN). Благодаря этому становится доступным создание оптимальной конфигурации виртуализации, которая наилучшим образом будет отвечать требованиям сетевой безопасности.[24][25]

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

Производительность

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

Основные усовершенствования в области производительности:

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

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

• Поддержка 64-разрядных гостевых операционных систем и управляющей операционной системы. WSv работает под управлением 64-разрядной версии операционной системы Windows Server 2012, что позволяет предоставлять виртуальным машинам большие объемы оперативной памяти. Работа задач, требующих больших объемов оперативной памяти, на 32-разрядных версиях операционных систем приводит к чрезмерному использованию свопа (файла подкачки). С помощью WSv можно успешно осуществить виртуализацию таких задач. Поддерживается совместная работа как 64-разрядных, так и 32-разрядных гостевых операционных систем на одном хосте.

• Сквозной доступ к диску. Можно настроить прямой доступ гостевых операционных систем к локальным устройствам хранения данных или к хранилищам iSCSI сетей хранения данных (SAN - Storage Area Network), чтобы обеспечить наиболее высокое быстродействие для приложений с большим количеством и высокой интенсивностью операций ввода-вывода, например серверу баз данных SQL Server или почтовому серверу Microsoft Exchang Server.[25][26]

Многие серверные задачи очень требовательны к вычислительным мощностям сервера и подсистемам ввода-вывода. Для работы таких приложений, как SQL Server и Microsoft Exchange Server, как правило, требуется большое количество оперативной памяти и высокая скорость обмена данными с дисками, поэтому раньше виртуализация этих задач считалась нецелесообразной. Благодаря 64-разрядному гипервизору в платформе WSvи таким возможностям, как сквозной доступ к дискам, теперь стало целесообразно осуществлять виртуализацию таких приложений.

Упрощенное управление

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

• Расширяемое управление. Платформа предназначена для работы со средствами управления Microsoft System Center Operations Manager (SCOM) и Microsoft System Center Virtual Machine Manager (SCVMM). Эти средства управления предоставляют широкий набор инструментов для создания отчетов, автоматизации, развертывания и самообслуживания пользователей в платформе виртуализации серверов Windows.

• Интерфейс управления виртуальными машинами для консоли управления (MMC - Microsoft Management Console). Для управления параметрами платформы виртуализации и самих виртуальных машин используется привычный интерфейс консоли управления, что позволяет значительно облегчить процесс обучения работе с этой платформой.

• Интерфейс для инструментария управления Windows (WMI - Windows Management Instrumentation).В состав платформы виртуализации включен поставщик WMI, который предоставляет возможность получать системную информацию и управлять платформой с помощью сценариев.

• Среда выполнения сценариев PowerShell. Позволяет производить настройку параметров сервера виртуализации и виртуальных машин.

• Управление с помощью объектов групповой политики (GPO - Group Policy Object). Платформа WSv поддерживает управление сервером виртуализации и параметрами виртуальных машин с помощью конфигурационных возможностей групповых политик.

Возможности средств управления Microsoft System Center Operations Manager и Microsoft System Center Virtual Machine Manager позволяют эффективно управлять платформой виртуализации серверов Windows как в вычислительных центрах, так и в удаленных филиалах. С помощью сценариев WMI можно практически полностью автоматизировать обслуживание нескольких серверов виртуализации. Сценарии позволяют завершить работу виртуальных машин на основном сервере, запустить эти виртуальные машины на резервном сервере, осуществить обслуживание основного сервера, а затем возобновить работу виртуальных машин на нем. Средство управления System Center Virtual Machine Manager позволяет автоматизировать эту процедуру для большего числа приложений без ощутимого перерыва в их работе.

Выводы:

Платформа виртуализация в Windows Server 2012обладает широким спектром возможностей, которые позволяют обеспечивать безопасность объединенных серверов, своевременно реагировать на динамическое изменение нагрузки и потребностей, обеспечивать высокое быстродействие и масштабируемость задач, а также осуществлять упрощенное управление виртуализацией. Сочетание функций безопасности и надежной изоляции виртуальных машин позволяет объединять на одном сервере задачи разного рода и сохранять при этом гибкость и защищенность системы на высоком уровне. Лежащая в основе платформы виртуализации архитектура 64-разрядного гипервизора обеспечивает высокое быстродействие для требовательных к ресурсам задач. Мощные средства управления System Center Operations Manager и System Center Virtual Machine Manager, интегрированные в операционную систему Windows Server 2008, позволяют автоматизировать и эффективно контролировать разнообразные виртуальные вычислительные среды.

2.2 Технический обзор сетевой операционной системы Windows Server 2012 R2

Приставка R2 (Release 2) означает, что это минорное обновление. Минорное обновление в свою очередь, означает небольшую доработку существующего продукта. Обычно подобные обновления выходят через несколько месяцев после релиза основного продукта. Однако Windows Server 2012 R2 вышла спустя больше чем год после Windows Server 2012, а если быть точнее, то по прошествии 13 месяцев.

Не смотря на то, что обновление не считается глобальным (мажорным), нововведений и улучшений появилось достаточно и это позволяет считать Windows Server 2012 R2 почти самостоятельной операционной системой с определенными оговорками.

Все новые возможности условно можно разделить на три группы: изменения в Hyper-V, в сетевом стеке и подсистеме управления хранилищами.

Нововведения в Hyper-V

Второе поколение виртуальных машин (Generation 2). Помимо привычных виртуальных машин появилась возможность создавать машины нового поколения. Из них удалены многие старые эмулируемые устройства , но при этом поддерживается безопасная загрузка UEFI, загрузка виртуальных жестких дисков SCSI и загрузка по сети с использованием синтетических сетевых адаптеров. Производительность виртуальных машин второго поколения возросла, что особенно заметно при загрузке и установке операционных систем в виртуальных машинах.

Удаленное подключение через шину VMBus (Remote Desktop over VMBus). Если в качестве гостевых ОС выступают Windows Server 2012 R2 или Windows 8.1, и в них запущена служба Remote Desktop Services (RDS), то подключаться к службам RDS гостевых ОС можно не только по сети, но и непосредственно через шину VMBus. При этом пользователь получает все преимущества RDP-сеанса, такие как: выбор разрешения дисплея, поддержка аудио, поддержка буфера обмена, перенаправление принтеров, смарт-карт и USB-устройств. При этом ВМ может быть не подключена к сети.

Автоматическая активация. Если хостом виртуализации является Windows Server 2012 R2 Datacenter, а гостевой ОС любая редакция Windows Server 2012 R2, то такая гостевая ОС активируется автоматически при условии, что хостовая ОС уже активирована. Причем активация гостевых ОС не требует подключения к сети (ни к Интернет, ни к KMS, ни куда-либо еще).

Динамическая миграция (Live Migration). Появилась возможность миграция ВМ с Windows Server 2012 на Windows Server 2012 R2. Такой вариант миграции упрощает перевод инфраструктуры на Windows Server 2012 R2, поскольку позволяет не останавливать запущенные ВМ. Однако миграция на предыдущую версию, то есть с Windows Server 2012 R2 на Windows Server 2012, не поддерживается.

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

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

Изменение размеров VHDX-дисков online (VHDX resizing). В Windows Server 2012 R2 стало доступно увеличивать и уменьшать размер виртуальных жестких дисков, не останавливая ВМ. Online resizing поддерживается только для VHDX-дисков, включая диск с ОС, и только подключенных к SCSI-контроллеру. Функция доступна как в консоли Hyper-V, так и в PowerShell.

Экспорт / клонированиеВМ online (Live VM export/clone). В Windows Server 2012 R2 можно не выключая ВМ выполнять ее полный экспорт, то есть фактически создавать клон, либо экспортировать требуемый моментальный снимок (snapshot) запущенной ВМ.

Quality of Service для хранилищ (Storage QoS).Для каждого виртуального жесткого диска ВМ на ходу можно задать максимальное и минимальное значения операций ввода-вывода в секунду (IOPS). Hyper-V будет ограничивать пропускную способность дисков сверху и генерировать оповещения, если дисковая активность ниже заданного минимального порога. Кроме того, обновлена функция resource metering, собирающая статистику по заданной ВМ или группе ВМ. В результаты измерения включены теперь и показатели IOPS.

Новые возможности в сетевом стеке.

Динамический режим балансировки трафика в NIC Teaming (NIC Teaming Dynamic Mode). В Windows Server 2012 R2 появился еще один режим балансировки – динамический. Исходящий трафик разбивается на так называемые flowlets и распределяется по всем адаптерам группы. Данный режим позволяет достичь более равномерного распределения трафика по имеющимся сетевым адаптерам.

Расширенные списки управления доступом (Extended ACLs). В Windows Server 2012 для каждого порта Hyper-V Extensible Switch можно задать ACL, тем самым разрешив или запретив трафик на конкретный MAC-адрес либо IP-адрес, в одну либо в обе стороны. В Windows Server 2012 R2 в настройках ACL появилась возможность дополнительно указать протокол, порт, а также задать признак stateful для, например, расширенного анализа трафика.

Удаленные мониторинг сетевого трафика (Remote Live Monitoring). Благодаря новым функциям в WMI и ETW появляется возможность удаленного мониторинга сетевого трафика в режиме online, либо сбора информации для последующего offline-анализа. Для этого на рабочую станцию необходимо установить Microsoft Message Analyzer и указать трафик какого хоста или даже конкретной ВМ на этом хосте следует анализировать.

Изменения в Network Virtualization. Интеграция с NIC Teaming. Теперь на хостах, где используется виртуализация сети, можно совместно с NV применять тиминг сетевых адаптеров как для failover, так и для балансировки трафика.

NVGRE Task Offload. На рынке начинают появляться сетевые адаптеры с поддержкой NVGRE, позволяющие перевести на аппаратный уровень адаптера часть задач, связанных с обработкой трафика NV. Естественно, это в первую очередь призвано повысить производительность сетевых операций.

Hyper-V Extensible Switch в Windows Server 2012 «видит» только CA-адреса при использовании NV. Напротив, в Windows Server 2012 R2, свитч работает и на уровне PA-адресов, что позволяет настраивать правила форвардинга, фильтрации, инспекции пакетов с учетом NV.

Встроенный шлюз (Built-in software gateways). Теперь Windows Server 2012 R2 может выступать в качестве готового шлюза для NV, обеспечивая связь ВМ, использующих виртуализацию сети, с внешним миром. При этом поддерживается и вариант маршрутизации трафика, и Site-to-Site туннелирование.

Управление коммутаторами (Standards Based Switch Management). Коммутаторы, поддерживающие Open Management Infrastructure (OMI), могут управляться через PowerShell. В Windows Server 2012 R2 добавлен набор командлетов, позволяющих задавать необходимые настройки для свитчей: настраивать VLAN-ы, конкретные порты и прочее.

IP Address Management (IPAM). Модуль для взаимодействия с System Center Virtual Machine Manager позволяет теперь настроить двусторонний обмен информаций между VMM и службой IPAM и аккумулировать в IPAM данные как о физическом, так и виртуальном адресном пространстве.

Нововведения в системе управлении хранилищами?

Поддержка VHDX в iSCSI Target. iSCSI Target Server стал поддерживать формат VHDX со всеми вытекающими последствиями: поддержка файлов размером до 64 ТБ, увеличение/уменьшение размеров VHDX в режиме online и пр. VHDX теперь является форматом по умолчанию для iSCSI Target, реализована полная поддержка SMI-S для управления iSCSI Target с помощью VMM.

Усовершенствования дедупликации. Впервые представленная в Windows Server 2012 дедупликация теперь поддерживается в том числе для открытых файлов VHD/VHDX, для CSV-томов, подключенных к Scale-Out File Server.

Поддержка многоуровневого хранилища в Storage Spaces (Storage Spaces – Storage Tiering). При создании пулов Storage Spaces в Windows Server 2012 R2 можно объединять в отдельные уровни диски SSD и HDD. Для повышения производительности ОС автоматически размещает на SSD-уровне наиболее востребованные данные, плюс администратор может явным образом указать, какие конкретно файлы необходимо расположить на этом уровне.

Вывод:

Не смотря на то, что обновление R2 (Release 2) является минорным, количество новых возможностей и усовершенствование уже присутствовавших в Windows Server 2012 является существенным. Основной упор был сделан на улучшение Hyper-V, расширение возможностей работы сетевого стека и усовершенствование подсистем управления хранилищами.

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

2.3 Технический обзор сетевой операционной системы Linux

Linux - общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU. Эти операционные системы принято называть дистрибутивами, которые представляют собой не просто набор программ, а ряд решений для разных задач пользователей, объединённых едиными системами установки, управления и обновления пакетов, настройки и поддержки.[26][27]

На сегодняшний день основными дистрибутивами Linux являются:

Ubuntu. Завоевавший большую популярность дистрибутив, который ориентирован на лёгкость в его освоении и использовании.

openSUSE. Распространяемая бесплатно версия дистрибутива SuSE, принадлежащая компании Novell. Отличительными чертами являются удобство в настройке и обслуживании, благодаря использованию утилиты YaST.

Fedora. Поддерживается сообществом и корпорацией RedHat, предшествует выпускам коммерческой версии RHEL.

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

Mandriva. Французско-бразильский дистрибутив, объединивший Mandrake и Conectiva.

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

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

Archlinux. Ориентирован на применение самых последних версий программ и постоянно обновляется, поддерживает как бинарную установку, так и установку из исходных кодов; построенный на философии простоты "Не усложняй", этот дистрибутив ориентирован на компетентных пользователей, которые хотят иметь всю силу и модифицируемость Linux, не принося при этом в жертву временя обслуживания.

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

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

Linux дает возможность всем бесплатно и легально иметь современную операционную систему для использования, как на работе, так и дома;

  • Обладает высоким быстродействием;
  • Работает надежно, устойчиво;
  • Позволяет использовать полностью все возможности современных персональных компьютеров;
  • Эффективно управляет многозадачностью и приоритетами;
  • Поддерживает функцию фоновых задач (длительный расчет, передача электронной почты по модему и т.д. ), которые не мешают интерактивной работе;
  • Позволяет легко интегрировать персональный компьютер в локальные и глобальные сети, в том числе и в Интернет;
  • Работает с сетями;
  • Позволяет выполнять представленные в формате загрузки прикладные программы других операционных систем;
  • Обладает возможностью использования огромного числа разнообразных программных пакетов, накопленных в мире Unix и свободно распространяемых вместе с исходными кодами;
  • Предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других операционных системах;
  • Дает всем желающим попробовать свои силы в разработке, организовать общение и совместную работу в сети Интернет с любыми из разработчиков операционной системы Linux и сделать в ее развитие свой вклад, став соавтором системы.[27][28]

Специфические внутренние черты Linux включают контроль работ по стандарту POSIX, используемые оболочки – sh, csh, bash, zsh, псевдотерминалы - pty, поддержку национальных и стандартных клавиатур и динамически загружаемые драйверы клавиатур.

Ядро ОС Linux.

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

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

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

Некоторые функции, предоставляемые ядром, имеют одинаковые свойства. Например, различные сетевые протоколы объединены в один программный интерфейс - BSD socket библиотеку. Другим примером могут служить различные файловые системы, поддерживаемые системой Linux. Ядро содержит виртуальную файловую систему (VFS - Virtual File System) которая включает в себя все функции, используемые в работе системы, а также отдельный драйвер для каждой поддерживаемой файловой системы. При попытке доступа к какой-либо файловой системе, запрос проходит через виртуальную файловую систему, откуда затем перенаправляется к соответствующему драйверу файловой системы.

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

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

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

Графический интерфейс пользователя.

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

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

Первоначально графической оболочкой, используемой с Linux, была система X Window System (сокращенно X). X не реализует пользовательский интерфейс, а только оконную систему, то есть средства, с помощью которых может быть реализован графический интерфейс. Три наиболее популярных версии графических интерфейсов на основе X - это OpenLook, Motif и Athena.[30][31]

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

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

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

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

Структура файловой системы.

Поддерживаемые Linux файловые системы позволяют работать с различными типами файловых систем, а некоторые из них как например, EXT2/3, ReiserFS и JFS считаются базовыми для Linux. Поддержка FAT (файловая система MS-DOS) позволяет непосредственно обращаться к файлам на жестком диске.

Файловая система разделяется на несколько частей: файловая система root (корневой каталог, не путать с /root), состоящая из каталогов /bin, /lib, /etc, /dev и некоторых других, файловая система /usr, где хранятся различные программы и данные не подлежащие изменению, файловая система /var, где содержатся изменяемые файлы (такие как log файлы и др.) и файловая система /home, которая состоит из личных каталогов пользователей. Разделение может существенно отличатся от приведенного выше в зависимости от настройки системным администратором и конфигурации аппаратного обеспечения.

Работа с сетью.

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

Сетевые возможности Linux обеспечивают полный набор протоколов ТСР/IР для работы в Интернет и поддерживают полный спектр клиентов и услуг ТСР/IР, таких как FTP,TELNET, SMTP и прочие.

Подключение к системе через сеть работает несколько иначе, чем обычное подключение. Существуют отдельные физические последовательные линии для каждого терминала, через которые и происходит подключение. Для каждого пользователя, который подключается к системе, существует отдельное виртуальное сетевое соединение и их может быть любое количество. Однако не представляется возможным запустить отдельный процесс getty для каждого возможного виртуального соединения. Существуют также и другие способы подключения к системе посредством сети. Например, telnet и rlogin - основные службы в TCP/IP сетях.[32][33]

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

Печать.

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

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

Выводы:

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

Заключение

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

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

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

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

• совместимостью с другими продуктами, то есть способностью работать в сложной гетерогенной среде интерсети в режиме plug-and-play.

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

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

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

  • Органичная поддержка многосерверной сети;
  • Высокая эффективность файловых операций;
  • Возможность эффективной интеграции с другими операционными системами;
  • Наличие централизованной масштабируемой справочной службы;
  • Хорошие перспективы развития;
  • Эффективная работа удаленных пользователей;
  • Разнообразные сервисы: файл-сервис, принт-сервис, безопасность данных и отказоустойчивость, архивирование данных, служба обмена сообщениями, различного типа базы данных и другие;
  • Поддержка широкого спектра транспортных протоколов: TCP/IP, IPX/SPX, NetBIOS, AppleTalk; Поддержка различных операционных систем конечных пользователей: DOS, UNIX, OS/2, Mac; Поддержка сетевого оборудования стандартов Ethernet, TokenRing, FDDI, ARCnet; Наличие популярных прикладных интерфейсов и механизмов вызова удаленных процедур RPC; Возможность взаимодействия с системой контроля и управления сетью, поддержка стандартов управления сетью SNMP.

Как показывают аналитические исследования, тенденции рынка сетевых операционных систем следующие – несмотря на то, что Windows продолжает оставаться безоговорочным лидером, рыночная доля этой операционной системы всё же немного уменьшилась и на 2018 год составляет 71,9%, а рыночные доля Linux - 12,9%.

Рассмотренная выше сетевая операционная система Windows Server 2012 хорошо подходит для организации компьютерных сетей в масштабе большого предприятия. Если же предприятие или организация стеснены в средствах, то тогда выбор должен быть сделан в пользу операционной системы Linux.

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

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

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

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

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

4. Новиков Ю.В., Кондратенко С.В. Основы локальных сетей: курс лекций: учеб. пособие : для студентов вузов, обучающихся по специальностям в обл. информ. технологий. - М.: Интернет – Ун-т Информ. Технологий, 2005. - 360 с. - (Серия «Основы информационных технологий» / Интернет Ун-т информ. технологий).

5. Бруксбэнк Э., Хабербергер Дж., Дойл Л. Samba. Руководство системного администратора для профессионалов – Питер, 2007

6. Таненбаум Э. Современные операционные системы, 3-е издание – Питер, 2010.

7. Попов И.И., Максимов Н.В., Храмцов П.Б. Введение в сетевые информационные ресурсы и технологии: Учебное пособие. М.: РГГУ, 2009.

8. http://www.osp.ru/os – электронная версия журнала «Операционные системы» на информационном портале, посвященном вопросам технологии разработки и использования открытых информационных систем в управлении, производстве, экономике.

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

10. Титаренко С.П. Управление процессами в современных операционных системах ЭВМ: учебное пособие.М.: Финансы и статистика, 2008.

11. Карпов В. Е., Коньков К. А. Основы операционных систем. Курс лекций. Учебное пособие - Интернет-Университет информационных технологий, 2005.

12. Бек Л. Введение в системное программирование. М.: Мир, 2005.

13. Гордеев А. В. Операционные системы, 2-ое издание – Питер, 2004.

14. Семенов А. С. Проектирование сетевых операционных систем - Вузовская книга, 2008.

15. Дьяконов В.Ю., Китов В.А., Калиничев И.А. Системное программирование: уч. пособие для втузов. Под ред. А. Л. Горелика. М.: Русская редакция, 2003.

16. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд.-СПб.: Питер 2006.

17. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. – Спб.: Питер, 2005

18. Фролов А.В., Фролов Г.В. Локальные сети персональных компьютеров. Монтаж сети, установка программного обеспечения. - М.: Диалог-МИФИ, 1994.

19. Безбогов А.А., Яковлев А.В., Мартемьянов Ю.Ф. Безопасность операционных систем – Машиностроение-1, 2007

20. Dan Holme. Windows® Administration: Productivity Solutions for IT Professionals - Microsoft Press, 2008

21. http://www.citforum.ru – информационный портал, посвященный вопросам современных информационных технологий, и в частности, имеющий достаточно обширный список ресурсов о теории построения, состоянии, развитии, особенностях использования различных операционных систем, сред и оболочек.

22. http://www.microsoft.com/ru-ru – информационный портал, раскрывающий направления разработок компании Microsoft.

23. МакинДж.К, Десаи А. Развертывание и настройка Windows Server 2012. – М.: Русская Редакция, 2012.

24. Joseph Davies. Windows Server® 2012 TCP/IP Protocols and Services - Microsoft Press, 2012

25. Безбогов А.А., Яковлев А.В., Мартемьянов Ю.Ф. Безопасность операционных систем – Машиностроение-1, 2007.

26. Попов И.И. Мировые информационные ресурсы и сети (методы доступа к ним): учебник./Под ред.К.И. Курбакова. М.: Изд-во Рос.экон.акад., 2005г.

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

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

29. Морис Дж. Бах. Архитектура операционной системы UNIX - Prentice-Hall, 2005.

30. НеметЭви, Снайлер Гарт, ХейнТрент. Руководство администратора Linux, 2-е издание Вильямс, 2007.

31. Голобродский К.Б. Знакомьтесь: Ubuntu – Феникс, 2010.

32. Уильям Стивенс. UNIX: взаимодействие процессов – Питер, 2006.

33. Брокмайер Джо, ЛебланкДи-Энн, Маккарти Рональд. Маршрутизация в Linux – Вильямс, 2004.

34. Граннеман Скотт. Linux. Карманный справочник - ИД "Вильямс", 2010.

35. Русскоязычные и англоязычные поисковые метасистемы.

  1. [1] Олифер В.Г., Олифер Н.А. Сетевые операционные системы. – СПб.:Питер, 2008.

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

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

  4. [4] Новиков Ю.В., Кондратенко С.В. Основы локальных сетей: курс лекций: учеб. пособие : для студентов вузов, обучающихся по специальностям в обл. информ. технологий. - М.: Интернет – Ун-т Информ. Технологий, 2005. - (Серия «Основы информационных технологий» / Интернет Ун-т информ. технологий).

  5. [5] Бруксбэнк Э., Хабербергер Дж., Дойл Л. Samba. Руководство системного администратора для профессионалов – Питер, 2007

  6. [7] Попов И.И., Максимов Н.В., Храмцов П.Б. Введение в сетевые информа-ционные ресурсы и технологии: Учебное пособие. М.: РГГУ, 2009.

  7. [8] http://www.osp.ru/os – электронная версия журнала «Операционные системы» на информационном портале, посвященном вопросам технологии разработки и использования открытых информационных систем в управлении, производстве, экономике.

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

  9. [10] Титаренко С.П. Управление процессами в современных операционных системах ЭВМ: учебное пособие.М.: Финансы и статистика, 2008.

  10. [11] Карпов В. Е., Коньков К. А. Основы операционных систем. Курс лекций. Учебное пособие - Интернет-Университет информационных технологий, 2005.

  11. [12] Бек Л. Введение в системное программирование. М.: Мир, 2005г.

  12. [13] Гордеев А. В. Операционные системы, 2-ое издание – Питер, 2004.

  13. [14] Семенов А. С. Проектирование сетевых операционных систем - Вузовская книга, 2008.

  14. [15] Дьяконов В.Ю., Китов В.А., Калиничев И.А. Системное программирование: уч. пособие для втузов. Под ред. А. Л. Горелика. М.: Русская редакция, 2003.

  15. [16] Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд.-СПб.: Питер 2006.

  16. [17] Олифер В.Г., Олифер Н.А. Сетевые операционные системы. – Спб.: Питер, 2005

  17. [18] Фролов А.В., Фролов Г.В. Локальные сети персональных компьютеров. Монтаж сети, установка программного обеспечения. - М.: Диалог-МИФИ, 1994.-169с.: ил

  18. [19] Безбогов А.А., Яковлев А.В., Мартемьянов Ю.Ф. Безопасность операционных систем – Машиностроение-1, 2007

  19. [20] Dan Holme. Windows® Administration: Productivity Solutions for IT Professionals - Microsoft Press, 2008

  20. [21] http://www.citforum.ru – информационный портал, посвященный вопросам современных информационных технологий, и в частности, имеющий достаточно обширный список ресурсов о теории построения, состоянии, развитии, особенностях использования различных операционных систем, сред и оболочек.

  21. [22] http://www.microsoft.com/ru-ru – информационный портал, раскрывающий направления разработок компании Microsoft.

  22. [23] МакинДж.К, Десаи А. Развертывание и настройка Windows Server 2012. – М.: Русская Редакция, 2012.

  23. [24] Joseph Davies. Windows Server® 2012 TCP/IP Protocols and Services - Microsoft Press, 2012

  24. [25] Безбогов А.А., Яковлев А.В., Мартемьянов Ю.Ф. Безопасность операционных систем – Машиностроение-1, 2007.

  25. [26] Попов И.И. Мировые информационные ресурсы и сети (методы доступа к ним): учебник./Под ред.К.И. Курбакова. М.: Изд-во Рос.экон. акад., 2005г.

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

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

  28. [29] Морис Дж. Бах. Архитектура операционной системы UNIX - Prentice-Hall, 2005

  29. [30] НеметЭви, Снайлер Гарт, ХейнТрент. Руководство администратора Linux, 2-е издание Вильямс, 2007

  30. [31] Голобродский К.Б. Знакомьтесь: Ubuntu – Феникс, 2010

  31. [32] Уильям Стивенс. UNIX: взаимодействие процессов – Питер, 2006

  32. [33] Брокмайер Джо, ЛебланкДи-Энн, Маккарти Рональд. Маршрутизация в Linux – Вильямс, 2004

  33. [34] Граннеман Скотт. Linux. Карманный справочник - ИД "Вильямс", 2010