Ядро системы

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

Процесс запрашивает услугу определенной процедуры через стандартизированный системный вызов, внешне похожий на обычный вызов библиотечной функции. Ядро обрабатывает запрос и возвращает процессу необходимые данные.

Ядро состоит из основных трех подсистем:

- файловая подсистема;

- подсистема управления процессами и памятью;

- подсистема ввода-вывода.

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

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

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

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

Специальная задача ядра, называемая планировщиком процессов, разрешает конфликты между процессами в конкуренции за системные ресурсы. Планировщик запускает системные процессы и следит за тем, чтобы процесс не захватил разделяемые системные ресурсы.

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

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

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

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

Подсистема ввода-вывода обрабатывает запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам. Обеспечивает необходимость буферизации данных и взаимодействие с драйвером устройства.

Драйверы ¾ специальные системные программы, предназначенные для обеспечения взаимодействия процессов с устройствами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: