Уровни абстракции ОС. ОС с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ОС. Генерация ОС
Презентацию к данной лекции Вы можете скачать здесь.
Введение
Сложность архитектуры ОС приводит к необходимости использования специальных методов для их разработки. В лекции рассмотрены наиболее популярные из таких методов.
Уровни абстракции ОС
Проектирование и реализация операционных систем адекватно соответствуют принципу уровней абстракции, сформулированному Э. Дейкстрой и подробно рассмотренному в [ 2 ] . На рис. 7.1 изображены уровни абстракции при разработке ОС.
Каждый новый уровень абстракции M определяет новые операции, в реализации которых используются операции предшествующего уровня M-1. Кроме того, уровень M-1 может иметь скрытые операции, используемые только на этом уровне и недоступные другим уровням.
На рис. 7.2 изображены уровни абстракции операционной системы OS/2 – второй ОС (вслед за MS DOS), разработанной фирмой Microsoft (в середине 1980-х гг.) для персональных компьютеров PS/2. OS/2 является значительно более развитой ОС, чем MS DOS, как видно из рисунка.
На верхнем уровне абстракции прикладные программы пользователей обращаются к интерфейсу прикладного программирования (application programming interface – API),который представляет собой набор библиотечных функций. API структурирован по подсистемам, причем набор подсистем расширяем. Нижние уровни абстракции реализуют ядро ОС, выполняющее функции управления памятью, диспетчеризации задач и управления устройствами. Наконец, на самом низком уровне абстракции реализованы драйверы устройств.
Операционные системы с микроядром
Микроядро (micro-kernel) – один из важнейших принципов разработки ОС, который заключается в переносе максимально возможного числа модулей из системного в пользовательское "пространство", т.е. ОС разрабатывается таким образом, что большинство ее модулей выполняются в пользовательском режиме. Коммуникация выполняется между пользовательскими модулями с помощью передачи сообщений. Преимущества такого подхода:
- микроядро легче расширять;
- легче переносить ОС на новые аппаратные платформы;
- увеличивается надежность ОС, так как большее число программ выполняются в непривилегированном режиме;
- улучшается безопасность ОС.
По такому принципу разработаны все операционные системы семейства Windows NT. Структура Windows NT изображена на рис. 7.3.
Система Windows NT (от New Technology), разработанная в середине 1990-х гг., воплотила в себе новый подход Microsoft к разработке операционных систем. Его отличительные черты: модульная клиент-серверная архитектура, микроядро, обеспечение совместимости с распространенными видами приложений для других ОС (например, OS/2), расширенные сетевые возможности, повышенная надежность. Windows NT с середины 1990-х гг. широко распространилась как серверная ОС. Для совместимости с приложениями для других ОС, в Windows NT реализованы соответствующие серверы. Взаимодействие клиентских приложений с ними показано на схеме. Аббревиатура Win32 означает "библиотеки (API) ОС Windows для 32-разрядных процессоров". POSIX (Portable Operating Systems of unIX type) – стандарт для библиотек, системных вызовов и системных программ для операционных систем типа UNIX. POSIX-совместимость означает, что приложение, предназначенное для UNIX, использует только стандартные возможности. Все современные ОС (начиная с Windows NT) обеспечивают совместимость с POSIX-приложениями. Заметим, что все серверы для совместимости с другими ОС в Windows NT выполняются в непривилегированном режиме, но обращаются к микроядру.