> Also, because of plan9's exclusive use of static linking and supporting file servers with many arch binaries "superimposed", the "server needs to be same architecture" req could be relaxed.
Plan 9 was designed fro the get-go to easily build and run on different architectures. static linking helps and you do all your communication over 9p so you don't care if the machine is arm, power, x86, mips, etc. The protocol is platform independent and you just rpc everything. So instead of poorly bolting a security library to your program, you let someone experienced with security write a server and let it do the hard stuff. Then you statically lnk a little c lib into your code that just talks to the server.
And file servers are just little micro services running on your computer. plan 9 is more cloud ready and distributed than any poor excuse of an os nowadays.
I'm not sure I understand why static vs dynamic linking isn't completely orthogonal to this discussion; if you had your paths for dynamic linking in as orderly a state as we're expecting our xxx/bin paths to be, then dynamic linking would work just fine. There's no real reason that you couldn't have xxx/lib paths set up paralleling the xxx/bin directories and unioned together in the same way.
The static library fetish was one of the things that helped keep Plan 9 marginal (along with the generalized NIH or "Invented Here But By Bjarne So Who Cares" attitude).
Sun started the dynamic library fetish. Unix never used dynamic libs prior to that.
If you actually took the time to study plan 9 you would understand the architecture and why dynamic libs are not necessary. The idea is to move that logic into another program where it can run in its own namespace, in isolation. You then use pipes or 9p to communicate between them.
Plan 9 was designed fro the get-go to easily build and run on different architectures. static linking helps and you do all your communication over 9p so you don't care if the machine is arm, power, x86, mips, etc. The protocol is platform independent and you just rpc everything. So instead of poorly bolting a security library to your program, you let someone experienced with security write a server and let it do the hard stuff. Then you statically lnk a little c lib into your code that just talks to the server.
And file servers are just little micro services running on your computer. plan 9 is more cloud ready and distributed than any poor excuse of an os nowadays.