210 likes | 230 Views
This lecture covers the key concepts of operating systems, including privileged mode, resource allocation, protection and isolation, and the important architectural features such as interrupts, exceptions, and signals. It also explores CPU management, memory management, I/O management, and cross-cutting concerns and principles in operating systems design. Additionally, it briefly mentions topics not covered in the lecture such as traditional OS topics, multimedia systems, real-time systems, and distributed systems. The lecture concludes with a discussion on the current state of OS research and emerging research areas in operating systems.
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