Post on 08-Jan-2018
description
Operating SystemsOperating SystemsCSE 411CSE 411
Revision and final Revision and final thoughtsthoughts
Dec. 15 2006 - Lecture 33Dec. 15 2006 - Lecture 33Instructor: Bhuvan Instructor: Bhuvan
UrgaonkarUrgaonkar
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