Professional Documents
Culture Documents
03 OperatingSystems
03 OperatingSystems
Chapter 3
Operating Systems
Chapter Overview
Page 2 Chapter 3: Operating Systems © Christian Jacob
Multiprogramming OS
Operating System
Job 1
(waiting for input)
Job 2
(running)
Job 3
(ready)
Multiprogramming enables
• time sharing:
- divides processor time up into slices
- the slices are divided “fairly” among competing jobs
Job 1
Job 6
Job 2
Job 5 Job 3
Job 4
• interactive processing:
- the user does not have to wait for one process to be finished
until the next process (program, action) can be started
Many different users can share the same machine through time
sharing and multiprogramming (e.g., UNIX, MacOS X, Windows NT).
This gives each user the illusion to have his/her own machine.
• Cooperative multitasking:
Switching between programs only if those programs explicitly
cooperate.
• Preemptive multitasking:
Lets the OS switch between the tasks at its own discretion.
⇒ Perform different tasks at the “same time” (printing, compiling,
searching on the web, ...)
Clients
Main memory
Disk storage
ROM Bootstrap program Rea
(permanent) d OS
Load OS Operating
Operating
system
system
Sta
rt
de
vic
ed
RAM riv
ers
(volatile)
Devices
Memory
User manager
I/O system
manager
Command Resource
User Scheduler
processor allocator
File
manager
User
Interrupt
Hardware
Dispatcher
execution
execution
Command processor:
The interface that interacts with one or more users, watching the
keyboard, mouse, and any other input devices attached to the
machine.
Scheduler:
There may be more than one process for the same program (e.g.,
start two different editor programs).
Resource Allocator
Memory Manager
File Manager
The file manager keeps track of information about files on the disks:
- protects against unauthorized file access
- supports sharing of file resources
- helps organizing files into folders
Dispatcher
Time
3.4 References