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


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

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

Монолитное ядро.

Процессы и потоки. Архитектурные особенности ОС.

Файл.

Понятие файла связано с хранением данных на внешнем носителе. Под файлом понимается часть пространства на носителе информации, имеющая имя.

 


<- Имя файла

 

 

Рис.1 Понятие файла

Главная задача файлов системы – скрыть детали вводы/вывода и дать программисту простую абстрактную модель файлов, не зависящих от устройств. Системы вывозов файлов:

1) Create

2) Delete

3) Open

4) Close

5) Read

6) Write

При работе с файлами используются такие понятия как каталог/текущий каталог/корневой каталог.


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

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

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

 

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

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

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

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

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

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

Прога А

 

 


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

 

 

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