Основные компоненты ядра



Сигналы. Ядро использует сигналы для обращения к процессу. Например, сигналы используются для уведомления процесса о некоторых ошибках, таких как деление на нуль;



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



Процессы и планировщик. Создает, управляет и планирует процессы.



Виртуальная память. Выделяет виртуальную память для процессов и управляет ею.



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



Сетевые протоколы. Поддержка пользовательского интерфейса сокетов для набора протоколов TCP/IP.



Драйверы символьных устройств. Управление устройствами, которые требуют от ядра отправки или получения данных по одному байту, например терминалами, принтерами или модемами.



Драйверы блочных устройств. Управление устройствами, которые читают и записывают данные блоками, как, например, различные виды вторичной памяти (магнитные диски, CD-ROM и т.п.).



Драйверы сетевых устройств. Управление картами сетевых интерфейсов и коммуникационными портами, которые подключаются к сетевым устройствам, таким как мосты или роутеры.



Ловушки и отказы. Обработка генерируемых процессором прерываний, как, например, при сбое памяти.



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



Прерывания. Обработка прерываний от периферийных устройств.