Cs 703 Advanced Operating Systems Assignments Synonyms

CS 4210 Advanced Operating Systems
CS 8803 GOS Graduate Introduction to Operating Systems

Fall 2009, MWF 11:05-11:55AM, CCB 101

Announcements:Basic Information:
  • Instructor: Ada Gavrilovska, KACB 3228, 404 894 0387
    Office Hours: Mon 10:30-11, Thur 3-3:30, or by appointment
  • TA: Siva Subbiah, siva dot subbiah at gatech.edu
    Office Hours: Mon 2-3pm, Thur 1-2pm, in open area in front of KACB 1201

  • Suggested Textbooks:

  • - Operating Systems Concepts, Silberschatz, Galvin, and Gagne, Seventh or Eighth Edition, John Wiley and Sons (recommended)
    - Modern Operating Systems, 3rd ed, 2007, Andrew Tanenbaum, Prentice Hall
    - Multithreaded Programming with Pthreads, Lewis and Berg, Prentice Hall
    - Pthreads Programming, Nichols, Buttlar, Farrell, O'Reilly
    - Distributed Systems, Tanenbaum and Van Steen, Prentice Hall
  • Syllabus

  • Class Newsgroup:
  • Homework 0 -- no due date, optional
  • Homework 1 -- due Mon., Sep 21st, @11:05am
  • Project 1 -- due Tue. Sep. 29th @11:59pm
  • Homework 2 -- due Fri., Oct. 9th, @11:05am
  • Project 2 -- due Wed., Nov. 4th, @11:59pm (shared memory handouts in t-square)
  • Homework 3 -- due Fri., Nov. 13th, @11:05am
  • Project 3 -- due Tue., Dec. 1st, @11:59pm
  • Homework 4 -- due Fri., Dec. 4th, @11:05am
Lectures (updated as the semester progresses):
Week 1:
OS and Processes Overview
Intro to Threads
Silberschatz and Galvin Chapter 3.1-3.4
Birrell "An Introduction to Programming with Threads"
Silberschatz 4.1-4.2
Week 2:
Multithreading and Treads Design Patterns
Intro to Pthreads
Silberschatz 4.4.1, 4.4.4-4.6, Lewis & Berg Ch. 5
Lewis & Berg Ch.13, Nichols, et al. Ch. 2
Thread creation example, Producer/Consumer example
Project 1 out
Week 3:
Thread library implementation issues:
Kernel vs User-level threads
First Class Threads
Eykholt et al. paper on Multithreading the SunOS kernel
Stein and Shah "lightweight threads" paper
First-class user-level threads paper
Week 4:
SchedulingSilberschatz Ch. 5
Chip Multithreading Systems Need a New Operating System Scheduler (talk slides)
reference: new Linux scheduler
Mon 9/7 - Labor Day
Week 5:
Scheduling cont'd

Deadlocks, Livelocks, and Priority Inversion
Silberschatz Ch. 7
What Really Happened on Mars (reference only)
Week 6:
Advanced Synchronization Constructs: Serializers, Path Expressions, RWLocks, and Semaphores

Spinlocks for SMPs
Silberschatz Chapter 6.1-6.8, Lewis & Berg Ch.6
Bloom's paper

Performance of Spinlock Alternatives for SMPs
Week 7:
Spinlocks cont'd   
Week 8:
OS Structures, Microkernels, Virtualization
Silberschatz 2.7
James E. Smith, Ravi Nair, "The Architecture of Virtual Machines", IEEE Computer (May 2005).
Rosenblum and Garfinkel, "Virtual Machine Monitors: Current Technology and Future Trends," IEEE Computer, May 2005. (IEEE Xplore)
userful slides
Mon 10/5 - Fall Recess
Week 9:

Shared Memory
handoutsDrop date: 10/16
Week 10:
Apache model
CERCS Industry Workshop keynote talks
Flash: an Efficient and Portable Web Server, by Pai et al. See also the talk slides
Tanenbaum and Van Steen 11.1
reference:Why Threads Are a Bad Idea (for most purposes)
Why Events Are a Bad Idea (for high-concurrency servers)
Week 11:
User-level IPC for SMPs
Bershad et al. paper
Implementing Remote Procedure Calls
Sun RPC handouts
Week 12:
Advances in RPC (asynchronous RPC, RMI)
Java RMI
Note on Distributed Computing
A Note on Distributed Computing by Waldo, Wyant, Wollrath, Kendall.
A Distributed Object Model for the Java System
Week 13:
Distributed File Systems
DFS case study: Sprite
Tanenbaum Ch. 10 (2002 edition), Silberschatz and Galvin Ch. 17
The Sprite file system (recommended paper: Caching in the Sprite Distributed File System by Nelson et al.)
Week 14:
Distributed Shared Memory
DSM and memory consistency models
Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2
Week 15:
Large-scale Cluster ServicesLessons from Giant-Scale Services 
Week 16:
Hot Topics in Systems
Week 17:
finals week
Thur. 12/10 FINAL EXAM 8:00-10:00am
Rm. CCB 101 (same as classroom)

Pointers to Technical Information:

Additional Information:


Late work will be accepted with a 10% penalty per business day (no penalty over weekends)


Class attendance is mandatory. Homeworks, assignments, and important dates will be also probably posted on the course web page, but this is provided as a complementary means of communication and is not always complete. Do not miss anything important because you skipped class, did not check your email, or did not look at the coursewebsite on a regular basis.

Office hours are optional. They are your chance to ask the professor and the TAs questions about the material being covered, the programming assignments, etc. There is a lab also, where more practical discussions will take place.

Academic Honesty: Collaboration vs. Cheating

This really should not be an issue, specially for a senior-level, honors course. We use the reasonable person principle: if everyone is reasonable, there is no need for rules.  But to make things as clear as possible the following is necessary. 

You are encouraged to discuss the course material and concepts with other students in the class. However, all work that you submit must be your own. Except for group projects, you may NOT allow anyone else's to code for you or show anyone else your code to help them. You may discuss the concepts used in the programming assignments, you may also discuss clever implementation details of the assignments themselves.

If you are caught copying or otherwise turning in work that is not solely your own, you will fail the course.

The bottom line is that you are expected to conduct yourself as a person of integrity: you are expected to adhere to the highest standards of academic integrity. This means that plagiarism1 in any form is completely unacceptable. As a (soon to be) computing professional, I encourage you to consult the code of ethics appropriate to your discipline2.

Plagiarism will be assumed (until disproved) on work that is very similar or essentially the same as that of other students. This includes identically incorrect, off-the-wall, and highly unusual duplicate answers where the probability of a sheer coincidence is extremely unlikely. All parties to this unacceptable collaboration will receive the same treatment.

You should bring a picture identification with you to all examinations and be prepared to show it upon request.

If you are unsure of what is and is not allowed by this policy, talk to the instructor.

1 pla-gia-rizevt. to steal and pass of as one's own (the ideas or words of another) to present as one's own an idea or product derived from an existing source - pla-gia-riz-ern. (source: Webster's New World Dictionary).
2 The Association for Computing Machinery is http://www.acm.org/, the IEEE is http://www.ieee.org/ and the IEEE Computer Society is http://www.computer.org/.

Getting Answers to your Questions (not necessarily in that order):

Leave a Comment


Your email address will not be published. Required fields are marked *