Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основные принципы разработки архитектуры ОС



Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [IEE[1471].

Именно архитектура ОС должна обеспечить:

¾ расширяемость ОС

¾ переносимость ОС

¾ совместимость различных ОС

Существует два способа структуризации ОС:

1. Способ связан с ранее выделенным функционалом ОС (т.е. можно выделить подсистему управления процессами/памятью/файлами и т.д.). Такое деление достаточно обоснованно, поскольку всю совокупность программных модулей ОС, отвечающих за тот или иной функционал, достаточно просто локализовать в виде одной структуры, которая и называется подсистемой.

В соответствии с этим способом структуризации выделяют следующий состав компонентов (подсистем) ОС:

1. управление процессами

2. управление памятью

3. управление файлами

4. управление внешними устройствами

5. защита данных

6. администрирование

7. интерфейс прикладного программирования

8. пользовательский интерфейс

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

Остальные (вспомогательные) модули ОС являются транзитивными (т.е. подгружаются в память с диска по мере необходимости на время своей работы).

Другой характеристикой ядра может служить его режим работы. Все современные процессоры поддерживают как минимум два режима:

¾ привилегированный (он же режим ядра) kernel mode

¾ непривилегированный (режим задачи пользователя) user mode

Программы, работающие в режиме ядра, имеют полный, неограниченный доступ ко всем ресурсам компьютера:

· его командам

· адресам

· регистрам

· портам ввода-вывода

В режиме задачи возможности программы ограничены, она, в частности, не может выполнять некоторые специальные команды.

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

Смена режимов при выполнении функции ядра

       
   


Работа Пользовательский t – время переключения

приложения режим режимов

t Работа t

ядра

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

Ядро включает модули, выполняющие основные функции ОС:

1. управление процессами

2. управление памятью

3. управление вводом-выводом и файловая система

4. прочее

К транзитным частям ОС относятся:

- утилиты (отдельные системные программы, решающие частные задачи, такие например, как форматирование и проверка диска, поиск данных в файлах, мониторинг работы системы и многое другое)

- системные библиотеки подпрограмм (они позволяют прикладным программам использовать различные специальные возможности, которые поддерживаются системой, например: библиотеки для графического вывода, для работы с мультимедиа)

- интерпретатор команд (программа, выполняющая ввод команд пользователя, их анализ и вызов других модулей для выполнения команд)

- системный загрузчик (программа, которая при запуске ОС (включение питания) обеспечивает загрузку системы с диска, ее инициализацию и старт)

- другие виды программ (системные обрабатывающие программы (редакторы, отладчики, компиляторы), а также программы дополнительных услуг (игры, калькулятор) и библиотеки процедур (математические функции).

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

Но в отличие от самого ядра, которое изменяется только при появлении новой версии ОС, набор используемых драйверов весьма мобилен и зависит от набора устройств, подключенных к данному компьютеру.

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





Дата публикования: 2014-11-04; Прочитано: 1564 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...