49-61 / 51.Уровни абстракции и какие ограничения накладываются на реализацию его операций
.docxЧто такое уровень абстракции и какие ограничения накладываются на реализацию его операций? Что такое микроядро и как организуются операционные системы по принципу микроядра?
Уровень абстракции (abstraction layer) - группа модулей, при реализации которых используются только модули предшествующего уровня.
В конце 1960-х гг., при разработке операционной системы THE Э. Дейкстра предложил для своего времени весьма новый и прогрессивный принцип уровней абстракции, полезный при разработке любой сложной программной системы, в том числе – столь сложной, как операционная система. Согласно этому принципу, ОС (или другая сложная программа) реализуется в виде набора (иерархии) уровней абстракции (abstraction layers), каждый из которых реализован на основе предыдущего уровня.
Уровень 0 (layer 0) образует аппаратура (hardware); самый высокий уровень N (layer N) является пользовательским интерфейсом с операционной системой. Каждый уровень абстракции N > 0 – это группа модулей, при реализации которого, согласно принципам модульного программирования, используются только модули предшествующего уровня (N-1).
"Перескакивание" через уровень (т.е., например, использование при реализации модуля уровня N вызовов модулей уровня N – 2) не рекомендуется и является нарушением технологии, которое может привести к ошибкам.
Типичное представление архитектуры компьютера в виде последовательности уровней абстракции: аппаратного обеспечения, прошивки, языка ассемблера, ядра операционной системы, операционной системы и приложений.
Микроядро реализует базовые функции операционной системы, на которые опираются другие системные службы и приложения.
Микроядро (micro-kernel)– один из важнейших принципов разработки ОС, который заключается в переносе максимально возможного числа модулей из системного в пользовательское "пространство", т.е. ОС разрабатывается таким образом, что большинство ее модулей выполняются в пользовательском режиме. Коммуникация выполняется между пользовательскими модулями с помощью передачи сообщений.
ОС с микроядром – принцип разработки ОС, при котором минимизируется число модулей, выполнение которых необходимо в привилегированном режиме, что более безопасно, надежно и позволяет легче переносить ОС на другие платформы.