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