CPSC450/550 Operating systems II/Distributed Operating Systems Syllabus 1 SYLLABUS CPSC 450/550 OPERATING SYSTEMS II/DISTRIBUTED OPERATING SYSTEMS Department of Physics, Computer Science and engineering Christopher Newport University INSTRUCTOR: Dr. Ming Zhang CONTACT ROOM: GOSNOLD 137, Christopher Newport University, VA 23606 TELEPHONE NUMBER: (757) 594 7563 FAX: (757) 594 7919 EMAIL: mzhang@pcs.cnu.edu URL: www.pcs.cnu.edu/~mzhang; www.DrMingZhang.com 1. Important Notice: We want you to succeed at CNU; therefore I may notify the Academic Advising Center if you seem to be having problems with this course. Someone may contact you to help you determine what help you need to succeed. You will be sent a copy of the referral form. I invite you to see me at any time that I can be of assistance in helping you with the course material. 2. Catalog Description: A study of operating systems with emphasis on distributed systems and intra-system communications. Substantive, additional work in the form of more advanced assignments and projects will be required to distinguish this class from the cross-listed undergraduate course. Topics such as distributed systems, communications in distributed systems, distributed shared memory, distributed concurrency control, distributed objects, distributed process management, distributed file systems, distributed transactions, distributed synchronization, distributed security, and distributed operating system case study are included. 3. Text: George Coulouris, Jean Dollimore, and Tim Kindberg, Distributed Systems, Fourth Edition, Addison-Wesley, 2005, IBSN: 0 321 26354 5 4. Prerequisites: Undergraduate students: CPSC 410. Graduate students: graduate standing within the department. 5. Prerequisites by topic: (1) Operating Systems (2) Process Description and Control (3) Threads, Symmetric Multiprocessing, and Microkernel (4) Concurrency: Mutual Exclusion and Synchronization (5) Concurrency: Deadlock and Starvation (6) Memory Management (7) Uniprocessor Scheduling CPSC450/550 Operating systems II/Distributed Operating Systems Syllabus 2 (8) I/O Management and Disk Scheduling (9) File Management 6. Objectives: (1) To understand the basic principles of distributed operating systems involving communication, synchronization, processes and processors, file systems, shared memory, (2) To develop an understanding of distributed operating systems by studying the implementation of the distributed operating system, such AMOEBA, MACH, and CHORUS. (3) To investigate first hand the implementation of the distributed operating systems by interactive work with the distributed operating system. 7. Topics: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) Distributed systems [1]* System Model [2] Networking and internetworking [3] Interprocess communication [4] Distributed objects and remote invocation [5] Operating system support [6] Security [7] Distributed file systems [8] Name services [9] Peer-to-peer systems [10] Time and global states [11] Coordination and agreement [12] Transactions and concurrency control [13] Distributed transactions [14] Replication [15] Mobile and ubiquitous computing [16] Distributed multimedia systems [17] Distributed shared memory [19] Web services [19] Case study: AMOEBA, CORBA, MACH [20] [1]*: numbers are the chapter numbers in the text. 8. Schedule: Two 75-minute class sessions/week 9. Computer Usage: Computer lab exercises (including several small C/C++ and Java programs to illustrate key system calls plus a series of labs involving the distributed operating system) CPSC450/550 Operating systems II/Distributed Operating Systems Syllabus 3 10. Outcomes: (1) An ability to apply knowledge of mathematics, computer science, and computer engineering (2) An ability to design and conduct experiments, as well as to analyze and interpret data. (3) An ability to design a hardware and software systems to meet desired needs (4) An ability to use the techniques, skills, and engineering design automation tools necessary for effective computer science and engineering practice. 11. Assessment and Examination: Undergraduate Students Exercise/Homework 20% of semester grade (total 20) Test 1 5% of semester grade Test 2 5% of semester grade Test 3 10% of semester grade Technical Essay 20% of semester grade Case Study Not asked Final Exam 40% of semester grade Total 100% Graduate Students 20% of semester grade 5% of semester grade 5% of semester grade 10% of semester grade 10% of semester grade 10% of semester grade 40% of semester grade 100% 12. Grading Scale: Each test, technical essay, final exam and final course grade will be based on 100 points and is intended to have the following scale: A: 93-100; A-: 90-92.9 B+: 86-89.9; B: 83-85.9; B-: 80-82.9 C+: 76-79.9; C: 73-75.9; C-: 70-72.9 D+: 66-69.9; D: 63-65.9; D-: 60-62.9 F: 0-59.9 13. Exercise/Homework: The Exercise/Homework will be assigned in or after class. Total assessment of Exercise/Homework will be 20% of semester grade. Details are: No. 1 2 3 4 5 6 7 8 9 10 11 Exercise/Homework EH01: Distributed Systems EH02: System Models EH03: Networking EH04: Interprocess Communication EH05: Distributed Objects EH06: Operating System Support EH07: Security EH08: Distributed File Systems EH09: Name Services EH10: Peer-To-Peer Systems EH11: Time and Global States Grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade CPSC450/550 Operating systems II/Distributed Operating Systems Syllabus 12 13 14 15 16 17 18 19 20 EH12: Coordination and Agreement EH13A: Concurrency Control EH13B: Concurrency Control EH14: Distributed Transactions EH15: Replication EH16: Mobile Computing EH17: Distributed Multimedia Systems EH18: Distributed Shared Memory EH19: Web Services Total 4 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 1% of semester grade 20 % 14. Makeup: There will be no makeup tests. Only one absence from the tests might be accepted. Excused absences from tests will be assigned the equivalent percentage achieved on the final exam. Unexcused absences will be handled similarly with a penalty of 50%. In order to be excused for missing a test or handing in an assignment late, it is imperative that you alert me to your individual situation as soon as possible. 15. Attendance: You are expected to be in class, on time, each day. Absences should occur only when absolutely necessary and for valid reasons. If you are absent, you are responsible for all material covered in class, class notes, assignments and deadlines. Exercises/Homework and Attendances: The student could be given credit when the student signed the attendance sheet and also submitted the exercise before the deadline. No credit will be assigned if the student only submitted exercise before the deadline but not sign the attendance sheet. And no credit will be assigned if the student only signed the attendance sheet but not submitted exercise before the deadline. CNU will introduce a grade of "UI" (unauthorized incomplete), which “indicates that a student did not participate academically in a course beyond the 60% date in the semester; this is computed in the cumulative GPA in the same manner as an F.” Instructors will be directed to award the grade of UI in this circumstance; whereas the grade of F shall be awarded to a student only if the student participated academically after the 60% date (but failed the course nonetheless). For all purposes except for the handling of financial aid, the effect of a UI upon a student will be equivalent to that of an F. (Note that many instructors give an "I" to a student who really did NOT receive authorization to get an incomplete; the instructor simply did not feel like giving an F.) We will now be able to assert that an F means an "earned" F, ie a grade that is only awarded if a student continues in the class for the duration of the semester (or - at least - beyond the 60% date). After the introduction of the UI, it is anticipated that the number of financial aid students who received all W's and UI's will be considerably smaller than the number of problem students (as defined above) prior to this policy change, thereby leading to a decrease in labor performed by CNU staff, including Financial Aid officers. CNU will continue to pay this CPSC450/550 Operating systems II/Distributed Operating Systems Syllabus 5 money to the government and will strive to extract reimbursement from the student, but it is anticipated that this sum of money will be considerably less than the $50K which CNU repaid to the government during the last academic year. 16. Honor Policy: You are expected to do your own work. You should not directly collaborate on homework or programs. As a reminder, here is the University Honor Pledge. "On my honor, I will maintain the highest possible standards of honesty, integrity and personal responsibility. That means I will not lie, cheat, or steal and as a member of this academic community, I am committed to creating an environment of respect and mutual trust." EVERYTHING YOU TURN IN TO MEET COURSE REQUIREMENTS IN THIS CLASS IS TO BE INDIVIDUAL WORK. 17. Getting Help: It will be easiest for you to obtain assistance from me via email. Please email me your questions if at all possible. You are all welcome to see me in my office hours. 18. Writing Center: Because all writers can benefit from having other writers respond to their work, I strongly encourage you visit the CNU Writing Center. Consultants can help you at any stage of the writing process, from invention, to development of ideas, to polishing a final draft. The Center is not a proofreading service, but consultants can help you to recognize and find grammar and punctuation errors in your work as well as provide assistance with global tasks. The Center is located at RATCLIFFE 110; you can call for an appointment (594-7684) or drop in. Go as early in the writing process as you can, and go often! 19. Disabilities: If you believe that you have a disability, you should make an appointment to see Dr. Kelly B. Cartwright, Associate Provost for Academic Services of Christopher Newport University (757-5947949; kewright@cnu.edu) to discuss your needs. In order to receive an accommodation, your disability must be on record in Disability Support Services, Room 101, McMurran Annex (Telephone: 5948852) 20. Prepared by: Dr. Ming Zhang