Ядро и вспомогателные модули ОС. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Ядро и вспомогателные модули ОС.



 

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

- ядро – модули, выполняющие основные функции ОС;

- модули, выполняющие вспомогательные функции ОС.

 

Рис 3. Архитектура операционной системы с ядром в привилегированном режиме.

 

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

Внутрисистемные функции ядра не доступные для приложений: это переключение

контекстов процессов, загрузка / выгрузка страниц, обработка прерываний и т.д.

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

 

Основные функции ядра (программ, входящих в ядро ОС):

 

1. Обработка прерываний;

2. Создание и уничтожение процессов;

3. Переключение процессов из состояния в состояние;

4. Диспетчеризация (выбор и запуск);

5. Приостановка и активизация процессов;

6. Синхронизация процессов;

7. Организация взаимодействия между процессами;

8. Манипулирование блоками управления процессами;

9. Поддержка операций ввода/вывода (в ЭВМ разного типа ввод/вывод организуется по-разному);

10. Поддержка распределения и перераспределения памяти;

11. Поддержка работы файловой системы;

12. Поддержка механизма, вызова и возврата при обращении к процедурам;

13. Поддержка определенных функций по ведению учета работы компьютера.

 

Другой класс функций, служащий для поддержки приложений - прикладная программная среда. Приложения могут обращаться к ядру с запросами – системными вызовами (открытие файла, системное время).

Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования API. Для обеспечения высокой скорости работы большая часть ядра (или всё ядро) полностью находится в оперативной памяти, то есть являются резидентными. Обычно ядро оформляется в виде программного модуля некоторого специального формата.

Вспомогательные модули ОС обычно подразделяются на группы:

· Утилиты – программы, решающие отдельные задачи управления и сопровождения комплексных систем (например, архиваторы).

· Системные обрабатывающие программы – компиляторы, компоновщики, отладчики.

· Программы предоставления пользователю дополнительных услуг - калькулятор, игры, специальный вариант пользовательского интерфейса.

· Библиотеки подпрограмм различного назначения (например, библиотеки ввода вывода).

 

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

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 202; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.247.196 (0.007 с.)