CS 2510 ─ Computer Operating Systems   Spring 2004

Syllabus

 

Instructor: Dr. José Brustoloni (jcb@cs.pitt.edu)

-- Classes: SENSQ 5129 – M W 4:25 – 5:40 p.m.

-- Office/Lab hours: SENSQ 5129 (after class) – M W 5:40 – 6:00 p.m.

                                   SENSQ 5506 (LCNSI) – MTWHF 1:20 – 2:00 p.m.

TA: Mr. Shuyi Shao (syshao@cs.pitt.edu)       

-- Office/Lab hours: SENSQ 5506 (LCNSI) – M W 2:10 – 4:10 p.m.

 

Goals and objectives:

This is the department’s Core graduate Operating Systems course. Its goals are to prepare students for taking the Operating Systems Preliminary Exam and for doing research or working on advanced development in the systems area.

Students’ specific objectives in this course will be: (1) review the main operating system topics, (2) learn the key principles of distributed systems, (3) gain hands-on experience securing client-server applications, and (4) critique selected classic and contemporary systems papers.

Pre-requisites:

CS 1550 (Operating Systems)

Important dates:

1/16 Add/Drop deadline

1/19 Martin Luther King Birthday – University Closed

2/16 Midterm Exam

3/5 Withdrawal deadline

3/7-14 Spring Break

4/7 Final Exam

4/19 Term Paper due


Textbooks (required):

Andrew Tanenbaum and Maarten van Steen. “Distributed Systems: Principles and Paradigms,” Prentice Hall, 2002.

J. Archer Harris. “Operating Systems,” McGraw-Hill, 2002.

Lectures will cover primarily distributed system topics from Tanenbaum and Steen’s textbook. Homework problems and exams will test both operating system and distributed system concepts, drawing from both textbooks.

 

Topics:

·        Introduction: Hardware, Operating systems, Distributed operating systems, Network operating systems, Middleware, Client-server model

·        Communication: Interprocess communication, Protocols, Remote procedure call, Remote object invocation, Message-oriented communication, Stream-oriented communication

·        Synchronization: Semaphores, Monitors, Deadlock, Clock synchronization, Logical clocks, Election Algorithms, Mutual Exclusion, Distributed Transactions

·        File system management

·        Processes: Scheduling algorithms, Threads, Clients, Servers, Code migration, Software agents

·        Memory management and virtual memory

·        Naming: DNS, X.500, Locating mobile entities, Garbage collection

·        Consistency and Replication: Data- and Client-centric models, Distribution and Consistency  protocols

·        Fault tolerance: Reliable client-server and group communication, Distributed commit, Recovery

·        Security:  Data integrity, message authentication, message replay, message confidentiality, public-key algorithms, digital signatures, key management

·        Selected paradigms: CORBA, DCOM, NFS, WWW, JINI

 

 


Grading:

 

10% Homework and paper presentations and class participation

25% Midterm Exam

25% Final Exam

30% Laboratory Experiments (5, each worth 6%)

10% Term Paper

 

Homework problems testing both operating system and distributed system concepts will be assigned frequently. Students should be prepared to present their solutions to the rest of the class. Although solutions will not themselves be graded, their presentation will be. The instructor will provide the correct solutions in class. Students should make sure they know how to answer all homework problems, in preparation for the exams.

The final exam will emphasize topics not already tested in the midterm exam.

Class participation will be encouraged. Students should read the assigned textbook sections and papers beforehand and be prepared to discuss them in class.

There will be five laboratory experiments. Experiments will be performed in the Laboratory for Computer Network Security Instruction (LCNSI), located in SENSQ 5506. Each experiment will have a pre-test (taken before performing the experiment) and a post-test (taken after performing the experiment). The student’s grade for an experiment will be the average of the scores for the respective (1) turned-in programs or demonstration and (2) post-test (pre-test scores will be disregarded). The first four experiments may be performed remotely. On the other hand, the fifth experiment will require each student to come to the lab for a scheduled demonstration, for at most two hours.

Students will read, critique, and present to the rest of the class select classic systems papers (drawn from the list of required or recommended papers for the department’s Operating Systems Preliminary Exam). 

 

Students will also select some area of current interest in systems research and write and present to the rest of the class a term paper about it. A good term paper will demonstrate that the student understands the objectives, techniques, and shortcomings of current literature on a given topic. A very good term paper will also contain plausible suggestions for overcoming some of the mentioned shortcomings. An excellent term paper will, additionally, provide preliminary results showing that the suggested improvements are indeed viable and advantageous. Resubmission of work already submitted or currently being submitted for credit elsewhere is unacceptable. Term papers may be written by groups of up to two students.

Policies

·        Class attendance is required.

·        You should check daily for course announcements on http://courseweb.pitt.edu

·        All your answers to assignments, tests, and exams must be your own.

·        Do discuss course materials and assignments with other students at a conceptual level, but:

o        do not copy answers from others, and

o        do not allow others to copy your answers.

·        Students caught cheating will fail the course.

·        Late laboratory experiments will be penalized and may not be accepted if too late.

·        Except in case of documented emergency, there will be no make-up tests or exams.

 

 

Students with disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Office of Disability Resources and Services, 216 William Pitt Union, (412) 648-7890/(412) 383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.