An operating system defines a software interface of the computer hardware and the architecture with which computer engineers can control and exploit the hardware to provide maximum benefit to the user. It also manages sharing of resources (hardware and software) among the computer’s users (user programs and systems programs).
Identify some contributors to operating systems and relate their achievements to the knowledge area; provide some reasons for a computer to have an operating system; describe concurrency and reasons for its importance; describe scheduling and illustrate how it works to improve computer performance; sketch an example of how and why a compute would need to manage memory; identify some devices an operating system would manage; and describe how computer engineering uses or benefits from operating systems. Demonstrate understanding of Operating Systems as an interface between user programs and the computer hardware; demonstrate understanding of the logical layers and the benefits of building these layers in a hierarchical fashion; relate system state to user protection; explain the range of requirements that a modern operating system has to address; define the functionality that a modern operating system must deliver to meet a particular need; and articulate design tradeoffs inherent in operating system design.· Justify the presence of concurrency within the framework of an operating system; demonstrate the potential run-time problems arising from the concurrent operation of many (possibly a dynamic number of) tasks; summarize the range of mechanisms (at an operating system level) that are useful to realize concurrent systems and be able to describe the benefits of each; explain the different states that a task may pass through and the data structures needed to support the management of many tasks.