Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

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


Основные принципы построения операционных систем

Принцип модульности

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

Принцип функциональной избирательности

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

Принцип функциональной избыточности

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

Принцип виртуализации

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

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

Принцип независимости программ от внешних устройств

Принцип мобильности (переносимости)

Принцип обеспечения безопасности вычислений

 

Архитектура «монолитное ядро»

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

Классическое Монолитное ядро состоит из единственного загрузочного модуля, в котором реализованы все функции, возлагаемые на систему, и в частности, все сервисы, которые ядро предоставляет прикладным программам.

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

Такой способ организации определяет его плюсы:

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

· все или большинство случаев взаимодействия прикладных программ не требует переключения между процессами, и как следствие «тяжеловесность» процессов некритична, и может быть весьма большой, что обеспечивает хорошую защищённость;

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

В то же время у данной архитектуры есть и минусы:

· неправильное функционирование одного из компонентов может нанести ущерб всей системе, что — опять-таки теоретически — делает систему с монолитным ядром менее надёжной, чем микроядерная система и требует большей тщательности в разработке компонентов ОС;

· большой объём кода, исполняемого в невытесняемом режиме негативно влияет время отклика приложений на внешние события, что нежелательно или недопустимо в системах работающих в реальном времени;

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

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


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 1048; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.019 с.)
Главная | Случайная страница | Обратная связь