shapiro@corto.inria.fr (08/18/89)
SOS is an experimental distributed object-oriented operating system. SOS is based on a concept of "distributed object", implemented as a "group" of elementary objects distributed among different address spaces; members of a group have mutual communication privileges, which are denied to non-members. Access to a service may occur only via a local "proxy", which is a member of the group implementing the service. Typically, a client gains access to some new service by importing (migrating) a proxy for that service. A prototype of SOS has been implemented in C++, on top of Unix. It supports object migration, persistent object, dynamic linking, and arbitrarily complex user-defined objects (written in C++). The system services are accessed via a small set of pre-defined proxies. Existing system services are: a distributed object manager, a name service, a storage service, a communication service (allowing groups to choose from a library of protocol types: datagrams, RPC, multicast, atomic multicast, etc.). Applications built using SOS include a multimedia document manager and a UIMS. SOS is thouroughly documented with a reference manual (similar to Unix man) and an introductory programmer's manual. Most of the code is in the public domain, except for a few components derived from ATT code, for which an ATT licence (Unix and C++) is necessary. Contact: Marc Shapiro INRIA, B.P. 105, 78153 Le Chesnay Cedex, France. Tel.: +33 (1) 39-63-53-25 e-mail: shapiro@sor.inria.fr (internet) ...!inria!shapiro (uucp) inria!shapiro@uunet.uu.net (non-standard) Here is a bibliography of some recent papers: @InProceedings (ProxyPrinciple, Author = "Marc Shapiro", Title = "Structure and Encapsulation in Distributed Systems: the {P}roxy {P}rinciple", Booktitle = "Proc.\ 6th Intl.\ Conf.\ on Distributed Computing Systems", organization = "{IEEE}", pages = "198--204", Address = "Cambridge, Mass. ({USA})", Year = 1986, Month = May) @InProceedings (sos:sigops86, author = "Shapiro, Marc", title = "{SOS}: a distributed Object-Oriented Operating System", booktitle = "2nd {ACM SIGOPS} European Workshop, on ``Making Distributed Systems Work{''}", address = "Amsterdam (the Netherlands)", year = 1986, month = sep, note = "(Position paper)" ) @techreport(sos:v1-recueil, author = "Shapiro, Marc and Abrossimov, Vadim and Gautron, Philippe and Habert, Sabine and Makpangou, Mesaac Mounchili", title = "Un recueil de papiers sur le syst\`{e}me d'exploitation r\'{e}parti \`{a} objets {SOS}", institution = {Institut National de la Recherche en Informatique et Automatique}, address = {Rocquencourt (France)}, year = 1987, month = may, number = 84, type = "Rapport Technique" ) @InProceedings{loo:C++:286, author = "Philippe Gautron and Marc Shapiro", title = "Two extensions to {C++}: A Dynamic Link Editor and Inner data", booktitle = "Proceeding and additional papers, {C++} Workshop", year = 1987, page = "23--34", organization = "USENIX", address = "Berkeley, CA ({USA})", month = nov } @InProceedings{pro:sos:314, author = "Mesaac Makpangou and Marc Shapiro", title = "The {SOS} Object-Oriented Communication Service", booktitle = "Proc.\ 9th Int.\ Conf.\ on Computer Communication", year = 1988, address = "Tel Aviv (Israel)", month = "October--November" } @InProceedings{sos:315, author = "Marc Shapiro", title = "The Design of a Distributed Object-Oriented Operating System for Office Applications", booktitle = "Proc.\ Esprit Technical Week 1988", year = 1988, address = "Brussels (Belgium)", month = nov } @InProceedings{pro:sos:321, author = "Makpangou, Mesaac Mounchili", title = "Invocations d'objets distants dans {SOS}", booktitle = "De Nouvelles Architectures pour les Communications", year = 1988, editor = "Guy Pujolle", pages = "195--201", publisher = "Eyrolles", address = "Paris (France)", month = oct } @InProceedings{sos:prs:371, author = "Marc Shapiro and Laurence Mosseri", title = "A simple object storage system", booktitle = "Proc.\ Workshop on persistent object systems", year = 1988, pages = "320--327", editor = "J. Rosenberg", address = "Newcastle NSW (Australia)", month = jan } @TechReport{sos:388, author = "The {SOR} group", title = "{SOS} Reference Manual for Prototype {V4}", institution = {Institut National de la Recherche en Informatique et Automatique}, year = 1989, type = "Rapport Technique", number = 103, address = {Rocquencourt (France)}, month = feb } @PhdThesis{makThesis, author = "Makpangou, Mesaac Mounchili", title = "Protocoles de communication et programmation par objets~: l'exemple de {SOS}", school = "Universit\'{e} Paris {VI}", year = 1989, address = "Paris (France)", month = feb } @InProceedings{nom:sos:391, author = "J.P. Le Narzul and M. Shapiro", title = "Un Service de Nommage pour un Syst\`{e}me \`{a} Objets R\'{e}partis", booktitle = "Actes Convention Unix 89", year = 1989, pages = "73--82", organization = "{AFUU}", address = "Paris", month = mar } @InProceedings{sos:prs:c++:397, author = "Marc Shapiro and Philippe Gautron and Laurence Mosseri", title = "Persistence and Migration for {C}++ Objects", booktitle = "ECOOP'89", year = 1989, address = "Nottingham ({GB})", month = jul } @TechReport{shapiro:experiences89:sor60, author = "Marc Shapiro", title = "{P}rototyping a distributed object-oriented {OS} on {U}nix", institution = sor, year = 1989, type = "Note technique", number = "SOR--60", address = rocquencourt, month = may, note = "To appear, Workshop on Experiences with Building Distributed (and Multiprocessor) Systems, Ft.\ Lauderdale FL (USA), Oct. 1989." } @InProceedings{chorus:mv:411, author = "V. Abrossimov and M. Rozier and M. Shapiro", title = "Generic Virtual Memory Management for Operating System Kernels", booktitle = "Proc.\ 12th ACM Symp.\ on Operating Systems Principles", year = 1989, organization = "ACM SIGOPS", address = "Litchfield Park AZ (USA)", month = dec }