Lecture 1 Course Introduction
Lecture 1 Course Introduction
Andy Wang
COP 5611
Advanced Operating Systems
A Few Words on “Design”
A Few Words on “Design”
Bugatti Fuel tank with only
1,500 horse power enough capacity to
last for 12 minutes
273 MPH Or tires will melt
4 turbos
10 radiators
Ceramic brakes
A Few Words on “Design”
A unique
perspective of the
world
History of OS: Change!
1980 2020 Factor
Speed CPU 1 MIPS 88K MIPS 8.8 x 104
Memory 500 ns 0.6 ns 8.3 x 102
Storage 18 ms 300 ns 1.8 x 105
Network 300 b/sec 100 Gb/s 3.6 x 108
Capacity Memory 64 KB 3 TB 5.0 x 107
Disk 1 MB 16 TB 1.6 x 107
Cost Per MIP $100K/MIP $0.0066/MIP 1.4 x 107
Other Address bits 8 64 8
Users/machine 10s 0.01 1.0 x 10-3
Multicore Trend
Deeper Storage Hierarchy
Changing Roles of the OS
What OS does depends on available
hardware and software
And on changing uses of machines
And on changing expectations of users
Course Emphasis
Advanced background
Major concepts and design principles
Well-known systems
Course Structure
Prelude to advanced OS concepts
File systems
Interprocess communications
Computer organizations
Distributed operating systems
Security
Current topics
Prelude to Adv OS Concepts
Single-processor operating system
Process management
Synchronization
Memory management
File systems and device support
Network and communication support
Security
Single-Processor OS
Purposes
Clean virtual machine
Hardware independence
Resource sharing and management
Long term data storage
Protection, security, accounting
Real time support, parallelism, human
interface
Some Deep Questions
How do we organize the OS?
For development, evolution,
performance, and security?
How do we design a distributed OS?
How do we use multi-processor
machines effectively?
Process Management
Thread:
Address space:
Process:
Process Management
Thread: A sequential execution
stream
Address space: Chunks of memory
and everything needed to run a
program
Process: An address space +
thread(s)
Some Deep Questions
How do processes communicate and
share states efficiently and securely on
the same machine? Across multiple
machines?
How do we improve the computing
process model?
Process Scheduling
Provides the illusion of multiple
processes running at the same time on
a single processor
Context switching: changing the
attention of the processor
Involves saving and restoring states
Necessary to cross kernel boundary
Some Deep Questions
How do we achieve fairness, high
throughput, and responsiveness at the
same time?
How do we reduce or avoid the cost of
context switching?
Synchronization
Provides correct execution or
coordinating threads in the face of
arbitrary context switching
Synchronization Concepts
Atomic actions: all or nothing
Mutual exclusion: one thread in the
critical section at a time
Semaphores: atomic, counter-based
locks
Deadlock: circular waiting on
resources
Some Deep Questions
How do systems achieve agreement
across multiple machines?
How do you represent the notion of
time and the ordering of events across
multiple machines?
Memory Management
Virtual memory: provides the illusion
of infinite physical memory
Swapping: moves processes to disk
as necessary
Paging: allows processes to run with
only the active pages in memory
Assumptions: scarcity of memory and
locality of reference
Some Deep Questions
How do we coordinate machines to
share memory?
How can we simplify memory
management as memory becomes
abundant?
File Systems
File: named data + attributes
File system services:
Organization
Naming
Access
Synchronization
Protection and security
Some Deep Questions
How do we make different file systems
work together, even across machines?
How do we provide consistency,
availability, and reliability to copies of a
file across multiple machines?
How do we handle very large data
sets?
Device Caching
I/O devices tend to be a lot slower than
memory speed
Caching: stores extra data in memory
in hope of near-term reuse
Some Deep Questions
How do we coordinate the memory
resources across machines to
enhance performance?
How do we handle new devices with
new characteristics?
Homework 1
Submit in class and online
A recent photo
Your favorite quote
This counts as one paper critique
Email me your project team
information + team name + team
leader