2 ms·
Unix as it was designed doesn't have any direct support for a GUI at all. Or networking, come to that. They are not so much decoupled, as multiple separate tra
by lproven 4y ago
Unix as it was designed doesn't have any direct support for a GUI at all. Or networking, come to that.
They are not so much decoupled, as multiple separate trailers being pulled along behind on a tow-bar.
If you're on a Bash prompt on machine called "foo" logged in as user "bar", how do you look at the contents of a file called "readme" in folder "/usr/share/doc/" on a disk labelled "quux" on a machine called "baz"? Assume you have all necessary permissions to do this.
(Answer: you don't.)
If your terminal is on monitor #2 on machine F, how do you open a terminal on monitor #3 on machine B elsewhere in the lab, without knowing what desktop or display server it's running?
(Answer: you don't.)
- rbanffy 4y agoAnd all those separate trailers impose a performance penalty. You can have a very fast Unix machine that doesn’t have a GUI and doesn’t understand a network, and you can have one where your home is an NFS mount halfway across the globe.
- lproven 4y agoThis is true, but it's not my point. My point is that there are very fast OSes which remain portable and have this sort of thing built in and integrated right into the kernel, such as Oberon and A2, or Plan 9, or Inferno. So when you originally said: « ... decouple the GUI from the OS (and the programs running on it) through multiple layers of abstraction, It was also designed to be ported to different CPU architectures, not for speed. » I think you are mixing up cause and effect, and trying to blame an accidental side-effect by making out that it's a core aspect of the design. It's not that the Unix GUI layer is "decoupled" (as in, intentionally kept separate from) the kernel. It wasn't. The kernel was designed without any thought of GUIs or consideration for them. There was no conscious layering or designing for portability here. That's like saying... um... the new government after the French Revolution kept the railway system decoupled from government. It did not such thing. They had no conception or thought of railways; they're "decoupled" because one was bolted on a century later. UNIX didn't decouple the GUI from networking, either. It never entered into the picture. And yet, remember that the first lines of UNIX v1, long before C or anything, were written after Engelbart gave "the mother of all demos". This stuff _was_ happening, it was out there and it was on the radar. Thompson and Richie realised their mistakes and they went on to fix them, in Plan 9, and then improve upon Plan 9 in Inferno. But the Unix community had seized upon the older version by then and it wasn't AND STILL ISN'T interested in breaking what works in the interests of making it smaller, simpler, cleaner, faster and more efficient.