Лексикон 3ОС. Ядро |
Определение - характеристика
Ядро - система управления процессами
ОС; является важнейшей частью любой операционной системы. Предназначено для выделения
аппаратных ресурсов процессам, принадлежащим
самой ОС, а также приложениям, выполняющимся
под ее управлением. Располагая ресурсами процессора и платформы монопольно, ядро
непосредственно влияет на функционирование абсолютно всех подсистем ОС.
В задачу ядра входит: унификация и обеспечение легкости общения системных и прикладных
задач с ресурсами платформы, бесконфликтное (без значительного снижения производительности)
распределение ресурсов между задачами и осуществление контроля за безопасностью
работы потоков.
Ядро выполняет планирование и диспетчеризацию потоков, обработку прерываний и
синхронизацию процессов. Кроме того, оно синхронизирует деятельность компонентов
исполняющей системы, обеспечивает создание и управление примитивными объектами
(процессы, потоки, сообщения)
исполняющей системы ОС и т.п.
С точки зрения архитектурного исполнения ядро 3ОС представляет собой микроядро,
которое состоит из нескольких функциональных модулей, реализованных с помощью классов.
А именно: менеджера памяти, диспетчера
потоков, менеджера внутрисистемных сообщений
(менеджер событий и синхронизации, фабрика класса), планировщика
прерываний, подсистемы безаварийной работы ядра
и отладчика уровня ядра (опционально).
Процесс - выполняемое приложение с собственным виртуальным адресным пространством, кодом, данными и другими ресурсами операционной системы, такими как файлы, каналы и синхронизирующие объекты; может иметь один или несколько потоков, выполняемых в контексте данного процесса.
Поток - создаваемый операционной системой объект
(один или несколько) внутри процесса. Реализуется в виде
совокупности исполняемых инструкций и данных, загруженных в оперативную память и
дополненных служебной информацией, позволяющей ОС приостанавливать и возобновлять
исполнение потока по своему усмотрению. Является минимальной (неделимой) единицей
исполнения инструкций приложения.
В качестве атрибутов потока выступают код, данные,
стек, сегмент состояния задачи.
Потоки позволяют осуществлять параллельное выполнение процессов и одновременное
выполнение одним процессом различных частей программы на различных процессорах.
Для обеспечения независимости потоков друг от друга
прямой доступ из адресного пространства
одного потока в адресное пространство другого потока запрещен. Для осуществления
необходимого взаимодействия между потоками операционной системой предоставляется
возможность производить корректный вызов функций между различными адресными пространствами
с помощью механизма удаленного доступа.
Безопасность (независимость) потоков - выделение каждому потоку собственного адресного пространства (кучи) для динамического размещения структур данных.
Данные - один из атрибутов потока; информация, предназначенная для ее обработки кодом потока. Может обрабатываться несколькими потоками одновременно.
Код - атрибут потока; совокупность функциональных методов, предназначенных для оперирования принадлежащими потоку данными.
Стек - упорядоченная структура данных, в которой добавление или удаление элементов всегда осуществляется в ее начало (вершину). Функционирует по принципу LIFO. Используется для временного хранения адресов возврата при вызовах методов (функций), а также для хранения передаваемых параметров и локальных переменных. Является атрибутом потока.
Сегмент состояния задачи (TSS) - атрибут потока; предназначен для сохранения состояния исполняемого кода.
Микроядро - архитектурное решение, согласно которому в состав ядра входят ...
Менеджер памяти - модуль ядра, отвечающий за управление оперативной памятью (ОП) и ее выделение под объекты ядра.
Диспетчер потоков - модуль ядра, отвечающий за управление потоками.
Менеджер внутрисистемных сообщений - модуль ядра, отвечающий за обмен сообщениями между потоками.
Планировщик прерываний - модуль ядра, отвечающий за управление порядком выполнения задач.
Подсистема безаварийной работы ядра - модуль ядра, отвечающий за ...
Отладчик уровня ядра - модуль ядра, отвечающий за ...
Сообщение - упорядоченная последовательность символов, предназначенная для передачи адресуемой ресурсу ОС информации.