1 / 21

Operating Systems CSE 411

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)

guang
Download Presentation

Operating Systems CSE 411

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating SystemsCSE 411 Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar

  2. 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

  3. 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

  4. 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

  5. What did we learn? • Key abstractions provided by the OS • Process • Related: threads, address space/virtual memory • File • Related: device files

  6. 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

  7. 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

  8. 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

  9. 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

  10. Research goals • Traditional • Performance • Fairness • Isolation • Increasingly important • Power • Manageability • Self-* properties • Change management • Accountability and security

  11. 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)

  12. Some slides from a controversial talk by Rob Pike of UNIX fame Systems research is irrelevant!

  13. Current research in operating systems

  14. 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

  15. 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

  16. 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

  17. Thank You!Special thanks to Arjun and Yuan

More Related