March 2003
Intermediate to advanced
912 pages
27h 17m
English
Previous sections have introduced three mechanisms for extending or customizing operating system functions. The first operated purely at compile time allowing a more streamlined system to be built for a particular environment. The second, leading to microkernel designs, operated at runtime allowing new implementations to be supplied for interfaces exposed by the OS kernel. These implementations could either operate within privileged code (in the example of kernel loadable modules) or in unprivileged user-space applications (in a microkernel system). The third scheme, downloadable code, also allowed new implementations to be provided but these were not executed directly but rather compiled from a safe ...