nachos.network
Class NetKernel

java.lang.Object
  extended by nachos.machine.Kernel
      extended by nachos.threads.ThreadedKernel
          extended by nachos.userprog.UserKernel
              extended by nachos.vm.VMKernel
                  extended by nachos.network.NetKernel

public class NetKernel
extends VMKernel

A kernel with network support.


Field Summary
 
Fields inherited from class nachos.userprog.UserKernel
console
 
Fields inherited from class nachos.threads.ThreadedKernel
alarm, fileSystem, scheduler
 
Fields inherited from class nachos.machine.Kernel
kernel
 
Constructor Summary
NetKernel()
          Allocate a new networking kernel.
 
Method Summary
 void initialize(String[] args)
          Initialize this kernel.
 void run()
          Start running user programs.
 void selfTest()
          Test the network.
 void terminate()
          Terminate this kernel.
 
Methods inherited from class nachos.userprog.UserKernel
currentProcess, exceptionHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NetKernel

public NetKernel()
Allocate a new networking kernel.

Method Detail

initialize

public void initialize(String[] args)
Initialize this kernel.

Overrides:
initialize in class VMKernel

selfTest

public void selfTest()
Test the network. Create a server thread that listens for pings on port 1 and sends replies. Then ping one or two hosts. Note that this test assumes that the network is reliable (i.e. that the network's reliability is 1.0).

Overrides:
selfTest in class VMKernel

run

public void run()
Start running user programs.

Overrides:
run in class VMKernel
See Also:
Machine.getShellProgramName()

terminate

public void terminate()
Terminate this kernel. Never returns.

Overrides:
terminate in class VMKernel