Object Oriented Hardware Abstracted No-Kernel System Model

Introduction:

This revised model is a result of on going discussion in the UniOS mailing list. The brief explaination of this model is: A Multi-User, Object Oriented, Hardware Abstracted, No-Kernel OS. This model seems to offer the greatest flexablity possible, while retaining speed and security.

How does it work:

As the diagram shows, users interact with objects (applications & processes). These objects interact with other objects and, with special objects that represet abstracted hardware (no kernel). The abstracted hardware objects talk to hardware specific drivers which talk directly to the physical hardware. All objects within the system can interact with all other objects. Each object would be responsible for it's own security measures (mostly relevant to networking, file system and hardware objects). The dotted blue lines in the diagram imply that some high level abstracts can be remapped.

Run Time Example:

The system starts with a custom boot loader for each archetecture type. The boot loader locates, and loads the object handler (basic object interaction code), and proceeds to load the file system object. The FS object finds and loads the system configuration information, which determines which objects are loaded for the run time system (including hardware abstracts). A user login screen is presented next, and when a user is authenticated, a second, custom configuration file is loaded to allow for automatic program loading. If the system was designated single user at install time, the log-in screen is skipped. The logged in user is presented with the interface of his/her choice (text, voice, GUI, anything). The interface will have some kind of shell functionality, in which objects can be started.