Syllabus   Blank Homework  
Notes   Labs   Scores   Blank

Instructors : Dr. Tong Lai Yu

Objectives : This course is intended for a second course on operating systems and to provide a basic foundation in the design of advanced operating systems. It stresses on various alternative approaches to the solution of problems encountered in designing process.

Text : A.s. Tanenbaum, Distributed Systems: Principles and Paradigms, Second Edition, Prentice Hall, 2007.

Suggested References :

  1. M. Singhal and N.G. Shivaratri, Advanced Concepts in Operating Systems, McGraw-Hill, 1994.
  2. A.S. Tanenbaum, Modern Operating Systems, Prentice Hall, 3rd Edition, 2008.
  3. A.S. Tanenbaum, Distributed Operating Systems, Prentice Hall, 1995.
  4. Silberschatz and Galvin, Operating System Concepts, latest edition, Addison-Wesley Publishing Company.
  5. Deitel, Deitel, and Choffnes, Operating Systems, 3rd Edition, PEARSON Prentice Hall, 2004.
Office : JB-346    phone : (909)-537-5334

Office Hours : Mon, Wed : 2:15 pm - 4:15 pm

Grading :

Labs -- 18%, Homework -- 22%, Mid Term -- 25%, Final Exam -- 35%

Grade Requirements :

    91 - 100 % A, A-     81 - 90 % B+, B, B-     71 - 80 % C+, C, C-
    61 - 70 % D+, D, D-     <= 60 % F

Study Policy :

    Students are expected to do the labs and homeworks as assigned. They should attend all the lectures and study all assigned readings. Students should come to ask the instructor for help or suggestions if they encounter any difficulties or doubts in their work. Discussions with fellow classmates are encouraged but lab or homework-copying is strictly forbidden. All work must be turned in on time. No late work will be accepted unless the student can provide acceptable compelling reasons with appropriate documentation. Also, do NOT turn in any lab or homework by email.
Illness :
    A student is responsible for contacting the lecture instructor as soon as possible for providing a satisfactory explanation for missing a scheduled exam or work due to illness or other serious and compelling reasons; documented evidence is required. Otherwise, missed exams or work will be counted as 0%.
Support for Student with Disabilities:
    If you are in need of an accommodation for a disability in order to participate in this class, please contact Services to Students with Disabilities at UH-183, (909)537-5238.
Plagiarism and Cheating:
    Students are expected to be familiar with the University's Policy on cheating and Plagiarism. Instances of academic dishonesty will not be tolerated. Cheating on exams or plagiarism (presenting the work of another as your own, or the use of another person's ideas without giving proper credit) will result in a failing grade and sanctions by the University. For this class, all assignments are to be completed by the individual student unless otherwise specified.

Outline of course:

0. Review and Overview processes and threads, semaphores, monitors, serializer, process synchronization, deadlocks
1. An Introduction to Distributed Systems client-server computing, message-passing, remote procedure call ( RPC )
2. Deadlocks graph model, knot, banker's algorithm
3. Distribution Systems Architecture centralized and decentralized architectures, mideleware
4. Processes threads, processes, virtualization client server model, code migration
5. Communication layered protocols, types of communication, RPC, message-oriented communication, stream-oriented communication
6. Distributed OS Theories shared resources, global clock, Lamport's Logical clocks, vector clocks, causual ordering of messages
7. Distributed Mutual Exclusion election algorithms, various mutual exclusion algorithms, token-based and non-token-based algorithms
8. Agreement protocols system model, Byzantine agreement problem, agreement algorithms
9. Distributed File Systems and Shared Resources distributed file systems principles, case studies, replications, virtual memories, security issues
10. Distributed Scheduling load sharing and balancing, load distribution algorithms, load scheduler
11. Recovery backward and forward recovery, check points
12. Fault Tolerance commit protocols, voting protocols
13. Protection and Security policies, access control, cryptography, public keys
14. Multiprocessor and other advanced operating systems multiprocessor systems, design issues, database operating systems, concurrency control