---

freshmeat: The Evolution of OS Design

The Object Operating System, OOS (pronounced “ooze”) is an
attempt to create a new operating system architecture. It’s
designed to use the filesystem to achieve a large number of tasks
which would normally be done through different mechanisms. Much of
the design philosophy was inspired by Unix and Plan 9, but OOS
attempts to do things in its own way, trading compatibility for a
simpler design.
The most significant departure from its
predecessors is a new type of filesystem in which files,
directories, and libraries have been replaced by a unified entity
known as a container. In addition to being unified, containers are
also event driven, so that operations like reading, writing,
copying, and deleting files are considered events whose default
actions can be overridden. This allows a container to perform
arbitrary operations on files as they are copied in and out of the
container, or to provide virtual namespaces.”

“When you log onto an OOS machine, you are essentially logging
onto the network, and your workstation is simply a node connected
to it. As such, the filesystem is structured so that the root
directory contains a list of the machines on the local network.
It’s also possible for a user to mount remote machines or even
networks here. The root directory is multiplexed; that is, any
changes a user makes to the directory are visible to only that
user. Other users will be unaffected. Any directory/container can
be multiplexed, and doing so is a convenient way to provide a
private namespace to each login.”

“Because files and directories in OOS are the same thing, you
are able to cat a directory and cd into a file. Being able to embed
objects inside a file makes them act somewhat like resource forks
on OSes such as MacOS. In this way, meta-information like icons can
be embedded directly inside a file. However, OOS files are much
more powerful, since the inside of a file can contain a full
directory hierarchy. Because files and directories in OOS can
contain data inside them, they are referred to as containers.”

Complete
Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis