1 / 16

Summary and Review

Summary and Review. Course Objectives. The main objectives of the course are to introduce different concepts in operating system theory and implementation; identify software design issues for advanced computer systems, such as multiprocessors or distributed systems;

kjonathan
Download Presentation

Summary and Review

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. Summary and Review

  2. Course Objectives • The main objectives of the course are to • introduce different concepts in operating system theory and implementation; • identify software design issues for advanced computer systems, such as multiprocessors or distributed systems; • provide exposure to classic & current topics in operating system research through reading and discussing conference and journal papers; • review and expand on complex concepts from the introductory operating systems course, such as synchronization, virtual memory, and file systems.

  3. Introduce different concepts in OS theory and implementation • Microkernel operating systems • Extensible operating systems • Virtual machine operating systems

  4. Identify software design issues for advanced computer systems • Distributed systems architectures • Distributed system principles/design issues • Naming • Replication and consistency • Fault tolerance • Distributed systems goals

  5. Provide exposure to classic & current topics in OS research in reading and analysis of papers • Extensible operating systems • Virtual machine papers • Racetrack & Eraser • Superpages • MapReduce & Dynamo

  6. Review/expand on concepts from the introductory OS course • Synchronization • Shared memory systems • Distributed systems • File replication • Virtual Memory • Superpages • File Systems • Organization/performance • Distributed file systems • Caching and replication

  7. Unification • When you review course material try to think about connections: • Distributed system architectures as applied to systems we studied; e.g., compare Google cluster architecture to traditional client-server; P2P • Discussion of logical time/Lamport time stamps/vector clocks and applications of those techniques • Middleware definition and examples of services that could be implemented as middleware. • Examples: “what is fault tolerance, how is it managed in <some system we have studied>”, “define transparency and discuss techniques that might be used to achieve it”, …

  8. Coverage • Comprehensive • Relatively more emphasis on untested material • Distributed file systems • MapReduce & Dynamo (although we only spent a short time on these two systems) • Memory management/superpages • Material from previous tests • Less detail, but remember that much of it shows up again and again, so you can’t ignore it (e.g. architectures, scalability, …) • Mutual exclusion and other forms of synchronization are still important

  9. New Material • Distributed file systems • Basic concepts • Use of caching • Cache consistency issues • Different file semantics • Replication/replica updates/replica consistency

  10. New Material • Dynamo • Basic idea • P2P aspects • Fault tolerance • MapReduce • Basic idea • Responsibilities of processors • Fault tolerance issues

  11. New Material • Superpages • the problem • Large superpage size versus small • Use multiple page sizes or just one • Reservation versus relocation • Affect of these issues on fragmentation/contiguity

  12. Things to Study • Definitions • Algorithms (e.g., mutual exclusion, how to place an item in a P2P system, …) • Numbered lists: “4 reasons for…”, “3 advantages of…”, “main design goals…” • Discuss and evaluate • Anything that can be compared/contrasted; e.g. RaceTrack v Eraser methodology

  13. Test-Taking Tips - 1 • Base length of answer on (1) my suggestion – “brief”, “25 words or less”, etc. (2) number of points it’s worth, (3) amount of space on test paper. • Don’t answer anything I didn’t ask about, but DO answer the question posed; e.g., for the question “Structurally, how do microkernel operating systems differ from traditional

  14. Test-Taking Tips - 2 • Don’t answer anything I didn’t ask about, but DO answer the question posed; e.g., for the question “How does a microkernel architecture differ from the architecture of a traditional operating system?” • DON’T talk about advantages/disadvantages; don’t talk about the motivation behind each kind of system. • DO describe the architectures, show where they are different.

  15. Test-Taking Tips 3 • Budget your time • If you don’t know the answer, come back to it later • Don’t waste a lot of time on a 2-point questions • If you want to add extra details, don’t do so until you’re sure you’ve covered the basics.

  16. Test-Taking tips – 4 • Be sure you read the instructions for each question before you begin the answer. • If a question has several parts (a, b, c) don’t answer part (a) until you have read parts (b) and (c) – otherwise, you may write things in the first part that you’ll have to repeat later. • If a question says “Answer three out of four”, don’t waste time answering all four.

More Related