* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download lecture33-dec15
Survey
Document related concepts
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