>>8263>would you agree that M$ windex is an evolutionary dead end in OS design?Yes. And I would also agree that POSIX is a dead end too. I never understood why so many people who start creating their OSs try to implement POSIX. That's been done. If we want to innovate we need to step away from that. So many of the POSIX designs are extremely crusty. Android does some things more modernly than POSIX (hell, even Windows does); Such as running each program as its own user so as to isolate programs from each other. One can set this up, but most distros don't, for instance, run the web browser as its own user which belongs to the "internet" group (along with only the programs that can connect to the net). The principal of least privilege has been around for decades, but few if anyone is using it in such a unilateral fashion. Imagine if every program could run in a BSD Jail. If the OS was built from the outset with a permission / capability system rather than every terminal having a full suite of commands available then one wouldn't have to suffer them breaking and configuration headaches when you take the commands away. Programs could specify which commands / features they need at install time (see: groups), but /usr/bin was never designed to be used that way.
Also Consider STDIN / STDOUT / STDERR. Here we have "standard" streams of unstructured data, typically of the textual variety. Windows drops these in favor of other IPC functionality. However, even AmigaOS had a more rich IPC functionality built in where programs could attach to "ports" on each others memory spaces directly. Android has "Intents" which is an interface to standardize interprocess communications and give rich structured IO and RPC between applications. A next gen OS could take all these ideas and implement them down at the lower level (rather than up in a VM). Rather than the C mindfuckery of not knowing how big an int is, the language could instead provide standardization via explicit type sizes (like uint32_t, etc) and byte orders such that IPC could occur transparently across a network. That same IPC mechanism could also be used in the OS threading model instead of the rather cumbersome pthreads single result system. My point is: POSIX is ancient.
Furthermore, there are some great design ideas such as in MULTICS which are being "rediscovered" such as how to build out distributed storage and computing, processing as a service. The MULTICS system could hotswap in nodes, to upgrade one took a chunk of nodes offline, built the new system, then rejoined the rest to it. Unix is literally a "joke", named to thumbed ones nose at the "over-engineered" MULTICS system... meanwhile people are trying to shoehorn POSIX into the design of MULTICS without even realizing it.
Those who don't understand MULTICS will emulate it, poorly. Don't believe me? Just look at IoT (Internet of Things) -- on POSIX? All of my why?
Not that it matters, just gets old hearing people rag on Windows when *nix isn't really any better of a design. Both designs are monolithic legacy crap OSs not even built for the way we use tech today. I should be able to stop right here, push a button and continue typing on my tablet where I left off. All of my idle devices should be able to give the device I'm using cycles. But noooo, that would be too much like MULTICS.