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

Coordination
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
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
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. Protect users from each other and allocate resources fairly and efficiently. Keep things simple is the key to functionality. Learn from the past to predict the future. As the technology progresses, design principles change.
 * OS as illusionist
 * OS as government
 * OS as complex system
 * OS as history teacher

Assignments



 * Previous Lesson
 * Next Lesson
 * Course Home Page