Course Content Guide
Advanced Operating Systems
CIS 720 – Fall 2012

Instructors:

Dr. Gurdip Singh gurdip@ksu.edu

Office Hours:

Virg Wallentine virg@ksu.edu                
532-7365
Nichols Hall Room 316c
Office Hours: Wednesday 1:30-2:30PM and by appointment via email

GTA:

Office Hours:

 

Class Meeting Time and Place: 

Tuesday/Thursday 1:05 - 2:20

 Room 236  Nichols Hall

 Statement Regarding Academic Honesty

Kansas State University has an Honor System based on personal integrity, which is presumed to be sufficient assurance that, in academic matters, one's work is performed honestly and without unauthorized assistance. Undergraduate and graduate students, by registration, acknowledge the jurisdiction of the Honor System. The policies and procedures of the Honor System apply to all full and part-time students enrolled in undergraduate and graduate courses on-campus, off-campus, and via distance learning. The honor system website can be reached via the following URL: www.ksu.edu/honor . A component vital to the Honor System is the inclusion of the Honor Pledge which applies to all assignments, examinations, or other course work undertaken by students. The Honor Pledge is implied, whether or not it is stated: "On my honor, as a student, I have neither given nor received unauthorized aid on this academic work." A grade of XF can result from a breach of academic honesty. The F indicates failure in the course; the X indicates the reason is an Honor Pledge violation.

Statements for Academic Accommodations for Students with Disabilities*

"Any student with a disability who needs a classroom accommodation, access to technology or other assistance in this course should contact Disability Support Services and/or the instructor."
or
"Any student with a disability who needs an accommodation or other assistance in this course should make an appointment to speak with me as soon as possible."


* Faculty members who have a student with a disability in their class will want to contact the office of Disability Support Services (DSS) office on our campus. DSS will help faculty provide academic accommodations for students with documented disabilities. Students with disabilities include those having mobility impairments, visual and hearing impairments, chronic health conditions, learning disabilities and attention deficit disorder. DSS is located in Holton Hall 202. The Director, Andrea Blair, can be contacted at 532-6441.


Statement Defining Expectations for Classroom Conduct

All student activities in the University, including this course, are governed by the Student Judicial Conduct Code as outlined in the Student Governing Association By Laws, Article VI, Section 3, number 2. Students who engage in behavior that disrupts the learning environment may be asked to leave the class.

Prerequisites by Topic:

·        Basic process and thread models

·        Semaphores, monitors, and synchronous/asynchronous message passing

·        Knowledge of C++ and Java

·        Programming logic

Catalog Description:

Architecture, design, modeling, implementation, and verification of concurrent, parallel, and distributed software

Textbook: (recommended)

Foundations of Multithreaded, Parallel, and Distributed Programming, by Greg Andrews, Addison-Wesley/Prentice-Hall, 2000.

 

Supplementary Reference Material:

 

Programming Languages and Synchronization Tools:

 

Java: http://java.sun.com/docs/books/tutorial/

Java Concurrent Utilities: http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/package-summary.html

Posix: https://computing.llnl.gov/tutorials/pthreads/

C# Concurrency: http://research.microsoft.com/~birrell/papers/ThreadsCSharp.pdf

 

 

Message-Oriented Middleware (MOM):

 

Java Message System (JMS): http://java.sun.com/products/jms/tutorial/

Message Passing Interface (MPI): https://computing.llnl.gov/tutorials/mpi/

Javaspaces: http://java.sun.com/developer/technicalArticles/tools/JavaSpaces/

 

Model-checking Tools:

 

Promela/SPIN: http://spinroot.com/spin/Man/Manual.html

JPF: http://javapathfinder.sourceforge.net/ and http://ti.arc.nasa.gov/people/wvisser/jpf/

 

 

Course Content:

·         Programming shared memory operating systems

o   Model-based design, verification, implementation, and testing

o   Multi-threaded programming

o   Operating System kernel implementations

·         Distributed Operating Systems

o   Message passing systems

o   Replication and fault tolerance

o   Distributed shared memory

o   Concurrency control

 

Evaluation:

Assigned homework (10%)

Programming assignments (30%)

Midterm (30%)

Final (30%)

Educational Objectives and Approach to Learning:

The objectives of this course are:

Knowledge and Skills Acquired:

·         Mastery of:

o   Formal methods to develop concurrent programs

o   Patterns of synchronization problems

o   Application of formal methods in actual programming of synchronization problems

·         Familiarity with:

o   Verification of concurrent programs using a model checker

o   Synchronization of parallel computations

The approach to learning in this class is:

Lecture Schedule: (on the website)

This URL points to the actual lecture schedule. Note that the lecture notes for entire course seem to be at this site; however, computing science is a rapidly changing discipline and notes after the current lecture may change.