Operating systems have grown in size and functionality. Today's many flavours of Unix provide a multi-user environment with protection, address spaces, and attempts to allocate resources fairly to users competing for them, They provide processes and threads, mechanisms for synchronization and memory sharing, blocking and nonblocking system calls, and a complex file system. Since it was first introduced, Unix has grown more then a factor twenty in size. Several operating systems now consist of a microkernel, surrounded by user-space services [Accetta et al., 1986; Mullender et al., 1990; Rozier et al., 1988]. Together they provide the functionality of the operating system. This operating system structure provides an opportunity to make operating systems even larger. The trend for operating systems to grow more and more baroque was signalled more than a decade ago [Feldman, 1980], but has continued unabated until, today, we have OSF/1, the most baroque Unix system ever. And we have Windows/NT as a demonstration that MS-DOS also needed to be replaced by something much bigger and a little better.
In this position paper, I am asking what community we serve with our operating systems research. Should we continue doing this, or can we make ourselves more useful to society and industry by using our experience in operating systems in new environments.
I argue that there is very little need for bigger and better operating systems; that, in fact, most cPus will never run an operating system at all; and that our experience in operating systems will be better applied to designing new generations of distributed and ubiquitous applications.
|Conference||6th ACM SIGOPS European Workshop: Matching Operating Systems to Application Needs, Dagstuhl Castle, Germany|
|Period||12/09/94 → 14/09/94|
|Other||12-14 September 1994|