Computer Science 440 Spring 2014
Gregory M. Kapfhammer
Operating Systems
Complexity
Interface
Manage
User Interaction
Mode of Operating
Which One?
Kernel?
User?
Figure 1.1
Can You?
Distinctions
Characteristics
LOC
FreeBSD
6.25 m
iOS
80 m
Linux
15 m
Minix
4000 !
Importance?
Architecture
Complexity
Abstraction
Files
User?
Resource Manager
Non-sharable
Protection
Multiplexing
History
Instruction Cycle
Fetch
Decode
Execute
Instruction Set Architecture
Similarities?
Differences?
Program Counter
Stack Pointer
Program Status Word
Context Switch
CPUs
Pipeline
Superscalar
Memory hierarchy
Cache
RAM
ROM
Flash
Disks
Platters
SSD
Implications?
I/O
Device drivers
Busy wait
Interrupts
DMA
Bus
BIOS
Bootchart
Make this faster?
Parallelism
Challenges?
Types of Operating Systems
Mainframe
Server
Multiprocessor
PC
Mobile
Embedded
Sensor
Real-time
Smartcards
Constraints?
Time
Computational Power
Memory
QoS
Key Concepts
Process Table
Shell
zsh!
Child Process
Spawn a Process
Address Space
64-bit ?
File Systems
Hierarchy
Another approach?
Keep!
Path
Relative
Absolute
Mounting
Pipe
Filter
Virtual Memory
Structure
Monolithic
Layered
See Figure 1-25
Microkernel
Put it all is user mode!
Reincarnation
Mechanism and Policy
Client-Server
Virtual Machines
Types 1 and 2
See Figure 1-29
JVM
WORA
How?