Operating system/Job of an Operating System

This is a lesson in in the course, Operating system, which is a part of The School of Computer Science

Objective

edit

Job of an Operating System

edit

Coordination

edit

The goal of an operating system (OS) is to allow multiple applications and users to work together in fair and efficient ways.

  • security - prevent jobs from interfering with one another
  • communication - let jobs talk to one another
  • resource management - give jobs fair share of resources

Abstraction / Standard Services

edit

An operating system provides a set of standard services (or API) for applications to use the various system resources. Instead of forcing every application programmer to know how to write a complicated device driver just to read the CD-ROM, for instance, a modern-day operating system will simply provide a routine to access the device. This not only simplifies the job of an application programmer, but also provides the ability to manage system resources effectively and protects against malicious behavior. We will explore the trade-offs that decisions about operating system designs involve when we introduce the concept of a kernel.

Operating System Principles

edit
  • OS as illusionist

Make hardware limitations disappear. An operating system provides an application with the illusion of an infinite amount of memory and an infinite amount of processors.

  • OS as government

Protect users from each other and allocate resources fairly and efficiently.

  • OS as complex system

Keep things simple is the key to functionality.

  • OS as history teacher

Learn from the past to predict the future. As the technology progresses, design principles change.

Assignments

edit

Completion status: this resource is a stub, which means that pretty much nothing has been done yet.