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

CSC 1600 – Operating Systems Syllabus




Mirela Damian, MSC 167A

Phone: (610)519-7414

Office Hours

T   1:00 pm – 2:00 pm

W   10:30 am – 11:30 am

For help desk hours in MSC 292, click here.

Teaching Assistant Nawar Molla:  T  3:00 pm – 5:00 pm in MSC 159

Course Meets

TR 11:30  am  -  12:45 pm  in  Mendel Science Center G87


CSC 1300 – Discrete Structures


Course Description


This course will teach the way operating systems work from the low level device interrupts up to processes, threads, memory management, file systems and security. Labs will be interspersed with lectures to enhance students’ experience with the C language and the Unix system.


Student Learning Outcomes


1.       Students will understand the design and implementation of modern operating systems.

2.       Students will establish an understanding of resource management issues, including process scheduling, concurrency, deadlock, memory management, file systems, and security.

3.       Students will be able to design and implement multi-tasking applications in C and Java.

4.       Students will use basic operating system services to create processes communicating with one another.

5.       Students will appreciate the need for security and ethics in computer use.




The textbook for this class is


            Andrew S. Tanenbaum

            Modern Operating Systems, 3/e

            Prentice Hall, ISBN 0-13-600663-9


Other course-related materials will be posted online at


Please make sure you check the class page regularly.

Course Requirements

1.       Assignments: Assignments will involve both pencil and paper problem solving, and 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 have the opportunity to demonstrate your understanding of the material by individually answering questions similar to those in the assignment. These in-class problems will be collected for grading.


2.       Exams: The midterm and the final exam will evaluate how well each student individually has mastered the material. The final exam will be cumulative and will be given during the final exam period. Exams 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. Please note that notes may not be shared during the exam.


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


4.       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 that can be documented. Written excuses (e.g., a note from a doctor) are required.


Tentative Grading Procedure


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


                                    Midterm:                       25%

                                    Final Exam:                   35%

                                    Assignments:                 40%


‘A’ is the highest academic grade possible and one that is reserved for outstanding accomplishment. Earning an ‘A’ indicates that the student has mastered all course material and has shown excellence in assignments consistently throughout the semester. A ‘B’ indicates that the student has mastered most of the course material, but there are some aspects not well understood. A ‘C’ indicates that the student lacks an understanding of some of the important concepts, but is conversant with the basic topics. A ‘D’ indicates that there are serious deficiencies in the student’s grasp of the material, yet the student made an effort to learn. An ‘F’ indicates that the student learned very little and did not make an honest effort to learn. If at any time you are concerned about your grade, please see me and we can talk about it.


Academic Integrity


It is important that each student maintain the highest level of academic integrity in this class. Cheating, plagiarism and helping others commit these acts are all forms of academic dishonesty, and will not be tolerated. 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.





Wk 1: Aug. 25, 27

Overview of Operating Systems.

Ch. 1

Wk 2: Sep. 1, 3

C Programming Review


Wk 3: Sep. 8, 10

Processes (states, context switches, scheduling).

Ch. 2

Wk 4: Sep. 15, 17

Creating and Executing Unix Processes.

Ch. 10

Wk 5: Sep. 22, 24

File Descriptors. IPC mechanisms – Pipes.

Ch. 5

Wk 6: Sep.29

Process Scheduling.

Ch. 2

Wk 7: Oct. 6, 8

Catching up.      Midterm.

Oct. 12 – 18

Fall Break – ENJOY !

Wk 8:  Oct. 20, 22

Basics of Threads. Posix Threads.

Ch. 2

Wk 9: Oct. 27, 29

Critical Sections. Mutual Exclusion Algorithms.

Ch. 2

Wk 10: Nov. 3, 5

Classical Synchronization Problems.  

Ch. 2

Wk 11: Nov. 10, 12

Memory Management. Segmentation and Paging.

Ch. 3

Wk 12: Nov. 17, 19

Virtual Memory.

Ch. 4

Wk 13: Nov. 24

File Systems.


Nov. 25 – 29

Thanksgiving Recess – ENJOY !

Wk 14: Dec.1, 3

Operating System Security.

Ch. 9

Wk 15: Dec. 10

Wrapping up. 

Final Exam Thursday, December 17, 1:30 – 4:00 pm