Download lecture33-dec15

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Plan 9 from Bell Labs wikipedia , lookup

DNIX wikipedia , lookup

RSTS/E wikipedia , lookup

Burroughs MCP wikipedia , lookup

VS/9 wikipedia , lookup

Unix security wikipedia , lookup

Spring (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

CP/M wikipedia , lookup

Paging wikipedia , lookup

Transcript
Operating Systems
CSE 411
Revision and final thoughts
Dec. 15 2006 - Lecture 33
Instructor: Bhuvan Urgaonkar
What did we learn?
• What is an operating system
– A piece of software that runs on a computer (kernel)
– Privileged mode
• Direct access to all hardware (device drivers)
– Resource allocation
• Efficiency
• Fairness
• Contention resolution (e.g., synchronization)
– Protection and isolation
– (Easy/Agreed upon) interface to programmers
• Hides several hardware details and heterogeneity
What did we learn?
• Relation between hardware/architecture and operating
system design
– Impact of hardware characteristics on OS design
• Good example was disk management versus memory management
– How hardware designers and architects assist OS designers
• Example - Atomic operations
– What should the hardware do versus what should the OS do
What did we learn?
• Important architectural features
– Interrupts: I/O devices, passage of time (scheduling)
– Exceptions: Request services from OS
• Related OS abstraction
– Signals: Inter-process communication, asynchronous
handling of special events by OS and programs
What did we learn?
• Key abstractions provided by the OS
– Process
• Related: threads, address space/virtual memory
– File
• Related: device files
What did we learn?
• CPU management
– Process, thread, kernel control paths
• User-level threads
• Kernels are usually multi-threaded
– Scheduling
• Work conservation
• Proportional-share, reservation-based
– Synchronization
• Mutual exclusion
• Semaphores
– Deadlocks
– Multi-processors have special scheduling and synchronization
considerations
What did we learn?
• Memory management
– Virtual memory
•
•
•
•
•
•
Current memory technology: RAM
Fragmentation: internal and external
Paging
Page table, TLB
Page replacement
Swap space: Extension of RAM
– Caching and buffering in RAM for I/O devices
– Sharing memory
• Memory mapping, CoW
– Relation between memory manager and CPU scheduler
• Under memory pressure, VMM can become the de-facto CPU
scheduler
• VMM needs to be designed with fairness and performance in mind
What did we learn?
• I/O management
– Hardware characteristics, DMA
– Close look at disk management
• Disk characteristics
• Disk scheduling
– Multiple locations where scheduling occurs
• File systems
–
–
–
–
Data layout
Virtual File systems
Traditional file systems
Emerging file system: CAS
• Emerging systems based on Flash
Cross-cutting
concerns/principles
•
•
•
•
Caching and buffering
Fairness and isolation
Design for average/frequent case
Virtualization
– VMM, VFS, system calls, multi-programming
• Multiplexing of resources
– Over-commitment of resources
• Accounting and monitoring
Research goals
• Traditional
– Performance
– Fairness
– Isolation
• Increasingly important
– Power
– Manageability
• Self-* properties
– Change management
– Accountability and security
Operating systems topics
we didn’t cover
• Traditional OS topics
–
–
–
–
–
OS externals (311)
System bootstrap
Synchronization: Monitors
Deadlocks: Banker’s algorithm
File systems: Log-structured file systems
• Multimedia systems
• Real-time systems
• Distributed systems (Chapters 16-18)
Some slides from a
controversial talk by
Rob Pike of UNIX fame
Systems research is irrelevant!
Current research in
operating systems
What do we make of this?
• Debatable and controversial arguments
• I would like to believe that the new OS
papers graph doesn’t indicate the death of
OS research
– Research has moved on to other aspects, taken
newer forms
– Similar phenomenon are seen in other fields
– Can you give any examples?
• I feel the focus and scope of OS research
has changed
– More on distributed systems, embedded systems
– Issues other than performance
Where do we go from
here/ what’s happening
now?
• Sensors and embedded devices
• Highly distributed systems
– P2P networks, grids
• Mobile computing
– Ubiquitous computing
• Virtual machines
– Multiple operating systems on a single computer!
• Data centers
– Green computing
Final exam
•
•
•
•
2 hour
Open-notes, open-book
Easier than the mid-terms
Do the final quiz carefully
– Still not up, but will be sometime tomorrow
• Only topics covered in lectures
• Tentative structure
– 8 Short questions (2-3 sentences each): 40%
– 3 longer design/essay questions: 60%, one each on:
• CPU scheduling/synchronization
• Memory management
• Disk management / file systems
Thank You!
Special thanks to Arjun and Yuan