* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Summary and Review
Survey
Document related concepts
Transcript
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; – 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. Introduce different concepts in OS theory and implementation • Microkernel operating systems • Extensible operating systems • Virtual machine operating systems 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 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 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 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”, … 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 New Material • Distributed file systems – Basic concepts – Use of caching – Cache consistency issues – Different file semantics – Replication/replica updates/replica consistency New Material • Dynamo – Basic idea – P2P aspects – Fault tolerance • MapReduce – Basic idea – Responsibilities of processors – Fault tolerance issues 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 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 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 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. 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. 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.