Week 10: -- ShagOS -- Host: Frank Barrus, (Xerox, and RIT Student) --------------------------------------------------------------------------- Attendance is free of charge and is open to the public Refreshments will be served. --------------------------------------------------------------------------- Abstract: ShagOS was originally developed in 1992 as an independent study project to write a portable object-oriented microkernel-based operating system with dynamically loadable device drivers. It was written mostly in C, with very little machine-dependent code, and could run on the VAX and Intel architectures. It had only three system calls- two to convert between string identifiers and internal label codes, and one to invoke a method call on an object. ShagOS today has been completely redesigned and rewritten (many times) in C++, and is an ongoing experiment with using an object-oriented paradigm as the framework for a full operating system, with distributed computing being a prime consideration of most design decisions. Everything in ShagOS is handled as an object, with an attempt to use simple methods for as many objects as possible to keep their interfaces consistent. Thus, filesystem-style operations (for reading, writing, and getting and setting member attributes) can be applied to most objects, and the shell provides a Unix-style interface for traversing the object hierarchy, even allowing the user to change the current directory to be inside a device, to look at characteristics of that device as simply as listing files. Objects are created with a dialect of C++, with dynamic extensions, which is processed through DECO (Dynamic Encapsulator of C++ Objects) to generate the run-time tables needed for handling all dynamic object interaction. Objects support adding forwarders and superclass objects at runtime, and have interfaces that are independent of their implementation. This seminar will cover the internal structure of both the old and new ShagOS, the SOLO boot loader, the object management and communication system, and the DECO syntax extensions. If there is enough time, demonstrations of old and new ShagOS will also be presented. Comments, questions, and suggestions will be greatly encouraged throughout the seminar. Slides for this seminar should be available sometime next week from "http://www.csh.rit.edu/~shaggy". The old ShagOS source code, along with the SOLO boot loader, are available now from "http://www.csh.rit.edu/~shaggy/software.html". The source code to the new ShagOS, along with DECO, will also be available there in a few months.