Слоеные системы (Layered Systems)

Всю ОС можно разбить на части.

Интерфейс с пользователем
Управление вводом/выводом
Драйверы
Управление памятью
Планирование задач и процессов
Hardware

 

Каждый уровень, начиная с нижнего, отлаживается отдельно. Слоеные системы проще тестировать.

Виртуальные машины.

Взгляд на ОС как на ВМ позволяет работать с командами высокого уровня. Программным путем возможно представить себе, что программным путем реализуется «железо». На это «железо» можно поставить какую-нибудь ОС и не обязательно ту, которая изначально была на ВС, при этом на каждой ВМ может стоять своя ОС.

Программа юзера Программа юзера Программа юзера
CPM Linux Windows
Виртуальный hardware Виртуальный hardware Виртуальный hardware
Реальная ОС
Реальный hardwear

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

Микроядерная архитектура.

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

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

Прога А

 

 


Прога В
Сетевой менеджер
Непривел. режим

 

 

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

Смешанные системы.

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

Классификация ОС

1) Бывают ОС, в которых реализовано много задач (многозадачные ОС):

· Однозадачные (MS DOS);

· Многозадачные (UNIX-системы).

2) Поддержка многопользовательского режима:

· Однопользовательские (MS DOS);

· Многопользовательские (Windows, UNIX).

3) Многопроцессорная обработка (мультипроцессирование)

ОС, которые приспособлены работать с многопроцессорной архитектуры: Windows, Linux, Solaris.

4) Системы реального времени

Система реального времени предполагает обработку большого количества сигналов датчиков за нормированное время. ОС РВ накладывают определенные ограничения на архитектуру ОС: практически никогда не используется системы виртуальной памяти по причине – наличие виртуальной памяти дает непредсказуемой время реакции ОС/системы управления на внешние события.