Life on the OS/network boundary

  • Authors:
  • Larry L. Peterson

  • Affiliations:
  • University of Arizona, Tucson, AZ

  • Venue:
  • EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

Few would argue that protocols are central to the construction of distributed systems. Whether they support remote procedure calls, file transfer, or group communication, protocols are the fundamental building blocks of distributed systems. This paper is not about any particular protocol, but rather about our experiences implementing protocols, in general, in the χ-kernel.The χ-kernel was originally designed to function as a full-fledged operating system kernel. The original design philosophy was that an operating system kernel is primarily a communication multiplexor, and so the one thing it had better do well is support communication protocols. Towards this end, the χ-kernel was explicitly designed to support the rapid implementation of efficient network protocols. Because it was a complete OS kernel, the initial implementation of the χ-kernel on Sun3 workstations included support for lightweight processes and multiple virtual address spaces. However, because communication support was our primary concern, the χ-kernel didn't contain any real innovations in other areas such as process and memory management; we mostly borrowed ideas from other experimental operating systems like V, Mach, Sprite, and Amoeba.During the last several months, we have refocused our effort by divorcing those aspects of the χ-kernel that are specifically related to the implementation of network protocols from the other aspects of the operating system, and we are attempting to embed this protocol-core of the χ-kernel in different existing operating systems, most notably, Mach.