Next: ORB Design and Refactoring
Up: KORBit: A Kernel Space
Previous: Kernel
- Object-Oriented Layer: Using an in-kernel CORBA
implementation, it is possible to expose an Object-Oriented
view of the kernel and all of its services. This would
elevate the operating system beyond the 30+ year old
procedural model, into a more modern object-based
approach.
- Network Transparency: The ORB can route method
invocations to local or remote objects, all without explicit
intervention from the user. This enables normal applications
to work in a distributed manner without changes. For example
ls and cp) are automatically forwarded
to the correct machine giving us a transparent distributed
file system almost for ``free'' (see figure 1).
Figure 1:
Distributed filesystem
|
- Object Services: New kernel services could be
written in any language with ORB bindings, and then integrated
into the Kernel. This allows device drivers to be written in
perl, for example. Furthermore, these new services could be
``pervasively object-oriented'': represented both
internally and externally as objects.
- User Space Services: With an in-kernel ORB,
services that are traditionally provided by the kernel can be
exported to user space. As easily as a userland process can
invoke methods on an object that resides in kernel space, a
kernel space client can invoke methods on an object that
resides in user space. For example, a serial port driver
could be written in user space, and the user could then
dynamically change driver at will (to change from a wheel
mouse to a tablet, for example). Another example of possible
applications is a file system implemented as a user space
object (see figure 2).
Figure 2:
Filesystem implemented in user space
|
Next: ORB Design and Refactoring
Up: KORBit: A Kernel Space
Previous: Kernel