CSCI 350

CSCI 350

Introduction to Operating Systems

Textbook

Chapter 1

Section 1

In order to multitask, an operating system needs to take on three main roles

  1. Referee

    • An operating system determines what is equitable. It's in charge of allocating constrained resources among multiple applications, in a process known as resource allocation competing to use those resources (memory, processors, etc.). It doesn't just determine what's equitable, it determines what's permitted. The operating system prevents applications from doing malicious acts, and prevents broken applications from corrupting others, in a process known as isolation
  2. Illusionist

    • Operating systems hide the complexities of file-storage, memory-management, and process management in order to simplify the structure of programs & applications, by letting them "play pretend" and count on systems that are sometimes purely simulated, in a process known as virtualization.
  3. Glue

    • Operating systems provide services that allow applications to work with one another, in a process known as communication

Operating systems have to make many tradeoffs, and there's a common set of criteria to use when assessing what makes a good operating system