On (20 Oct 97) Paul Wankadia wrote to Jerry Coffin...
PW> FWIW, someone wrote an extremely simplistic malloc() and then
PW> proceeded to rewrite PUNIX in C++. Being the non-informed ignorant
PW> kiddie I am, I have no idea HOW a monolithic (i.e. not microkernel) OS
PW> could possibly use OOP
PW> principles to get anything done.
Actually, much (if not most) of an OS (microkernel or otherwise) fits
into the OO paradigm quite well. In fact, an OSes interface to device
drivers is essentially an abstract base class, and the individual device
drivers are derivatives of that base class.
Likewise, users are instantiations of a class User, and processes are
instantiations of a class Process. If the OS includes multithreading,
threads are instantiations of a class Thread. Likewise, you typically
have a number of I/O type things (disk files, comm ports, pipes, etc.)
that are all derivatives of a base class that handles communications.
In addition, nearly all the interprocess/interthread synchronization
devices (mutexes, semaphores, signals, etc.) have enough in common that
you could almost undoubtedly benefit from making them all derivatives of
a single base class as well.
Offhand, I'd have a hard time thinking of things that fit the OO
paradigm more closely that an OS, monolithic, microkernel, or (as most
are) some combination of both.
Later,
Jerry.
--- PPoint 2.02
---------------
* Origin: Point Pointedly Pointless (1:128/166.5)
|