Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 -...

21
Operating Systems Operating Systems CSE 411 CSE 411 Revision and final Revision and final thoughts thoughts Dec. 15 2006 - Lecture 33 Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Instructor: Bhuvan Urgaonkar Urgaonkar

description

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

Transcript of Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 -...

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

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

Page 2: Operating Systems CSE 411 Revision and final thoughts 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

Page 3: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 4: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 5: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

What did we learn?• Key abstractions provided by the OS

– Process• Related: threads, address space/virtual memory

– File• Related: device files

Page 6: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 7: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 8: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 9: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 10: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

Research goals• Traditional

– Performance– Fairness– Isolation

• Increasingly important– Power– Manageability

• Self-* properties– Change management – Accountability and security

Page 11: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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)

Page 12: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

Some slides from a controversial talk by

Rob Pike of UNIX fame

Systems research is irrelevant!

Page 13: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

Current research in operating systems

Page 14: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.
Page 15: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.
Page 16: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.
Page 17: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.
Page 18: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 19: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 20: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

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

Page 21: Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec. 15 2006 - Lecture 33 Instructor: Bhuvan Urgaonkar.

Thank You!

Special thanks to Arjun and Yuan