Kernelraum
Der Teil von Speicher und Rechten, auf den nur der Kernel zugreifen darf — dort findet aller Hardwarezugriff statt.
Diese Trennung ist die gesamte Grundlage dafür, dass ein Programm das System nicht zum Absturz bringen kann. Code im Kernelraum darf privilegierte Befehle ausführen, direkt mit Geräten sprechen und jede beliebige Adresse lesen. Code im Userspace darf nichts davon und muss jeden solchen Dienst über einen Systemaufruf anfordern.
Der Übergang kostet. Ein Systemaufruf bedeutet einen Wechsel der Privilegienebene, und seit Meltdown und Spectre 2018 zusätzlich einen Austausch der Seitentabellen, damit über spekulative Ausführung kein Kernelspeicher ausgelesen werden kann — die Gegenmaßnahme KPTI machte manche Workloads spürbar langsamer. Das ist einer der Gründe für io_uring und eBPF, die beide die Zahl solcher Übergänge reduzieren.