next up previous
Next: Measurements Up: System design Previous: Firmware

Host software

The host software consists of an interface library that provides the API, as shown in Table 1, to processes. This library communicates via system calls to a driver, resident in the kernel, that implements all the message communication functionality, using the packet transfer interface provided by the DSNIC board.

We choose to make the software interrupt driven and to deschedule processes performing blocking communication, in order to allow concurrent computation and communication.

The host software should take care of the communication of every packet, of every message, for any process, over any virtual link. These aspects make the host software complex. Using an Object-Oriented[15] approach helped in the development of this software.

By only using facilities that are common in every operating system that offers real-time facilities, such as process scheduling, memory locking, and interrupt handling, we facilitate portability of the DSNIC software to other operating systems with real-time features, assuming they allow access to a PCI bus. Furthermore, using only standard kernel facilities makes the DSNIC an extension of the OS: processes are not restricted in the use of other OS facilities, e.g., storage facilities or other communication facilities.



Marcel Boosten
Wed Mar 11 14:25:07 MET 1998