Lecture 1 - Introduction
It's a Unix system. I know this. - Ariana Richards
as Lex Murphy, Jurassic Park
Welcome to CS 432!
The course is about, well, Operating Systems.
- Syllabus and Course Ground Rules
- What is an Operating System?
- Some History
- Other Introductory Notes
Please read the syllabus carefully. If there are questions, ask!
Possible definition: "a program that acts as an
intermediary between a user of a computer and the computer hardware."
It is a low-level program, which talks directly to computer hardware
on behalf of user programs. The operating system kernel is the
program that stays running on the computer at all times. The kernel
decides what user programs can do and when they can do it.
What is this hardware? Depends... Could be a small single-user PC,
could be a minicomputer, mainframe, supercomputer. One or more CPUs,
main memory, disk resources, and I/O devices. Could even be something
smaller - an embedded system or a PDA.
Much of operating system theory focuses on large, multiprogramming
systems - multiple users, multiple programs, time share.
Goals/Functions of an OS:
These goals are often competing!
One might say that the OS Brings order from
Chaos.
The definition of the user depends. It may be a user
program, which is the user of the resources of the computer as
managed by the operating system, or the user of the computer, who runs
those programs.
Many additional programs, often lumped in as part of the "operating
system" such as utility programs, editors, office suites, etc., are
not part of the kernel. They may or may not be part of the
"operating system" depending on how you define it.
Common Operating System Components. Many of these involve all
three of the goals/functions we listed.
Examples of Operating Systems
There is a wide variety out there... We will look in detail at
some Unix variants and see examples from others.
Competing design goals:
User wants - convenience, ease of use, reliability, safety,
speed
System wants - ease of design, implementation, maintenance,
also flexibilty and efficiency
Mechanism vs. Policy: mechanisms are provided to perform tasks,
policy determines what will actually be done. Separation of mechanism
from policy is an important principle. Allowing policy to be changed
later allows maximum flexibility.