Микроядерная архитектура.
Виртуальные машины.
Слоеные системы (Layered Systems)
Монолитное ядро.
Процессы и потоки. Архитектурные особенности ОС.
Файл.
Понятие файла связано с хранением данных на внешнем носителе. Под файлом понимается часть пространства на носителе информации, имеющая имя.
<- Имя файла
Рис.1 Понятие файла
Главная задача файлов системы – скрыть детали вводы/вывода и дать программисту простую абстрактную модель файлов, не зависящих от устройств. Системы вывозов файлов:
1) Create
2) Delete
3) Open
4) Close
5) Read
6) Write
При работе с файлами используются такие понятия как каталог/текущий каталог/корневой каталог.
ОС – это всегда программа и логично представить, когда ОС это набор процедур и функций – эта ситуация называется монолитная ОС. Это способ организации ОС – монолитное ядро. Все процедуры работают в привилегированном режиме, т.е. все компоненты ОС являются составными частями одной программы, здесь используются общие структуры данных. Для монолитной ОС ядро совпадает со всей ОС. Во многих случаях монолитная ОС компонуется из отдельных модулей. МОС это старейший способ организации систем, большинство из них способно осуществлять перекомпоновку. В МОС выделяют сервисные процедуры, соответствующие системным вызовам. Сервисные процедуры выполняются в привилегированном режиме. Пользовательские проги - в не привилегированном режиме.
Всю ОС можно разбить на части.
Интерфейс с пользователем | |
Управление вводом/выводом | |
Драйверы | |
Управление памятью | |
Планирование задач и процессов | |
Hardware |
Каждый уровень, начиная с нижнего, отлаживается отдельно. Слоеные системы проще тестировать.
Взгляд на ОС как на ВМ позволяет работать с командами высокого уровня. Программным путем возможно представить себе, что программным путем реализуется «железо». На это «железо» можно поставить какую-нибудь ОС и не обязательно ту, которая изначально была на ВС, при этом на каждой ВМ может стоять своя ОС.
Программа юзера | Программа юзера | Программа юзера |
CPM | Linux | Windows |
Виртуальный hardware | Виртуальный hardware | Виртуальный hardware |
Реальная ОС | ||
Реальный hardwear |
Преимущества очевидны. Мы можем использовать программы в разных ОС. Минус в том, что между юзером и реальным хардом три слоя, что ведет к замедлению.
С конца 90-х гг. есть тенденция перенесения значительной части системного кода (код, которым написана ОС) на уровень юзера и минимизации ядра. Речь идет о подходе реализации структуры с микроядерной архитектурой. В этом случае большинство блоков/модулей ОС являются самостоятельными программами. Взаимодействие между модулями осуществляет специальный модуль ядра, называемый микроядром.
Менеджер файловых систем |
Привилегированный режим |
Микроядро |
Прога А |
Прога В |
Сетевой менеджер |
Компоненты ОС взаимодействуют друг с другом передавая сообщения через микроядро. Преимущество такой ОС – высокая модульность. Такая организация позволяет отлаживать независимо каждый компонент и безболезненно заменить каждый такой компонент на более лучший. Компоненты ядра ОС не отличаются принципиально от пользовательских программ. Отрицательным моментом микроядерной архитектуры являются существенные затраты времени на передачи сообщений, т.е. падает производительность такой ОС. Для решения этой проблемы необходимо тщательно проектировать разбиение системы на компоненты. Цель этого разбиения д/б такой чтобы обеспечить минимальное взаимодействие между компонентами.