![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Многоуровневая архитектура появилась в ответ на ограничения монолитной архитектуры в плане расширяемости, переносимости и совместимости.
Основная ее идея состоит в следующем:
1. Полная функциональность ОС разделяется на уровни (уровень аппаратурой, уровень управления памятью, уровень файловой системы)
2. Для каждого уровня определяется интерфейс взаимодействия. Он представляет собой некоторый набор правил, определяющих способ обращения к услугам данного уровня.
3. Взаимодействие уровней строится таким образом, что каждый уровень может обращаться за услугами только к соседнему нижележащему уровню через его интерфейс.
4. Внутренние структуры данных каждого уровня не доступны другим уровням, а реализации процедур уровня скрыты и не зависят от реализации процедур внутри других уровней.
Обязательным условием при разбиении функциональности на уровни является взаимодействие только между соседними уровнями.
Запрещаются прямые обращения к любым уровням, минуя соседний уровень.
Разбиение функциональности ОС на уровни выполняется на этапе ее проектирования и сохраняется на весь срок жизни ОС.
Поскольку внутренняя организация уровней скрыта от других уровней, то она может быть безболезненно скорректирована или полностью изменена. Важно, чтобы сохранялся полностью интерфейс в части использования старого ПО, дополнение новых элементов интерфейсы разрешается. Т.е. интерфейсы не могут сокращаться, но могут расширяться.
Многоуровневые ОС хорошо реализуются, хорошо тестируются и модифицируются в силу указанных особенностей.
Многоуровневая архитектура получила очень широкое распространение (например, семейство ОС Unix).
Первая многоуровневая ОС была создана в 1968 г. профессором Дейкстрой и его студентами. Называлась THE и содержала 6 уровней.
Главное преимущество многоуровневой архитектуры перед монолитной проявляется не столько на этапе начальной разработки, сколько на этапе сопровождения ОС.
При внесении новой функциональности достаточно было вносить изменения только в код отдельного уровня.
При переносе ОС на другую аппаратную платформу менялся только аппаратно зависимый уровень.
Однако, несмотря на видимые отличия, многоуровневая архитектура является прямым развитием монолитной архитектуры, в которую просто введена более четкая структуризация.
Со временем выявились недостатки многоуровневой архитектуры:
1. сложны для разработки (тяжело правильно определить порядок слоев и что к какому слою относится)
2. менее эффективна чем монолитная (т.к. например, для выполнения операции ввода/вывода программе пользователя придется проходить все слои от верхнего до нижнего, на каждый переход тратится дополнительное время, отсюда и потеря в эффекте)
3. многочисленные взаимодействия между соседними уровнями усложняют обеспечения безопасности (одна из причин: усложнение интерфейса. в ряде случаев сложность реализации какого-то уровня может превзойти сложность всей ОС первых версий. В таких условиях заменить уровень новым или нарастить его функциональность становится весьма сложной задачей.
Следующим этапом в развитии ОС стала архитектура типа клиент-сервер.
Дата публикования: 2014-11-04; Прочитано: 8325 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!