@ cnicutar - этот «реальный ответ» довольно сомнителен. Задача ядра состоит в том, чтобы справиться с межпроцессными обязанностями по освобождению ресурсов и обеспечению того, чтобы все было помечено согласованно - пользовательское пространство не может эффективно выполнять эту работу, когда что-то идет не так.
Конечно, если все хорошо играют, надежные функции не понадобятся, но для надежной системы вы хотите убедиться, что система не выйдет из строя из-за какого-то глючного процесса клиента.