Can We Make Operating Systems Reliable and Secure?
- 15 May 2006
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computer
- Vol. 39 (5) , 44-51
- https://doi.org/10.1109/mc.2006.156
Abstract
Microkernels long discarded as unacceptable because of their lower performance compared with monolithic kernels might be making a comeback in operating systems due to their potentially higher reliability, which many researchers now regard as more important than performance. Each of the four different attempts to improve operating system reliability focuses on preventing buggy device drivers from crashing the system. In the Nooks approach, each driver is individually hand wrapped in a software jacket to carefully control its interactions with the rest of the operating system, but it leaves all the drivers in the kernel. The paravirtual machine approach takes this one step further and moves the drivers to one or more machines distinct from the main one, taking away even more power from the drivers. Both of these approaches are intended to improve the reliability of existing (legacy) operating systems. In contrast, two other approaches replace legacy operating systems with more reliable and secure ones. The multiserver approach runs each driver and operating system component in a separate user process and allows them to communicate using the microkernel's IPC mechanism. Finally, Singularity, the most radical approach, uses a type-safe language, a single address space, and formal contracts to carefully limit what each module can do.Keywords
This publication has 6 references indexed in Scilit:
- Recovering device driversACM Transactions on Computer Systems, 2006
- Improving the reliability of commodity operating systemsACM Transactions on Computer Systems, 2005
- The distribution of faults in a large industrial software systemACM SIGSOFT Software Engineering Notes, 2002
- An empirical study of operating systems errorsPublished by Association for Computing Machinery (ACM) ,2001
- Software errors and complexity: an empirical investigation0Communications of the ACM, 1984
- Architecture of virtual machinesPublished by Association for Computing Machinery (ACM) ,1973