|
An operating system facilitates the execution of user and system programs on the bare hardware of a machine. One view of an operating system is that it essentially manages resources such as physical memory, disks, and CPU(s). By managing resources, the operating system allows (in most cases) multiple user programs to be executed concurrently, without corrupting each other.
This course covers the design and implementation of operating systems, stressing the interaction of the operating system with computer architecture, compilers, networks, and user programs. Covered topics include processes, CPU scheduling, process synchronization, deadlocks, memory management, virtual memory, file systems (interface and implementation), protection, security, and some aspects of distributed operating systems.
The general structure of this class is to cover the topics typically found in an undergraduate OS class at about 3 times the pace of an undergrad class. The rest of the time (the remaining 2/3, that is) will be used discussing research papers on the given topic – note that these papers will be some combination of “older” papers and “new” papers.
Specific course objectives: 1. Develop an understanding of the tasks and components of an operating system and how they influence the operation of user-level programs, how the computer architecture and programming languages interact with the OS to manage concurrent activities, and how the OS manages resources and provides protection and security. 2. Learn the principles of correct concurrent programming and how various types of synchronization primitives operate. 3. Develop an understanding of the fundamental concepts of computer security. 4. Be able to analyze how contemporary operating systems implement these concepts, be able to evaluate the advantages and disadvantages of their varying implementations, and be able to discuss these issues in a knowledgeable fashion. 5. Be able to analyze and discuss the pros/cons of particular OS implementation and evaluation strategies. 6. Be able to critically read systems-oriented research papers. 7. Be able to conduct a research project related to Operating Systems. |
|
Logistics |
|
Coursework |
|
Synopses |
|
Each student must submit a synopsis of the papers for the day by 11am via the class collab site. The single ASCII submission (no PDF) must contain at most 1 page for each paper of the day (e.g., if we cover 2 papers that day, then the student’s collab submission must contain two synopses, where each synopsis is at most 1 page). The format of a synopsis must be: · Paragraph 1: 1-2 sentence problem statement (what problem is being addressed in the paper?) and 1-2 summary of the paper (e.g., “the authors address the problem by designing and implementing…”) · Paragraph 2: pros of the paper (what’s compelling/effective about the paper), and then cons of the paper (what are the most significant flaw(s) of the paper?)
The student will receive a single grade for the day’s synopsis/synopses. The grading is as follows: · CP (“check-plus” – 100 points): all/both paragraphs are excellent, assertions/claims with evidence, synopsis shows excellent understanding and insight · C (“check” – 75 points): all/both paragraphs are pretty good but something is: missing, stated without justification, improperly justified, missing the point, etc. · CM (“check-minus” – 50 points): one or more paragraphs missing or fundamentally incorrect · Not submitted by 11am day of discussion: 0 points |
|
More Details |
|
· It is highly recommended, but not mandatory, that students attend every class. · Assignments are due at the beginning of class on the day that the assignment is due. For each weekday that your assignment is late, 10% will be deducted. No assignment will be accepted later than three calendar days after the due date. · The course will be conducted according to the UVA honor system. Homeworks and exams are to be completed by the individual. I expect a signed honor pledge on all homework, quizzes, and exams; more importantly, I expect you to adhere to the intent of the pledge. Cooperative efforts at understanding the material and the assignments of the course are encouraged. For the programming projects, the algorithms and programs submitted by a group must be fully developed and written by the group submitting them. Each written homework must be developed and written only by the student submitting it. · Do NOT wait until the last minute to do the readings and / or the project. In any software project, you must anticipate and plan for unexpected events (such as a machine crashing at an inopportune time). · If you are having difficulty with a particular concept of the class, please let me know. If you don’t understanding something, there's a good chance that others in the class are confused as well. · It is required (out of courtesy for your fellow classmates) that cell phones be turned off before entering class. This requirement is based on a resolution passed by the student council. Laptops are permitted in class but I retain the right to ask you to turn it off and put it away, particularly if (a) they’re being used for non-CS6456 purposes or (b) they’re distracting other students. |
|
Last modified: 10/1/2013 1:49 PM |
|
Site Index: |
|
Programming Assignment (1st half of class) |
|
There is one programming assignments in the first half of class, which everyone in the class will do (individually). More details later... |
|
Class Project (2nd half of class) |
|
The class project is very important (35% of your grade). It can be your own design/implementation, or you can pursue one of the topics that I provide. You will meet regularly with me to ensure your plan and that you are hitting your milestones. This will be completed by you alone or with one other person. You will write a short conference- or workshop-style paper, and you will give a presentation at the class mini-conference in the last two weeks of class. More details will be provided in class. |
|
Instructor |
|
|
Office |
Rice Hall 307 |
|
|
Humphrey at cs.virginia.edu |
|
Class meeting time |
Wed/Mon 2:00-3:15pm in Thornton D222 (make-ups as necessary: Fridays 11-12:15 location TBD) |
|
My office hours |
Mondays 10-noon, Tuesdays 11-1 |
|
WWW |
|
|
Prerequisites |
Undergrad OS class or instructor permission |
|
Textbook |
None — as necessary use undergrad OS textbook |
|
What |
When |
Weight |
|
Readings (textbook and Web) |
Every class |
|
|
Class participation |
Every class |
15% |
|
Written Synopses / Programming Assignment |
Synopses: every class Programming assignment: 1st half of class |
25% |
|
Class project |
2nd half of class; presentation in last 2 weeks of class |
35% |
|
Final Exam |
Wed Dec 11 2-4pm |
25% |