MINIX 3 (original) (raw)

MINIX 3: a highly reliable, self-repairing operating system

Published: 01 July 2006 Publication History

Abstract

Different kinds of people use computers now than several decades ago, but operating systems have not fully kept pace with this change. It is true that we have point-and-click GUIs now instead of command line interfaces, but the expectation of the average user is different from what it used to be, because the user is different. Thirty or 40 years ago, when operating systems began to solidify into their current form, almost all computer users were programmers, scientists, engineers, or similar professionals doing heavy-duty computation, and they cared a great deal about speed. Few teenagers and even fewer grandmothers spent hours a day behind their terminal. Early users expected the computer to crash often; reboots came as naturally as waiting for the neighborhood TV repairman to come replace the picture tube on their home TVs. All that has changed and operating systems need to change with the times.

References

[1]

M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young. Mach: A New Kernel Foundation for UNIX Development. In Proc. of USENIX'86, pages 93--113, 1986.

[2]

P. T. Barham, B. Dragovic, K. Fraser, S. Hand, T. L. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the Art of Virtualization. In Proc. 19th ACM Symp. on Oper. Syst. Prin., pages 164--177, 2003.

[3]

V. Basili and B. Perricone. Software Errors and Complexity: An Empirical Investigation. Commun. of the ACM, 21(1):42--52, Jan. 1984.

[4]

B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, and S. J. Eggers. Extensibility, Safety and Performance in the SPIN Operating System. In Proc. 15th ACM Symp. on Oper. Syst. Prin., pages 267--284, 1995.

[5]

A. Bricker, M. Gien, M. Guillemont, J. Lipkis, D. Orr, and M. Rozier. A New Look at Microkernel-Based UNIX Operating Systems: Lessons in Performance and Compatibility. In Proc. EurOpen Spring 1991 Conf., pages 13--32, May 1991.

[6]

M. I. Bushnell. The HURD: Towards a New Strategy of OS Design. GNU's Bulletin.

[7]

D. Cheriton. The V Kernel: A Software Base for Distributed Systems. IEEE Software, 1(2):19--42, Apr. 1984.

[8]

A. Chou, J. Yang, B. Chelf, S. Hallem, and D. Engler. An Empirical Study of Operating System Errors. In Proc. 18th ACM Symp. on Oper. Syst. Prin., pages 73--88, 2001.

[9]

P. Chubb. Get More Device Drivers Out of the Kernel! In Proc. Linux Symp., pages 149--162, July 2004.

[10]

B. Clark, T. Deshane, E. Dow, S. Evanchik, M. Finlayson, J. Herne, and J. Matthews. Xen and the Art of Repeated Research. In Proc. Usenix Tech. Conf. (Freenix Track), pages 135--144, 2004.

[11]

D. Engler, M. Kaashoek, and J. J. O'Toole. Exokernel: an operating system architecture for application-level resource management. In Proc. 15th ACM Symp. on Oper. Syst. Prin., pages 251--266, 1995.

[12]

A. Forin, D. Golub, and B. Bershad. An I/O System for Mach 3.0. In Proc. Second USENIX Mach Symp., pages 163--176, 1991.

[13]

K. Fraser, S. Hand, I. Pratt, A. Warfield, R. Neugebauer, and M. Williamson. Safe Hardware Access with the Xen Virtual Machine Monitor. In Proc. 1st Workshop on Oper. Sys. and Arch. Supp. for the on demand IT Infrastructure (OASIS-2004), Oct. 2004.

[14]

A. Gefflaut, T. Jaeger, Y. Park, J. Liedtke, K. Elphinstone, V. Uhlig, J. Tidswell, L. Deller, and L. Reuther. The SawMill Multiserver Approach. In ACM SIGOPS European Workshop, pages 109--114, Sept. 2000.

[15]

S. M. Hand. Self-Paging in the Nemesis Operating System. In Proc. 3rd Symp. on Oper. Syst. Design and Impl., pages 73--86, 1999.

[16]

H. Härtig, R. Baumgartl, M. Borriss, C.-J. Hamann, M. Hohmuth, F. Mehnert, L. Reuther, S. Schonberg, and J. Wolter. DROPS OS Support for Distributed Multimedia Applications. In Proc. 8th ACM SIGOPS European Workshop, pages 203--209, Sept. 1998.

[17]

H. Härtig, M. Hohmuth, N. Feske, C. Helmuth, A. Lackorzynski, F. Mehnert, and M. Peter.

[18]

H. Härtig, M. Hohmuth, J. Liedtke, S. Schönberg, and J. Wolter. The Performance of -Kernel-Based Systems. In Proc. 6th Symp. on Oper. Syst. Prin., pages 66--77, Oct. 1997.

[19]

G. Heiser, K. Elphinstone, J. Vochteloo, S. Russell, and J. Liedtke. The Mungi Single-Address-Space Operating System. Software: Practice and Experience, 28(9):901--928, July 1998.

[20]

J. N. Herder, H. Bos, B. Gras, P. Homburg, and A. S. Tanenbaum. Modular System Programming in MINIX 3. USENIX; login:, 31(2):19--28, Apr. 2006.

[21]

D. Hildebrand. An Architectural Overview of QNX. In Proc. USENIX Workshop in Microkernels and Other Kernel Architectures, pages 113--126, Apr. 1992.

[22]

M. Hohmuth and H. Tews. The VFiasco Approach for a Verified Operating System. In Proc. 2nd ECOOP Workshop on Prog. Lang. and Oper. Sys., July 2005.

[23]

G. C. Hunt, J. R. Larus, M. Abadi, M. Aiken, P. Barham, M. Fahndrich, C. Hawblitzel, O. Hodson, S. Levi, N. Murphy, B. Steensgaard, D. Tarditi, T. Wobber, and B. Zill. An Overview of the Singularity Project. Technical Report MSR-TR-2005-135, Microsoft Research, Redmond, WA, USA, Oct. 2005.

[24]

B. Leslie, P. Chubb, N. Fitzroy-Dale, S. Gotz, C. Gray, L. Macpherson, Y.-T. S. Daniel Potts, K. Elphinstone, and G. Heiser. User-Level Device Drivers: Achieved Performance. Journal of Computer Science and Technology, 20(5), Sept. 2005.

[25]

J. LeVasseur and V. Uhlig. A Sledgehammer Approach to Reuse of Legacy Device Drivers. In Proc. 11th ACM SIGOPS European Workshop, pages 131--136, Sept. 2004.

[26]

J. LeVasseur, V. Uhlig, J. Stoess, and S. Gotz. Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines. In Proc. 6th Symp. on Oper. Syst. Design and Impl., pages 17--30, Dec. 2004.

[27]

J. Liedtke. On μ-Kernel Construction. In Proc. 15th ACM Symp. on Oper. Syst. Prin., pages 237--250, Dec. 1995.

[28]

S. Mullender, G. V. Rossum, A. Tanenbaum, R. V. Renesse, and H. V. Staveren. Amoeba: A Distributed Operating System for the 1990s. In IEEE Computer Magazine 23(5), pages 44--54, May 1990.

[29]

T. Ostrand, E. Weyuker, and R. Bell. Where the Bugs Are. In Proc. of the 2004 ACM SIGSOFT Int'l Symp. on Software Testing and Analysis, pages 86--96. ACM, 2004.

[30]

T. Ostrand and E. Weyuker. The Distribution of Faults in a Large Industrial Software System. In Proc. of the 2002 ACM SIGSOFT Int'l Symp. on Software Testing and Analysis, pages 55--64. ACM, 2002.

[31]

B. Pfitzmann and C. Stüble. Perseus: A Quick Open-source Path to Secure Signatures. In 2nd Workshop on Microkernel-based Systems, 2001.

[32]

T. Roscoe. The Structure of a MultiService Operating System. Ph.D. Dissertation, Cambridge University.

[33]

L. Seawright and R. MacKinnon. VM/370---A Study of Multiplicity and Usefulness. IBM Systems Journal, 18(1):4--17, 1979.

[34]

J. Shapiro, M. S. Doerrie, E. Northup, S. Sridhar, and M. Miller. Towards a Verified, General-Purpose Operating System Kernel. In 1st NICTA Workshop on Operating System Verification, Oct. 2004.

[35]

J. Sugerman, G. Venkitachalam, and B.-H. Lim. Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor. In Proc. 2001 USENIX Ann. Tech. Conf., pages 1--14, 2001.

[36]

M. Swift, M. Annamalai, B. Bershad, and H. Levy. Recovering Device Drivers. In Proc. 6th Symp. on Oper. Syst. Design and Impl., pages 1--15, 2004.

[37]

M. Swift, B. Bershad, and H. Levy. Improving the Reliability of Commodity Operating Systems. ACM Trans. on Comp. Syst., 23(1):77--110, 2005.

[38]

A. S. Tanenbaum, J. N. Herder, and H. Bos. Can We Make Operating Systems Reliable and Secure? IEEE Computer, 39(5):44--51, May 2006.

[39]

A. Weiss. Strange Bedfellows. NetWorker, 5(2):19--25, June 2001.

[40]

A. Whitaker, M. Shaw, and S. D. Gribble. Scale and Performance in the Denali Isolation Kernel. In Proc. 5th Symp. on Oper. Syst. Design and Impl., 2002.

[41]

M. Young, M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, and A. Tevanian. Mach: A New Kernel Foundation for UNIX Development. In Proc. 1986 Summer USENIX conference, pages 93--113, June 1986.

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review

ACM SIGOPS Operating Systems Review Volume 40, Issue 3

July 2006

107 pages

Copyright © 2006 Authors.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 2006

Published in SIGOPS Volume 40, Issue 3

Check for updates

Qualifiers

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

View Options

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Affiliations

Jorrit N. Herder

Vrije Universiteit Amsterdam, The Netherlands

Herbert Bos

Vrije Universiteit Amsterdam, The Netherlands

Ben Gras

Vrije Universiteit Amsterdam, The Netherlands

Philip Homburg

Vrije Universiteit Amsterdam, The Netherlands

Andrew S. Tanenbaum

Vrije Universiteit Amsterdam, The Netherlands