A designer's perspective of the Hawk multiprocessor operating system kernel
Victor P. Holmes, David L. Harris · ACM SIGOPS Operating Systems Review · 1989
The Hawk operating system kernel was specifically designed and implemented to support real-time applications on the SANDAC V embedded multiprocessor. The kernel provides a tasking model for program decomposition and supports message passing, synchronization, as well as other ancillary services. The kernel primitives have a Unix™-like system call interface to the C language and were designed to provide users a choice of level of abstraction, yet perform efficiently and behave predictably. Many design choices were limited by the type of environment the system was intended to support, namely, hard-real-time for missions of short duration. The system has been implemented and has supported applications for nearly two years. Measurements of kernel performance are herein reported. This paper is an overview of the Hawk kernel and a look backward at the decisions that were made in its design.