ast@cs.vu.nl (Andy Tanenbaum) (09/13/88)
About 3 weeks ago, Robert Regn asked some questions about MINIX networking. Here are the answers. 1. You can run the networking stuff on an Ethernet containing exclusively MINIX machines. You do not need a VAX or SUN or anything else. There are drivers for these machines, and we are working on figuring out how to distribute them. There are legal as well as technical issues we have to solve first. 2. You can make up port names. A port is just a random 48-bit number. For convenience we have designed the command interface to use ASCII strings that are mapped onto 48-bit strings. For example, if you type (or include in /etc/rc the line: /usr/bin/master 1 2 2 /etc/sherver marvin then the program 'master' will ensure that there is always 1 sherver running and listening to the port hashed from the string 'marvin.' On another machine you can type, for example, rsh marvin who and you will get the 'who' listing from the machine on which 'master' was started. The point of using master instead of 'sherver' is that a sherver exits when it is done. 'Master' makes a new one. In this respect, 'master' is very much like 'init.' Of course you can start up other 'master's on other machines, and when you do rsh, the correct machine will intercept the command and execute it. How this happens is somewhat complicated, involving broadcasting to locate a machine the first time, and then caching it, but that is all in the code. You don't have to understand it unless you are interested in how RPC is implemented. If you just use rsh, rcp, master, to, from, etc., all that stuff works as is. You only have to dig into the details if you want to write your own networking applications. In that case, see the three client+server examples in the amoeba directory. I hope this is clear. So far only one person has reported trying out the networking code. The WD board is fairly common, so I would expect there to be more people (e.g., at universities) who are in a position to try it out. Andy Tanenbaum (ast@cs.vu.nl)