![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [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; Прочитано: 1588 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!