Last updated on Feb. 2, 2017


 

CSC 716: Advanced Operating System

Spring 2017

 


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 online/conference hour.   Attendance is expected for all class hours.   The online/conference hour will be used as supplemental independent study.

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

 

Office Hours:

  Tuesday   7:15pm - 8:15pm
    Thursday   12:30pm - 2:30pm
    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:
The homework assignments will be provided for exam preparation. Homeworks will focus on the concepts and algorithms in operating system mechanisms.
  • Homework assignments will be assigned during class.
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.
       10% - Online Research work
    15% - Project I
    25% - Project II
    25% - Midterm Exam #1
    25% - Midterm Exam #2

  • 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 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 May 16, 2017 . 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