CS 3733 Operating Systems
Lecture 1 [8/25/97]: How does an operating system work?
Reading: Chapter 1 of Tanenbaum and Chapter 1 of PUP
- Administrative:
- Course policy
- Enforcement of prerequisites - if you are an undergraduate
who has not taken Computer Organization II and you feel
you must take CS 3733 this semester, you must petition
in writing to me by Wednesday, August 27, 1997 explaining
any extenuating circumstances that would justify my
waiving this prerequisite. I plan to exercise the
instructor initiated drop for students who do not have
CS 2734.
- Web page
- Accounts
- Sign in
- Lab check off
- Why have an operating system?
- Simple PC OS:
- ROM monitor:
- Diagnostics such as memory testing
- Boot up
- OS-independent I/O drivers for keyboard (buffered), display,
and disk drives
- Kernel:
- Utilities for interfacing keyboard to screen
- OS-dependent interface to disks - file system
- Batch file execution
- Command processor:
Keyboard interface to allow execution of commands
- How does the simple PC OS interact with instruction cycle?
- Basic operation and time scales.
- Buffering - method of overlapping I/O of a job with execution.
Input device is instructed to begin next input immediately
so that it is in memory when requested.
(Buffering overlaps I/O of a job with its own computation.)
Example: Prefetching of consecutive disk blocks. Uses
interrupts from DMA controller.
- Spooling (Simultaneous Peripheral Operation On-Line) -
using a disk or similar device as a large buffer for reading
as far ahead as possible on input devices or storing output
files until the output device (or devices) are ready for them.
(Spooling overlaps I/O of a job with the computation of all
other jobs.) Example: Print spooler uses the printer's
interrupt service routine.
- RAM resident programs - intercept keystrokes using the keyboard
interrupt service routine.
- Multiprogramming
OS picks and begins execution of a job from a job pool.
When job needs to wait (or its time expires or it finishes) the OS
switches to another job. The goal is to keep CPU busy.
OS uses the device interrupts and timer interrupt to control
the work flow.
- Time sharing or multitasking
Extension of multiprogramming in which multiple jobs are
executed by the CPU but the switch is done so frequently that
it seems to the user that his/her program is the only running.
OS uses the timer interrupt for control.
- Distributed systems
A single job is distributed to multiple machines.
- Real-time systems
Real-time systems have well-defined time constraints and are
often used in dedicated embedded systems to control devices.
(The microprocessor in your car.)
SKILL: Understand the role of interrupts in controlling simple
operating systems.
Revision Date: 8/26/97