Теперь я знаю, что разработки приложения, которое входит в пространство ядра, нужно избежать - его твердое для отладки, комплекс и т.д..... с этим от таблицы, что некоторые преимущества к перемещению приложения от пространства пользователя до ядра? в конце концов, если бы было не плюс стороны, то это никогда не делалось бы..., что такое некоторые?
Некоторые возможные преимущества:
системные вызовы могут быть быстрее (т.е. меньшие задержки ), так как ЦП не должен переключиться из режима приложения в режим ядра. (Это не обязательно так, поскольку ЦП может делать более тонкое различие, чем просто «пространство пользователя» и «пространство ядра». ЦП Intel x86, например, имеют кольцевую модель, охватывающую 4 различных уровня привилегий.) 1)
вы можете получить прямой доступ к аппаратному обеспечению системы через память и порты ввода / вывода.
вы можете подавить переключение задач , если вам нужно что-то сделать, не прерываясь
, вы можете обойти механизмы безопасности , установленные операционной системой ( например, чтение / изменение памяти других процессов). (Вредоносное ПО может воспользоваться этим, если оно будет установлено как драйвер устройства режима ядра.)
(И, конечно же, как вы знаете, существует множество недостатков и рисков для безопасности. Различие между пространством приложения и пространством ядра заключается в следующем. там по уважительным причинам.)
1) См., например, статья Выполнение системных вызовов из пространства ядра из Linux mag :
Например, высокопроизводительный веб-сервер может захотеть находиться в ядре для увеличения пропускной способности и уменьшения задержки. Однако существует также компромисс безопасности [...]
У вас есть шанс из-за крошечной ошибки в вашей программе, которая нацарапает всю память и повредит всю систему, все ее процессы и функции. Если повезет, система выйдет из строя.