Разница между режимами ядра и пользователя при разработке драйверов заключается в том, где запускается код: в режиме ядра или в пользовательском режиме. 13
Режим ядра — привилегированный режим, в который компьютер входит при доступе к аппаратным ресурсам. 2 В этом режиме исполняемый код имеет полный и неограниченный доступ к аппаратному обеспечению. 2 Если драйвер работает в режиме ядра и выходит из строя, это приводит к сбою всей операционной системы. 3
Режим пользователя — ограниченный режим, в котором работают приложения. 2 Выполняющийся в этом режиме код не имеет возможности прямого доступа к аппаратной или справочной памяти. 2 Каждое приложение выполняется в изоляции, поэтому если одно из них завершает работу, это не влияет на другие приложения или операционную систему. 3
Таким образом, режим ядра обычно зарезервирован для низкоуровневых и надёжных функций операционной системы, а режим пользователя — для прикладного программного обеспечения. 2 При этом многие драйверы работают в режиме ядра, но некоторые могут работать и в пользовательском режиме. 3