210 likes | 311 Views
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)
E N D
Operating SystemsCSE 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!
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