Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

К современным требованиям относятся:

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

· Переносимость. Код должен легко переноситься с аппаратной платформы одного типа на аппаратную платформу другого типа.

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

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

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

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

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

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

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

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

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

Средства вызова удаленных процедур (RPC) также дают возможность расширить функциональные возможности ОС.

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

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

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

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

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

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

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

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

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





Дата публикования: 2015-09-17; Прочитано: 1397 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...