Skip to Main Content
Operating systems (OS's) are important to software engineering for four fundamental and significant reasons. 1) OS's define the abstract machines in terms of which subsystems and application programs must be implemented and upon which they must be executed. 2) OS's play a significant role in defining the programming environment for development of subsystems and applications. 3) OS's have in the past motivated and been the experimental vehicles for the development of many of the fundamental concepts of software engineering. 4) OS's research is, of necessity, leading the way in the development of the technology for the utilization of distributed systems and object oriented systems. This article attempts to place the concepts of OS's research and development in a software engineering perspective and to develop insights on the future contributions of OS's research to software engineering. An analysis of OS's research with a broader perspective is given by Denning, Browne, and Peterson . Items 1) and 2) also explain why OS's and their characteristics are important not only to software engineers, but to all users of computer systems. The user who finds the OS of his computer system sometimes inconvenient to use should turn to the hardware reference manuals for his system and imagine directly using these incredibly detailed interfaces.