cd /usr/xkernelThis will create several subdirectories in /usr/xkernel. A description of the x-kernel directory hierarchy can be found in /usr/xkernel/README. Note that you can skip this step if the x-kernel has already been installed at your site.
uncompress xkernel.tar.Z
tar xf xkernel.tar
cd /usr/xkernel/user_level/buildIf directory /usr/xkernel/user_level/build/solaris already exists---because someone else has already followed this procedure---then you have two choices.
mkdir solaris
Substitute the name of your build directory, as appropriate, in the rest of the steps.
cd /usr/xkernel/user_level/build/solarisNote that if your build directory is not in /usr/xkernel/user_level/build, then you will have to use the full path names for these various files (e.g., /usr/xkernel/user_level/build/Template/graph.comp) rather than the relative path names (e.g., ../Template/graph.comp) given above.
cp ../Template/Makefile.solaris Makefile
cp ../Template/graph.comp .
mkdir client server
cp ../Template/rom.client client/rom
cp ../Template/rom.server server/rom
chmod 664 Makefile graph.comp client/rom server/rom
XRT = ../../..to
XRT = /usr/xkernelNote that this step is necessary only if your build directory is underneath your home directory. It is not necessary if your build directory is in /usr/xkernel/user_level/build since from there, ../../.. already points to the root of the x-kernel source tree.
prottbl=/cs/x33/etc/prottbl.std;to
prottbl=/usr/xkernel/etc/prottbl.std;
Note that A and B can be the same machine, in this case, the same IP address is used in the rom file for both machines.
cd /usr/xkernel/user_level/build/solarisNote that you can skip this step if you are not the first person to build an x-kernel for this platform.
make system
cd /usr/xkernel/user_level/build/solarisThis sequence should result in the creation of the binary file xkernel in your build directory. Note that you may see what appear to be error messages about missing files (e.g., Makefile.local and DEPS/Makedep.*) when you run make compose. These warnings can be ignored.
make compose
make depend
make
cd /usr/xkernel/user_level/build/solaris/serverThis starts a version of the x-kernel on machine A that will act as a server for this run. Second, on machine B type:
../xkernel -s
cd /usr/xkernel/user_level/build/solaris/clientThis starts a version of the x-kernel on machine B that will act as a client for this run. Note that you have to start the server before the client. When the run is over, you can kill the x-kernel by typing Control-C on both A and B.
../xkernel -c128.1.2.3
The run involves the client establishing a TCP connection to the server, with a sequence of different-sized messages then sent back and forth between the client and the server. The time it takes to exchange 100 messages of each size between the client and the server will be printed out. For example, the output on the client will consist of a sequence of lines that look something like this:
Protocol: TCP Time: Fri Jun 6 16:16:11 1997 Host: cicada.CS.Arizona.EDU Participant: client Round Trips: 100 Message Length (bytes): 1 Times (sec): select: Interrupted system call 0.061818 0.060986 0.063218This means it took 0.061818 seconds (or 61ms) to send 100, 1-byte messages between the client and server machines, for an average of .61ms per round-trip.