Операционные системы. Управление ресурсами


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


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

Первой из четко сформулированных архитектурных концепций ОС была иерархия абстрактных машин, предложенная Дейкстрой в 1968 году для ОС THE (описание можно найти в [20]). Иерархия абстрактных машин в этой системе показана на рисунке 1.6. Самый нижний (нулевой) уровень иерархии составляет реальная машина с ее интерфейсом оборудования. Нижний слой программного обеспечения составляет первый уровень. Совместно с аппаратными средствами он представляет некоторую абстрактную машину со своим, более высокоуровневым интерфейсом оборудования. На основе этого интерфейса строится абстрактная машина второго уровня и т.д. Последовательным наращиванием слоев программного обеспечения интерфейс абстрактной машины доводится до уровня интерфейса процессов.


Рис.1.6. Иерархия абстрактных машин в системе THE

Реализация архитектуры абстрактных машин сопряжена со значительными трудностями, связанными с правильным выбором уровней и их иерархическим упорядочением. Система THE представляет только один из возможных вариантов, применимый далеко не во всех случаях. Успешность решения этой проблемы во многом зависит от выбранного метода проектирования. В первоисточнике реализация иерархии абстрактных машин производилась методом "снизу-вверх". Другие авторы (например, [11]) настаивают на реализации методом "сверху вниз". По-видимому, наиболее продуктивным является комбинированный метод, пример применения которого приведен в [10]: спецификации уровней разрабатываются "сверху вниз", а реализация ведется "снизу вверх".


Начало  Назад  Вперед



Книжный магазин