Лингвистика

Что такое ядpo

OC?
Влад Олейник
Влад Олейник
1 441
Пора тебе, Лёха, жпт ставить.Задолбал дурацкими вопросами. Оно как раз для таких и сделано. Для тех, кому лень в поиске ковыряться и "чтоб слоники побегали". Как там беременность проходит, без осложнений?
АМ
Андрей Медведев
81 195
Лучший ответ
Компонент ОС, наиболее приближенный к "железу".
Выполняет, в частности:
  • Обработку аппаратных прерываний.
  • Создание, завершение процессов и потоков и переключение их контекста.
  • Запросы слоёв более высокого уровня абстракции на взаимодействие с "железом": накопители, сеть, клавиатура, мышь, видеокарта и т.д.
  • Запросы слоёв более высокого уровня на использование примитивов синхронизации ядра.

Ядро выполняется в наиболее защищённом режиме процессора (нулевое кольцо, а обычно их 4, пользовательские программы выполняются в третьем).
В ОС принято отводить ядру верхнюю половину или четверть адресного пространства и делать эту часть общей для всех процессов, но доступной только в нулевом кольце.
Это, естественно, не касается таких систем, как MS-DOS, где вся память видна всем, а уровни защиты не используются.

Код более высокого уровня абстракции выделяется в подсистемы ОС, которые выполняются не на уровне ядра. Например, в Windows NT 3.x даже UI был выделен в подсистему, но из-за адово низкой производительности его пришлось вернуть в ядро в следующих версиях. Вызов подсистемы - это обычный межпроцессный вызов с переключением контекста процесса, а вызов ядра - это просто поднятие уровня привилегий без переключения контекста, что во много раз дешевле.
Подсистемы могут заниматься аутентификацией пользователей, ведением журнала событий, установкой обновлений и др. задачами, не требующими быстродействия или прямого доступа к железу.

Разработчикам доступно написание драйверов уровня ядра (обычно - на C с ассемблерными вставками), при этом такому коду недоступны многие операции, которыми пользуются обычные программы: например, открыть файл и дописать туда строчку - это целая история.

Также часто в ОС выделяется микроядро, выполняющее совсем базовый набор наиболее критичных операций. Его обычно отлаживают или верифицируют раз и навсегда, и оно так живёт десятилетиями, доработки ядра его не затрагивают, и загрузка прикладных драйверов в него невозможна.
SC
Sahra Charyyarova
87 571
То что исполняет код файлов .exe , отправляет код на ядра процессора. У которых арифметико-логическое устройство делает операции с двоичным кодом, выполняя программу.
Анна Закриева
Анна Закриева
47 575

Похожие вопросы