3 ms·
See also: plan9's `cpu` and `exportfs`
by kevinmgranger 6y ago
See also: plan9's `cpu` and `exportfs`
- spijdar 6y agoYeah, surprised more people haven't mentioned this, this is very plan9-esque. Although as a side note for the viewers at home, because plan9 exposed all interfaces as files, the remote cpu server could use all resources on the client machine. 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.
- MisterTea 6y ago> 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.
- glangdale 6y agoI'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).
- MisterTea 6y agoSun 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.