Overview of the CHORUS ® Distributed Operating Systems

The CHORUS technology has been designed for building new generations of open, distributed, scalable operating systems. CHORUS has the following main characteristics: a communication-based architecture, relying on a minimal Nucleus which integrates distributed processing and communication at the lowest level, and which implements generic services used by a set of subsystem servers to extend standard operating system interfaces. A UNIX subsystem has been developed; other subsystems such as objectoriented systems are planned; a real-time Nucleus providing real-time services which are accessible to system programmers; a modular architecture providing scalability, and allowing, in particular, dynamic configuration of the system and its applications over a wide range of hardware and network configurations, including parallel and multiprocessor systems. CHORUS−V3 is the current version of the CHORUS Distributed Operating System, developed by Chorus systèmes. Earlier versions were studied and implemented within the Chorus research project at INRIA between 1979 and 1986. This paper presents the CHORUS architecture and the facilities provided by the CHORUS−V3 Nucleus. It also describes the UNIX subsystem built with the CHORUS technology that provides: binary compatibility with UNIX; extended UNIX services, supporting distributed applications by providing network IPC, distributed virtual memory, light-weight processes, and real-time facilities. This paper is a revised and updated version of an article published in ‘‘Computing Systems’’, The Journal of the Usenix Association, Volume 1, Number 4. © Chorus systèmes, 1991 − 1 − February 1, 1991 Chorus systèmes CHORUS Overview CS/TR-90-25.1

[1]  M. Guillemont HORUS : A SUPPORT FOR DISTRIBUTED AND RECONFIGURABLE ADA SOFTWARE , 1989 .

[2]  Vadim Abrossimov,et al.  CHORUS, a New Technology for Building UNIX Systems , 1988 .

[3]  M. Papageorgiou Le système de gestion de fichiers répartis dans CHORUS , 1988 .

[4]  Michel Gien,et al.  Revolution 89 or ''Distributing UNIX Brings it Back to its Original Virtues'' , 1990 .

[5]  Michael N. Nelson,et al.  Caching in the Sprite network file system , 1988, TOCS.

[6]  Yolande Berbers,et al.  La désignation dans les systèmes d'exploitation répartis , 1988 .

[7]  José Legatheaux Martins,et al.  The CHORUS Distributed Operating System: Some Design Issues , 1987 .

[8]  Marc Shapiro,et al.  Generic virtual memory management for operating system kernels , 1989, SOSP '89.

[9]  C. R. Henson Conclusion , 1969 .

[10]  Vadim Abrossimov,et al.  Virtual Memory Management in Chorus , 1989, Process in Distributed Operating Systems and Distributed Systems Management.

[11]  Kai Li,et al.  Shared virtual memory on loosely coupled multiprocessors , 1986 .

[12]  Michel Gien,et al.  Resource-level autonomy in CHORUS , 1988, EW 3.

[13]  David L. Black,et al.  Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures , 1987, IEEE Trans. Computers.

[14]  L. Pouzin,et al.  The Cyclades computer network : towards layered network architectures , 1982 .

[15]  Jean-Charles Fabre,et al.  Distributed coupled actors: A Chorus proposal for reliability , 1982, ICDCS.

[16]  William J. Bolosky,et al.  Mach: A New Kernel Foundation for UNIX Development , 1986, USENIX Summer.

[17]  Sacha Krakowiak,et al.  Process management and resource sharing in the multiaccess system "ESOPE" , 1969, SOSP '69.

[18]  David R. Cheriton,et al.  The V distributed system , 1988, CACM.

[19]  Jean-Charles Fabre,et al.  Some Fault-Tolerant Aspects of the Chorus Distributed System , 1985, ICDCS.

[20]  Sacha Krakowiak,et al.  Process management and resource sharing in the multiaccess system in ESOPE , 1970, CACM.

[21]  Marc Rozier Expression et réalisation du contrôle d'éxécution dans un système réparti , 1986 .

[22]  S. Scheer,et al.  1. An overview , 1992 .

[23]  H. Zimmermann,et al.  Basic Concepts for the Support of Distributed Systems: The Chorus Approach , 1981, ICDCS.

[24]  Robbert van Renesse,et al.  Using Sparse Capabilities in a Distributed Operating System , 1986, ICDCS.

[25]  Coyotte Estrada,et al.  Specification et realisation d'un service de fichiers fiable pour le systeme d'exploitation reparti chorus , 1989 .

[26]  Dirk C. Keene Acknowledgements , 1975 .

[27]  Sape J. Mullender,et al.  The Amoeba distributed operating system : selected papers 1984-1987 , 1987 .