next up previous
Next: Bibliography Up: doc_jaiio Previous: The test operating system

Conclusions

The $\mu$-kernel provided a suitable environment for the implementation of a simple operating system. Furthermore, building a modular and secure system was very straightforward. While performance was not measured, clearly the increasing amount of context switching and memory sharing that is required by having several servers is a complex issue and solving it requires a careful study of the interactions between the servers and the user programs. In [5], Bershad argues that IPC overhead is, on one hand, improving as hardware and microkenels evolve and on the other, small compared to the overhead introduced by other factors. As a long-term issue, it would be interesting to see the consequences of the incorporation of paging to Sartoris. While porting the microkernel to other hardware architectures has not been attempted yet, we recently started a port to an x86-like architecture simulated within a unix process. The low-level interface was very successful, and it really simplified the port. However, the simulated architecture is not very different in nature to the original x86 architecture the $\mu$-kernel was designed for. We believe that the aforementioned minimization of the $\mu$-kernel greatly enhanced the extensibility of the system. We modified the test OS several times, adding, removing and modifying servers without great effort. Essentially, every policy was implemented outside the kernel and could be redesigned without risking the introduction of kernel bugs.


next up previous
Next: Bibliography Up: doc_jaiio Previous: The test operating system
2002-09-17