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