Title: Contact Information
1Contact Information
- Office 225 Neville Hall
- Office Hours Monday and Wednesday 1200-100
- E-Main dickens_at_umcs.maine.edu
- Phone 581-3967
- Textbook Tanenbaum, Modern Operating Systems
(2nd edition) - URL http//umcs.maine.edu/dickens/COS431/COS431.
html
2Introduction
1.1 What is an operating system 1.2 History of
operating systems 1.3 The operating system
zoo 1.4 Computer hardware review 1.5 Operating
system concepts 1.6 System calls 1.7 Operating
system structure
3Introduction
- A computer system consists of
- hardware
- system programs
- application programs
4System Components
- Hardware
- Physical Devices
- Memory, CPU, I/O devices.
- Microarchitecture Executes machine-level
instructions. Hardware or firmware. - Machine language Hardware and instructions
visible to an assembly language program.
5Introduction
- Operating System
- Hides complexity of hardware and provides
simplified set of instructions.
6Introduction
- System programs
- Generally execute in user mode.
- Command interpreter (shell), compilers, editors,
..
7So What is an Operating System?
- It is an extended machine
- Hides the messy details which must be performed
- Presents user with a virtual machine, easier to
use - Dont want to program I/O devices, handle
interrupts, etc. - It is a resource manager (and scheduler)
- Each program gets time with the resource
- E.g., CPU, I/O devices, memory
- Each program gets space on the resource
- E.g., Disk space.
8History of Operating Systems
- First generation 1945 - 1955
- vacuum tubes, plug boards
- Scheduling algorithm was a signup sheet.
- Second generation 1955 1965
- Operator loading in programs from card deck one
at a time. - Led to batch systems
9- Early batch system
- bring cards to 1401
- read cards to tape
- put tape on 7094 which does computing
- put tape on 1401 which prints output
10History of Operating Systems (3)
- Structure of a typical FMS job 2nd generation
11Early Operating Systems
- Automatic job sequencing automatically
transfers control from one job to another. First
rudimentary operating system. - Resident monitor
- initial control in monitor
- control transfers to job
- when job completes control transfers pack to
monitor
12Memory Layout for a Simple Batch System
13- Third generation 1965 1980
- Machines were very expensive and CPU frequently
idle. Led to multiprogramming.
14- Multiprogramming system
- three jobs in memory 3rd generation
15Multiprogramming Batch Systems
Solution Multiplex CPU between multiple jobs.
16OS Features Needed for Multiprogramming
- Use of disk space to hold jobs not in system.
- Job scheduling Choose jobs to bring into memory.
- Memory management the system must allocate the
memory to several jobs. - CPU scheduling the system must choose among
several jobs ready to run. - Allocation of devices.
17Time-Sharing SystemsInteractive Computing
- The CPU is multiplexed among several jobs that
are kept in memory and on disk (the CPU is
allocated to a job only if the job is in memory). - A job swapped in and out of memory to the disk.
- On-line communication between the user and the
system is provided when the operating system
finishes the execution of one command, it seeks
the next control statement from the users
keyboard. - i.e., the shell
- Goal is to give the illusion that each user has
own machines. - Response time is a priority.
18Computer Hardware Review
Monitor
Bus
- Components of a simple personal computer
19- Special registers
- Program counter.
- Stack pointer.
- Process Status Word (PSW).
20Computer Hardware Review
- (a) A three-stage pipeline
- (b) A superscalar CPU
21- CPU has two modes user and kernel.
- Application obtains OS services through a system
call. - Traps to operating system and switches to kernel
mode.
22- Typical memory hierarchy
- numbers shown are rough approximations
23- Structure of a disk drive
24- One base-limit pair and two base-limit pairs
25I/O Devices
- Manufacturer provides device driver (talks to the
device). - OS talks to device driver.
- Three ways to handle I/O operations
- Busy waiting.
- Interrupt driven
- Direct Memory Access (DMA)
26(a)
(b)
- (a) Steps in starting an I/O device and getting
interrupt - (b) How the CPU is interrupted
27- Structure of a large Pentium system
28Operating System Concepts
- A process tree
- A created two child processes, B and C
- B created three child processes, D, E, and F
29Operating System Concepts
- (a) A potential deadlock. (b) an actual deadlock.
30Operating System Concepts
- File system for a university department
31Operating System Concepts
- Before mounting,
- files on floppy are inaccessible
- After mounting floppy on b,
- files on floppy are part of file hierarchy
32Operating System Concepts
- Two processes connected by a pipe
33Steps in Making a System Call
- There are 11 steps in making the system call
- read (fd, buffer, nbytes)
34Some System Calls For Process Management
35Some System Calls For File Management