Last updated on Sep. 10, 2015


 

CSC 716: Advanced Operating System

Fall 2015

 


Announcements:

Instructor:

Dr. Yumei Huo

Office:   1N-202 
Tel.:   (718) 982-2841
EMail:   huo@mail.csi.cuny.edu
WWW:   http://www.cs.csi.cuny.edu/~yumei/

Schedule:

This course meets for 3 hours per week: two hours of lecture and 1 regularly scheduled conference hour.   Attendance is expected for all class hours.   The conference hour will be used as supplemental independent study.

 
Class hours   Thursday   8:20pm - 10:00pm   Room: 1N111

 

Office Hours:

  Wednesday   12:20pm - 1:20pm
    Thursday   1:0pm - 3:00pm
    or by special appointment    


Contents:

 

Welcome to graduate-level operating systems! This course will cover advanced topics in computer operating systems with a special emphasis on distributed computing, and the services provided by distributed operating systems and real-time operating systems . Topics may include: multithreading, real-time scheduling, synchronization, and concurrency; interaction of concurrent processes;  computer security; protection, remote procedure calls, transactions, shared memory, message passing, and scalability; other selected topics in state-of-the-art operating systems.

 

Prerequisite:  CSC 632 or CSC332 (undergraduate Operating Systems) or equivalent

This course assumes familiarity with basic computer organization (e.g., processors, memory, and I/O devices) and data structures (e.g., stacks and hash tables). You will need to be able to program in C/C++ to perform the assignments in the course.



Textbook:

Operating System Concepts by Silberschatz, Galvin, and Gagne, 9th edition.

Homeworks:
There are four homework assignments. Homeworks will focus on how to use/program with operating system mechanisms.
  • Homework assignments will be assigned during class and also posted on the course Web-page: http://www.cs.csi.cuny.edu/~yumei/csc716/csc716Fall15.html
  • The solution to each homework may include the source code and a report showing the result. The source code must be turned in by email to yumei.huo@csi.cuny.edu. The report can be submitted either per email or be handed in a hard-copy at the beginning of the class. Handwritten or typed report will be accepted. Solutions must be readable(especially handwriting!!!), clear, concise and complete.

Homework 1:  

Project:

There are two projects. The projects has two goals. The first goal is to help you learn more about doing research in general. The second goal is to give you the opportunity to study a particular area of OS in greater detail. Therefore, you are expected to perform a substantial research project; this involves selecting an problem, designing, implementing, and evaluating a solution, and submitting your report. You can work in groups of size up to three for project 2; members of a group will receive the same grade on the project.

For project 2, you are strongly encouraged to select a project from my list of suggestions (but a project of your own devising is possible given sufficient justification). This list will be made available soon. Remember, the best project for you is the one you feel motivated to do. I hope you can learn a lot from this project and get a lot of fun too!
 
List of suggestions:
Grading and Policies:

  • The exams may test on material covered only in class and on material covered only in the reading assignments.

    Your grade will be based approximately, as follows. These percentages are tentative and subject to change.
       20% - Homeworks
    15% - Projects
    15% - Midterm Exam #1
    15% - Midterm Exam #2
    35% - Final

  • Class participation is essential to succeed in this course.
  • DO NOT USE pencils to write down your solutions for the homework, project or exams; if you decide, however, to use a pencil do not complain about grading.
  • Check the marks in a homework, project or an exam and report errors promptly. Make sure you report such problems to the instructor within four weeks from receipt but no later than Dec.11, 2014 . If you believe a grade you received is not representative of your effort talk to the instructor.
  • Homework assignments are due at the start of class on their due date. If you think you won't be present in class on that Monday turn the homework in earlier at instructor's office or by email.
  • No later solutions will be taken into consideration!
  • The work you turn in MUST BE your own personal work, composed and written by you. No plagiarism. Otherwise, you will get the grade of zero for the homework or project.
  • DO NOT OBTAIN YOUR SOLUTION THROUGH THE INTERNET. Or you will get the grade of zero for the homework or project.
  • Collaboration of any kind is NOT allowed in the in-class exams (midterms, and final).

References:

References to some classical books on operating system and c++ programming language will be posted here - these titles will be for your information only - they're not required for the course nor they will be used in any way by the instructor.

1. Advanced Programming in the UNIX?Environment: Second Edition, By W. Richard Stevens, Stephen A. Rago, Publisher: Addison Wesley Professional, ISBN: 0201433089

2. The C++ Programming Language , by Bjarne Stroustrup

3. Modern Operating Systems, 2nd Edition, by Andrew S. Tanenbaum, Prentice Hall. (ISBN 0-13-031358-0)

4. Operating Systems: Internals and Design Principles, fifth edition, by William Stallings, Prentice Hall, 2005, ISBN: 0-13-147954-7.


Links relevant to the course:

1. INFO: Interprocess Communication on Windows Platforms

2. Unix Multi-Process Programming and Inter-Process Communications (IPC)

3. Deadline Monotonic Scheduling Algorithm


Yumei Huo