The Interaction of Architecture and Operating System Design


Thomas Anderson, Henry Levy, Brian Bershad, and Edward Lazowska.  The Interaction of Architecture and Operating System Design.  Proc. of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, April 1991, pages 108 - 120.

 

Abstract:

Today's high-performance RISC microprocessors have been highly tuned for integer and floating point application performance.  These architectures have paid less attention to operating system requirements.  At the same time, new operating system designs often have overlooked modern architectural trends which may unavoidably change the relative cost of certain primitive operations.  The result is that operating system performance is well below application code performance on contemporary RISCs.

This paper examines recent directions in computer architecture and operating systems, and the implications of changes in each domain for the other.  The requirements of three components of operating system design are discussed in detail: interprocess communication, virtual memory, and thread management.  For each component, we relate operating system functional and performance needs to the mechanisms available on commercial RISC architectures such as the MIPS R2000 and R3000, SUN SPARC, IBM RS6000, Motorola 88000, and Intel i860.

Our analysis reveals a number of specific reasons why the performance of oeprating system primitives on RISCs has not scaled with integer performance.  In addition, we identify areas in which architectures could better (and cost-effectively) accommodate operating system needs, and areas in which operating system design could accommodate certain necessary characteristics of cost-effective high-performance microprocessors.


Postscript