5 ms·
What Rob Pike is refering to is of course Plan 9 and its derivatives (say Inferno). Whether you want to consider them Unix-likes or not is your choice (many HNe
by wolfgke 12y ago
What Rob Pike is refering to is of course Plan 9 and its derivatives (say Inferno). Whether you want to consider them Unix-likes or not is your choice (many HNers will say it's more Unix than Unix).
If you look for desktop alternatives to Unix, OSes to look at are BeOS (an open source clone is developed under the name HaikuOS) and the Windows NT kernel (don't hurt me: the Windows NT kernel is IMHO far more elegant than, say Linux or Mach. What is crappy is especially the WinAPI; please look deep below the surface: Here Windows gets nice).
The reason why you won't find many desktop/server alternatives to Unix can be read here: http://herpolhode.com/rob/utah2000.pdf http://herpolhode.com/rob/utah2000.pdf
Thus lots of OS reserach is either focused on embedded stuff or virtualization instead of desktop or server.
Accepting this, especially have a look at the L4 kernel family (a family of very small and fast microkernels). If you like highly secure designs, you'll probably like seL4, the first formally verfied kernel. Also QNX is worth a look (QNX is Unix, accepted; nevertheless a very elegant kernel design).
- pjmlp 12y agoWhile I agree with you regarding Windows. In respect to the WinAPI, OS/2 API shares part of the pain. And Xlib is way worse. I am looking forward to WinRT fixing some of the WinAPI issues.
- DanBC 12y agoBeOS http://en.m.wikipedia.org/wiki/BeOS http://en.m.wikipedia.org/wiki/BeOS Haiku https://www.haiku-os.org/ https://www.haiku-os.org/ Haiku http://en.m.wikipedia.org/wiki/Haiku_(operating_system) http://en.m.wikipedia.org/wiki/Haiku_(operating_system) Windows NT Kernel http://en.m.wikipedia.org/wiki/Architecture_of_Windows_NT http://en.m.wikipedia.org/wiki/Architecture_of_Windows_NT Windows NT Kernel http://blog.zorinaq.com/?e=74 http://blog.zorinaq.com/?e=74 (which references back to HN) L4 microkernels http://en.m.wikipedia.org/wiki/L4_microkernel_family http://en.m.wikipedia.org/wiki/L4_microkernel_family SEL4 http://sel4.systems/ http://sel4.systems/
- e12e 12y agoIn the context of the NT kernel, I supoose ReactOS.org might warrant a look (I don't really know how closely (or not) the kernel design matches NT beyond being compatible with drivers...).
- deleted 12y ago[deleted]
- vezzy-fnord 12y agoI'm not sure what huge technical advantage the BeOS model offers over contemporary Unix-likes in this day and age, other than its file system support for extended attributes, which are a controversial topic and nonetheless still used by things like XFS. I'd also like some clarification on what you think is good about the NT kernel. It seems far too entangled with other cruft that forms the Windows stack. That said, I'd also like to mention the Hurd. At this point, it's really a fragile ad-hoc reimplementation of 9P file servers on top of a modded Mach, but such a model was still quite daring for general purpose computing back during the Hurd's original window of opportunity (1989-1995, or so). Probably would have advanced the state of modern OS at least a bit, if it weren't for managerial incompetence. It's still a Unix at heart, though, despite many important extensions.
- deleted 12y ago[deleted]
- wolfgke 12y ago> I'm not sure what huge technical advantage the BeOS model offers over contemporary Unix-likes in this day and age, other than its file system support for extended attributes, which are a controversial topic and nonetheless still used by things like XFS. BeOS was very optimized for multimedia, which is an interesting property I think. Also the GUI library used multithreading from beginning. This surely isn't interesting for servers, but for desktop computers. > I'd also like some clarification on what you think is good about the NT kernel. It seems far too entangled with other cruft that forms the Windows stack. For a lack of time for explanations I will only give one example: How to do fast asynchronous I/O (You know: Asynchronous IO: The hot thing that node.js is about ;-) ;-) ). Under FreeBSD/Linux asynchronous I/O is just synchronous non-blocking I/O (FreeBSD needed to implement kqueue to even allow this in a fast way; the Linux developers implemented epoll (which is incompatible to kqueue :-( )). Under Windows NT it is an easy problem that has been solved (from beginning?). See > http://sssslide.com/speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-exploited-all-cores http://sssslide.com/speakerdeck.com/trent/pyparallel-how-we-... for details.
- vetinari 12y ago
- agumonkey 12y agoHa, BeOS, whenever I watch one of these https://www.youtube.com/results?search_query=beos+demo https://www.youtube.com/results?search_query=beos+demo I feel as amazed as sad.
- sgrove 12y agoThey're of course not a desktop option at all, but there's also some very interesting work happening with unikernels, which are really only recently a viable option now that Xen can present a unified hardware layer, instead of the endless treadmill of specific drivers. I've been getting into OpenMirage [1] quite a bit recently, largely due to the energy of the team [2], but also looked a bit at HalVM [3]. I definitely recommend [2] for anyone interested in plausible ideas of what the one of the next generations of VM/apps might look like. [1] http://www.openmirage.org/ http://www.openmirage.org/ [2] https://www.youtube.com/watch?v=UjonFD-2ATo https://www.youtube.com/watch?v=UjonFD-2ATo or http://www.se-radio.net/2014/05/episode-204-anil-madhavapeddy-on-the-mirage-cloud-operating-system-and-the-ocaml-language/ http://www.se-radio.net/2014/05/episode-204-anil-madhavapedd... (audio only) [3] https://github.com/GaloisInc/HaLVM https://github.com/GaloisInc/HaLVM