3 ms·
It's interesting to note how so many of the innovative research OS of the 80s and 90s were based on firmly object oriented architectures that enabled their feat
by vezzy-fnord 11y ago
It's interesting to note how so many of the innovative research OS of the 80s and 90s were based on firmly object oriented architectures that enabled their features. This is in spite of OO being much maligned by contemporary FP evangelists. I'm not aware of what research has been done on FP (pure or impure) operating systems. I know of House, but it doesn't actually have any interesting features per se beyond the novelty of being written in Haskell.
- brudgers 11y agoSystem 38 is object based which is slightly different from what we tend to associate with object orientation in that there is no inheritance mechanism by which objects can be extended with additional or different functionality.
- white-flame 11y agoThe Lisp machine OSes were pretty amazing. Everything is dynamically updatable, stuff printed to the consoles remained live and interactive, and the user could configure or modify the OS or programs interactively and easily. While industrial Lisps may or may not be "functional" compared to today's view of the topic, these implementations were at least based around first-class functions.
- david-given 11y agoThe much-maligned 286 MMU was object based: segments were referred to by handle and had a byte-granular length, so out-of-bounds accesses were impossible. I once saw a Smalltalk which used the 286 MMU like this. Each Smalltalk object had its own segment descriptor, effectively exploiting the MMU as a fast and cheap way to implement the object pointer table. The Smalltalk garbage collector could move things around behind the scenes and everything still worked, there being no pointers to update. Of course, with segment sizes limited to 64kB and a limit of (I think?) 2^13 different segments it wouldn't scale to modern machines, but it was still pretty nifty for a 16-bit system. It's a shame it never got used to its full potential.
- pjmlp 11y agoMany of those anti-OOP evangelists kind of forget all successful FP languages are actually hybrid and there is more than one way of doing OOP. Haskell type classes are no different than interfaces, at least conceptually. Lisp had FLAVOURS, CLOS. The O in OCaml is actually Objective to imply its support for objects, as its predecessor Caml Light did not have it.