Fall<!doctype html public "-//w3c//dtd html 4.0 transitional//en">FallFSpringSSFallF Fall 2014

CSC 1600 – Operating Systems Syllabus




Dr. Mirela Damian, MSC 167A

Phone: (610)519-7414

Office Hours

T   10:00 am – 11:00 am

R   10:00 am – 11:00 am

Course Meets

TR 11:30 am - 12:45 pm in OLDFAL 101


CSC 2400 or ECE 2042


Course Description


This course will teach the way computer systems work from the low level device interrupts up to processes, threads, memory management, file systems and security. One main aspect of this course will be programming projects, which will help you gain valuable practical experience in computer systems. We will spend some class time exploring hands-on learning, so please come to class prepared to write code.


Student Learning Outcomes


1.     Understand the objectives and functions of modern operating system.

2.     Describe and use techniques for achieving concurrency and synchronization.

3.     Explain the workings of a system with virtual memory management.

4.     Understand security risks and protection mechanisms for computer systems.



The textbook for this class is


Avi Silberschatz, Peter Baer Galvin and Greg Gagne

Operating System Concepts, 8/e

Prentice Hall, ISBN 978-0470128725


Other course-related materials will be posted online at


Please make sure you check the class page regularly.

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza, so that everyone can benefit from, and contribute to answers. You can even do so anonymously. Our Piazza class page is at


Course Requirements

  1. Assignments & Quizzes: Assignments will involve both pencil and paper problem solving, and C programming in Unix. Some of the assignments will be done individually, while others will be done in groups. The group assignments will not be collected. Instead, at the beginning of class on the day the assignment is due, you will demonstrate your understanding of the material by individually answering quiz questions similar to those in the assignment.


  1. Two Tests: one before the fall break and one before the Thanksgiving break. There will be no final exam. Tests will be closed books, closed notes. However, you are allowed to bring one sheet of paper, letter size, with any information (on both sides) you think will help you during the exam. Notes may not be shared during the exam.


  1. Class Attendance. Regular attendance is expected of all students. Each student is responsible for all material, announcements, and assignments covered during any class missed.


  1. Late Policy. All assignments are due at the beginning of the class on the due date. No credit will be given to late assignments. Exceptions to this policy will be granted only in extraordinary circumstances.


Tentative Grading Procedure


The following allocation of points is tentative and may change during the semester:


Assignments and Quizzes:




Class Participation:




Academic Integrity


I encourage you to collaborate on assignments and learn from your fellow students. However, there is a fine line between collaboration and cheating. Collaboration means discussing problems and solution approaches with other students and independently writing your own answers; cheating means copying solutions from someone else or giving someone else your solutions. If you have questions about what is acceptable, please bring them to me before submitting your work.


Cheating, plagiarism and helping others commit these acts are all forms of academic dishonesty. The penalty for any act of dishonesty is an F grade for the course. Please consult the Code on Academic Integrity at




Special Arrangements


If anyone has a disability or other problems that warrant the need for special accommodation to complete the course work, please contact me at your earliest convenience.

Tentative Course Schedule


The course schedule below is approximate and subject to change as the semester progresses. It is the responsibility of the student to learn and adjust to changes. Please read chapter material to be covered prior to each session.





Week 1: Aug. 26, 28

Overview of Operating Systems.

Ch. 1, 2, 13

Week 2: Sep. 2, 4

Unix File System. Review of C.

Ch. 10, Notes

Week 3: Sep. 9, 11

Processes (states, context switches).

Process Creation and Execution (fork, exec).

Ch. 3

Week 4: Sep. 16, 18

Week 5: Sep. 23, 25

Introduction to Threads. POSIX Threads.

Ch. 4

Week 6: Sep. 30, Oct. 2

CPU Scheduling.

Ch. 5

Week 7: Oct. 7, 9

Catching up.                                                      

Test 1 on Oct. 9

Oct. 13 – 19

Fall Break – ENJOY !

Week 8:  Oct. 21, 23

Thread Synchronization (critical sections, semaphores). Classical synchronization problems.

Ch. 6

Week 9: Oct. 28, 30

Week 10: Nov. 4, 6


Ch. 7

Week 11: Nov. 11, 13

Memory Management. Segmentation and Paging.

Ch. 8

Week 12: Nov. 18, 20

Virtual Memory.

Ch. 9

Week 13: Nov. 25

Test 2

Nov. 26 – 30

Thanksgiving Recess – ENJOY !

Week 14: Dec. 2, 4

Operating System Security.

Ch. 15

Week 15: Dec. 11

Wrapping up.