Redox is a unix style operating system with a unix style design and ABI.
This operating system shares none of those goals, it seems to focus on a particular challenge related to the abstraction between subsystems of the operating system, following a term they call "state spilling". The goal appears to be to design an architecture that supports in-place updates of most components due to them having tightly constrained state management and inter-component dependencies.
> The goal appears to be to design an architecture that supports in-place updates of most components due to them having tightly constrained state management and inter-component dependencies.
Strongly reminds me of Erlang-style hot reload.
Have any OS projects based on that architecture ever got off the ground?
I wouldn't call micro-kernels a " unix style operating system with a unix style design", quite the opposite.
The only thing in common with UNIX from current Redox is the POSIX support.
A microkernel is a valid implementation for a unix like.
The way that posix filesystem semantics are a kernel provided abstraction is very "unix style".
Yeah totally valid implementation of which there have been a great many attempts, far too many to list here.
Precisely none of them in 3-5 decades has managed to deliver on the promise of microkernels prompting the question:
"Were huge microkernel advantages actually greatly oversold, is posix a massively debilitating factor that prevents microkernel based systems from delivering on their raison d'etre or was every single one of those implementations a poor one? [1]"
[1] including QNX
Yet, all major OSes were human lives are at risk are microkernels, go figure.
What OSes? Citation please.
Microkernel as cpu architecture abstraction layer. Such are only accidentally microkernels and not OSes at all as i understand them. They deliver on what of all those wonderful lists of microkernel benefits?
Stuff like INTEGRITY OS and QNX.
Eh, stuff like older vxworks plays loose and fast with the term microkernel that wouldn't fly today. I don't even think they try to claim that it is one anymore until their most recent release where they actually added (optional) process isolation.
I was thinking more of INTEGRITY OS and similar high integrity computing OSes.
You said "all major OSes were human lives are at risk".
INTEGRITY is a fairly minor player.
Not when human lives are at risk.
Yes, when human lives are at risk.
Unless you want to give a citation about it's market share.
It goes both ways.
You made the claim first, back it up.
The POSIX layer of QNX is almost exclusively a (collection of) optional services or wrappers in userspace. In what way is it a failure or a poor implementation of a microkernel?
It's an inferior implementation of posix that does not display all those wonderful microkernel os benefits. If it did, we'd hardly be using competing OSes that are insecure, unstable, big-ridden etc. etc. I've never heard of a webserver running on QNX with an enhanced security benefit as a result, have you?
I work at QNX. Of course I've heard of webservers running on QNX with enhanced security as a result. I suspect the lack of widespread use of QNX is because it's a costly, commercial, and not marketed toward personal or cloud computing and not due to technical issues. Marketing trumps technical when it comes to purchasing decisions.
Cool this is great information.
There are plenty of cases in the world where security trumps cost by a massive, massive amount. Not sure why you're talking about personal cloud computing, probably not interesting there.
How many licenses have you sold for this? How secure is it? Got any kind of metrics to share there?
In the past every single time I've probed claims about QNX (claims not made by QNX themselves at all, I hasten to add) as the example of delivering on the promise of microkernel OSes they have turned out to be unsubstantiated.
Needless to say if, you can substantiate them that would be utterly fantastic! Also a massive, massive marketing opportunity I would have thought. Link us up!
Except contrary to urban myths that isn't exclusive to UNIX and precedes it.
I never said that was exclusive to unix likes, only that it being a microkernel doesn't preclude it from being a unix like.
"kernel provided abstraction is very "unix style" reads otherwise.
Providing _a posix filesystem_ as a kernel abstraction is what I said. Which is not very standard for microkernels, and makes it (redox) pretty unix like at the kernel level.
The overall point being that both, microkernels can be unix likes, and redox particularly and at the kernel level leans in to being a unix like.
IBM and Unisys mainframes also support POSIX filesystems, as does Windows, so now they are UNIXes?
z/OS is a full blown, certified UNIX. WSL1 makes NT a unix kernel if they wanted to get the certification.
And redox goes beyond them in that the only user mode env it supports is posix with some extensions.
But how is this line germane to the original point again? That somehow being a microkernel means that it can't be a unix like design OS?
Certified UNIX means having a userspace POSIX library, completely unrelated to kernel architectures.
So if Microsoft bothers to certify WSL2 then Windows is now UNIX?!?
What defines a “UNIX kernel” anyway?
Plenty of CS books explain it better than me on an HN comment.
Since you ignored my question, I'll ask it again.
> But how is this line germane to the original point again? That somehow being a microkernel means that it can't be a unix like design OS?
Please provide an example of an UNIX descendant from Bell Labs implemented microkernel.
POSIX userspace doesn't count, by that measure even an Amiga OS is sundenly an UNIX kernel.
Also a reference CS book in UNIX microkernels architecture would be welcomed.
Even Tanebaum doesn't call Minix 3 a UNIX, rather UNIX inspired.
Your original post says "UNIX style", not "UNIX descendent from Bell Labs". Don't shift goalposts.
OSF/1 counts I think.
> So if Microsoft bothers to certify WSL2 then Windows is now UNIX?!?
Of course, the WSL2 layer would be UNIX. There is more than it so calling Windows exclusively unix would be wrong (in the same way that running Windows under a VM, or Winde, on an unix system doesn't make it Windows.
Redox isn't a kernel: it's an operating system, and being POSIX compatible definitely makes it a “unix-style” operating system.
Here, nobody claimed that the Redox kernel was unix-style, so you're fighting a strawman…