Well if you are familiar with unix Plan 9 was its successor which extrapolated a lot of the ways of doing things into a much more well defined operating environment. Things like IPC are heavily emphasised.
Plan9 needs a wider adoption. It is an evolution of UNIX design concepts:
* all objects are either files or file systems
* communication is over a network
* private namespaces (transparent access to remote processes) [1]
Even more modern concepts are in the NT kernel by Dave Cutler (VMS fame). NT uses an object metaphor that is pervasive throughout the architecture of the system. Not only are all of the things in the UNIX file metaphor viewed as objects by NT, but so are things such as processes and threads, shared memory segments, the global registry database and even access rights. [2] You can browse the NT object tree e.g. with the ReactOS Explorer on Windows or ReactOS. [3]
I recall hearing old NT hands saying that in the early versions of NT, it was more of a micro-kernel -- eg. the video driver ran in user space. So if the video-driver crashed (obviously leaving the screen in an unusable state) -- it was still possible to restart the driver via the keyboard -- no OS reboot needed. But at the time, they couldn't get the performance they wanted, so moved the stuff into the kernel -- the rest is a long history of blue screens of death...
Thankfully as of Vista, video drivers are back in userspace.
NT is still a microkernel by design. What Microsoft did was to keep the modules logically separated and use kernel internal RPC to switch between areas of responsibility in the kernel. Even if it looks like a monolithic one.
This is how hybrid mikrokernels tend to work.
Since Vista the support for user space drivers has been improved a lot.
It's quite fascinating, in lights of the idelogical bunfights over kdbus, systemd, and Wayland which are plaguing the Linux world, to look at what the designers of Linux did as a followup: binary IPC is baked in. Everything is a file. And so on.
These guys didn't design Linux; it would work better if they had. They created Unix.
Also, know how you do init in Plan 9? You add commands to an init file, and they run when the machine boots. If a service goes down for some reason, you GO RESTART IT YOURSELF.
> Also, know how you do init in Plan 9? You add commands to an init file, and they run when the machine boots. If a service goes down for some reason, you GO RESTART IT YOURSELF.
Are you saying that lack of process monitoring is a feature? The "add commands to init" thingie has simplicity going for it, and reminds me of the little I've seen of Arch's old init scripts, but I'm not interested in figuring out the dependency order of my services by experimentation, or giving up parallel initialization.
Correct. Just like unix. If something crashes, there is a serious problem. Restarting it blindly is typically going to do more harm than good (allowing the attacker who crashed it infinite chances to keep trying to exploit the bug rather than just crash the process). When something crashes, you fix it, you don't just restart it and pretend that is supposed to happen.
Yes, but this should never be the default. If something crashed, it's often a sign of an underlying problem that should be solved. Programs crash for a reason.
I've seen many "Windows import" sysadmins who think it's perfectly natural to reboot a server because something is not working. It's not. Automatic restart of crashed processes should be the exception (as in "we need to keep the reactor core cool") rather than the norm.
Im not sure that's a good thing. Reform to PR would almost certainly lead to a very strong Lib/Lab coalition. The conservatives would, essentially, be out of the picture for decades in all probability.
I prefer this way where it could go either way (Lib/Con or Lib/Lab).
I'll be honest it looks like Facebook OS for phones :) Not bad, not bad at all. Still though, imho, Microsoft will lose most of the old Windows Mobile fans and users and will start from scratch with this one.
I'm #45... quite a proudful number :) It's kind-of nice to compare two id numbers with the number of days ago that the accounts were created in, to see how many registered during that period.