mirror of
https://github.com/sysprog21/lkmpg.git
synced 2024-11-26 10:13:42 +08:00
Zircon kernel was formerly called Magenta
The renaming appeared in 2017.
This commit is contained in:
parent
a949659e53
commit
09bde29531
|
@ -598,7 +598,7 @@ If you haven't thought about what a segfault really means, you may be surprised
|
||||||
|
|
||||||
The kernel has its own space of memory as well. Since a module is code which can be dynamically inserted and removed in the kernel (as opposed to a semi-autonomous object), it shares the kernel's codespace rather than having its own. Therefore, if your module segfaults, the kernel segfaults. And if you start writing over data because of an off-by-one error, then you're trampling on kernel data (or code). This is even worse than it sounds, so try your best to be careful.
|
The kernel has its own space of memory as well. Since a module is code which can be dynamically inserted and removed in the kernel (as opposed to a semi-autonomous object), it shares the kernel's codespace rather than having its own. Therefore, if your module segfaults, the kernel segfaults. And if you start writing over data because of an off-by-one error, then you're trampling on kernel data (or code). This is even worse than it sounds, so try your best to be careful.
|
||||||
|
|
||||||
By the way, I would like to point out that the above discussion is true for any operating system which uses a monolithic kernel. This isn't quite the same thing as \emph{"building all your modules into the kernel"}, although the idea is the same. There are things called microkernels which have modules which get their own codespace. The GNU Hurd and the Magenta kernel of Google Fuchsia are two examples of a microkernel.
|
By the way, I would like to point out that the above discussion is true for any operating system which uses a monolithic kernel. This isn't quite the same thing as \emph{"building all your modules into the kernel"}, although the idea is the same. There are things called microkernels which have modules which get their own codespace. The GNU Hurd and the Zircon kernel of Google Fuchsia are two examples of a microkernel.
|
||||||
|
|
||||||
\subsection{Device Drivers}
|
\subsection{Device Drivers}
|
||||||
\label{sec:org578c01b}
|
\label{sec:org578c01b}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user