Read/Search this Article
In traditional operating systems such as UNIX, network protocol stacks reside in the kernel, and it processes the protocols in interrupt handlers. This strategy is suitable for time-sharing systems because of the high performance. On the other hand, this strategy cannot be applied to real-time distributed systems since packets are processed in a non-preemptable fashion. Thus, unbounded priority inversions that may violate timing constraints of packets occur. We have developed two user-level network subsystems for distributed real-time systems and show our network subsystems have many advantages over traditional network systems. This paper focuses on the effectiveness of user-level protocol stacks for distributed real-time systems and discusses how the protocol stacks affect the system structures. We present the implementation and performance evaluation results of our two different real-time protocol stacks, which are implemented on Real-Time Mach. The results show that respective architectures have different characteristics, and the selection of the architectures depends on the requirements of real-time applications. The paper can give a guideline that enables programmers to select suitable network subsystems for their application.