The x-Kernel: an architecture for implementing network protocols
- 1 January 1991
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 17 (1), 64-76
- https://doi.org/10.1109/32.67579
Abstract
A description is given of an operating system kernel, called the x-Kernel, that provides an explicit architecture for constructing and composing network protocols. The authors' experience implementing and evaluation several protocols in the x-Kernel shows that this architecture is general enough to accommodate a wide range of protocols, yet efficient enough to perform competitively with less-structured operating systems. Experimental results demonstrating the architecture's generality and efficiency are provided. The explicit structure provided by the x-Kernel has the following advantages. First, the architecture simplifies the process of implementing protocols in the kernel, making it easier to build and test novel protocols. Second, the uniformity of the interface between protocols avoids the significant cost of changing abstractions and makes protocol performance predictable. Third, it is possible to write efficient protocols by tuning the underlying architecture rather than heavily optimizing protocols themselves.Keywords
This publication has 25 references indexed in Scilit:
- Tools for implementing network protocolsSoftware: Practice and Experience, 1989
- Performance of the world's fastest distributed operating systemACM SIGOPS Operating Systems Review, 1988
- Firefly: a multiprocessor workstationIEEE Transactions on Computers, 1988
- Domain names - implementation and specificationPublished by RFC Editor ,1987
- Gaining efficiency in transport services by appropriate design and implementation choicesACM Transactions on Computer Systems, 1987
- The structuring of systems using upcallsPublished by Association for Computing Machinery (ACM) ,1985
- An Empirical Study of Distributed Application PerformanceIEEE Transactions on Software Engineering, 1985
- TFTP Protocol (revision 2)Published by RFC Editor ,1981
- Modularization and hierarchy in a family of operating systemsCommunications of the ACM, 1976
- Hierarchical ordering of sequential processesActa Informatica, 1971