Каква е разликата между ядрото, модул и драйвер?


Отговор 1:

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

Драйверите на устройства обикновено са написани от производители на хардуер и предоставят канал за комуникация между операционната система и хардуерните устройства, като принтери, за които има изисквания, за които знае само техният производител.

Модулът е общ термин и е твърде неясно да се каже какво би могло да означава в определен контекст.


Отговор 2:

Забележка: Този отговор предполага Linux ядро.

Образът на ядрото предлага функционалността, очаквана от ядрото на операционната система. Например управление на паметта и управление на процесите.

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

Драйверът на устройство е софтуер, който позволява на ядрото да говори с устройството. Както бе споменато по-рано, драйверите на устройствата често се реализират като модули на ядрото.

Обикновено всяка функционалност, която е необходима за зареждане на операционна система, се компилира в изображението на ядрото на ядрото. Всяка функционалност, която се изисква само на по-късен етап, може да се компилира като модул на ядрото.