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

Многоуровневая архитектура ОС



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

Основная ее идея состоит в следующем:

1. Полная функциональность ОС разделяется на уровни (уровень аппаратурой, уровень управления памятью, уровень файловой системы)

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

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

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

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

Запрещаются прямые обращения к любым уровням, минуя соседний уровень.

Разбиение функциональности ОС на уровни выполняется на этапе ее проектирования и сохраняется на весь срок жизни ОС.

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

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

Многоуровневая архитектура получила очень широкое распространение (например, семейство ОС Unix).

Первая многоуровневая ОС была создана в 1968 г. профессором Дейкстрой и его студентами. Называлась THE и содержала 6 уровней.

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

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

При переносе ОС на другую аппаратную платформу менялся только аппаратно зависимый уровень.

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

Со временем выявились недостатки многоуровневой архитектуры:

1. сложны для разработки (тяжело правильно определить порядок слоев и что к какому слою относится)

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

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

Следующим этапом в развитии ОС стала архитектура типа клиент-сервер.





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



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