Re:Introduction to OS Abstractions Using Plan 9 from Bell La...
by hoopladler on Sunday January 28, 2018 @07:02PM
(#16254388)
Actually, I can kinda see the advantages there - but isn't insanity just a natural result of trying to work in lots of contexts?
I mean, consider something like vim. It's a nice program, well designed - but undoubtedly insane, just because it's supposed to work in every imaginable context.
It strikes me that plan9 wouldn't be immune to the same phenomenon.
Re:Introduction to OS Abstractions Using Plan 9 from Bell La...
by arghwhat on Sunday January 28, 2018 @07:40PM
(#16254545)
It is all about keeping the OS sane to give the users and applications a chance to be sane, rather than causing madness from the get-go.
However, if the system permits arbitrary applications to be executed (which plan9 does), then it cannot be shielded from madness. Proof: plan9 has a POSIX compatibility layer (APE), a vt100 terminal emulator and a vim port. It even has an aging full-on linux emulator. I think it could run a really old version of Firefox, but the memory is vague. People swear by Mothra these days anyway.
Re:Introduction to OS Abstractions Using Plan 9 from Bell La...
by henesy on Sunday January 28, 2018 @09:32PM
(#16254932)
It also has a virtual machine system down served by vmx(1) http://man.cat-v.org/9front/1/vmx.
To open a TCP connection, you use the dial(3) function, which basically does the following: write "tcp!name!port" to /net/cs and read out "1.2.3.4!80" (/net/cs resolves the name), then you write "connect 1.2.3.4" to /net/tcp/clone and read out a connection ID, and open /net/tcp/:id/data which is now a full-duplex TCP stream.
There's this emphasis on simple, sane ways of fulfilling tasks on plan9 that permeates the whole system. It's beautiful.