5 ms·
Why is it flawed?
by pawelduda 5y ago
Why is it flawed?
- yyyk 5y agoA very partial list: * One of the main Unix innovations was piping between processes. Yet piping used text-based interface. Today we has the resources and knowledge to make a much more structured interface. Attempts to do this on shell level exist but are clunky and not sufficiently systemic (you end up having to reimplement all of coreutils, at which point you end up with something like 50% of features and not supporting all userland). Maybe if we had a higher level interface... * Other environments showed you can have much more mobility between your local resources and network resources (e.g. VMS clustering, Erlang's VM). Imagine running a process elsewhere and have it communicate seamlessly with your processes, and being able to move it seamlessly as well. * Few guarantees on file writing/data preservation. Making a program which is actually reliable is not trivial at all. * The permission model is arguably too simple (while Windows permissions are too complex). Should we find a middle ground? * There's room for a less monolithic kernel design. (I know what Linus thinks of it - well, if you define any efficient microkernel interface as 'not a microkernel' of course you win by default). Linux can of course eventually evolve towards this, but it would be far from its Unix heritage if it does.