COP4610: Principles of Operating Systems

Course Description

COP4610 is an introductory course to operating systems. Operating systems are an essential part of any computer system. Operating systems vary significantly, but their fundamental principles remain the same. In this course you will be introduced to the basic concepts of operating systems, see how they manage resources such as memory, peripherals, and schedule CPU time, learn how to use the system call interface and how to create processes and synchronize them, learn how applications communicate, understand the memory hierarchy and see how virtual memory is managed, understand how files are managed and stored, and much more.


Course Web Site
Professor Robert van Engelen
engelen AT cs DOT fsu DOT edu
office: 471DSL (School of Computational Science at 4th floor in Dirac)
phone: 645-0309.
Office Hours
Tuesday 2:00 PM (subject to change) and by appointment.
COP4530 Data structures
CDA3101 Computer organization
Some working knowledge of the UNIX/Linux programming environment
Proficiency in C or C++.
Room 301 LOV on Mondays, Wednesdays, and Fridays from 1:25 PM to 2:15 PM.
Room 103 LOV on Fridays from 2:30 PM to 3:20 PM.
Course Material
Textbook: Silberschatz, Galvin, and Gagne, Operating System Concepts, 7th Edition, ISBN 0-471-69466-5
Textbook Web site:
Lecture notes: see the course schedule below and the list of lecture notes in the navigation frame on the left
Other material: class handouts.
Teaching Assistant
Vinod Akula
akula AT cs DOT fsu DOT edu
Office: 207LOV
Office hours: Tuesday 2:00 PM to 3:30 PM.
Projects, Assignments, Exams, and Grading
See the grading policy below. You need an account to complete the programming assignments.
The university requires attendance in all classes. Roll will be taken on a random basis to check attendance. Absences can only be excused with proper documentation and students are expected to make up for any material missed due to absences.
Honor Code
All exams and assignments must be completed individually unless stated otherwise. Copying solutions is considered cheating. Submitted source code listings will be compared. Keep a copy of the listings to provide evidence of creative development. Students are expected to uphold the Honor Code. All students involved in cheating are in violation of the Honor code. Consult the Student Handbook for more details on the Honor code.

Grading Policy

The following coursework components contribute to your final grade using the weights shown in the table below:

Projects 40%
Homework assignments 10%
Exam 1 10%
Exam 2 10%
Final exam 30%

There will be four increasingly challenging projects due during this course. You are expected to work in teams of two persons on these projects. Project descriptions can be downloaded from the schedule.

Homework assignments consist of short-answer questions, essays, or problems. The purpose of these assignments is to prepare you for the exams. Homework assignments can be downloaded from the schedule.

For homework and projects, you must include your name and last four digits of your SSN on each submitted item (electronic or on paper) as well as the name and last four digits of the SSN of your team member (for projects only). Note that copying program listings and homework pages from other persons (besides your team member on projects) is illegal and such abuse will not be tolerated. This includes dishonest practices such as programming-for-hire.

The project and homework assignments, when turned in before or at the due date before midnight will be graded. When turned in late, 10% will be deducted from the grade per day late until the homework has been received, with a maximum extension of five days.

The final exam will be comprehensive.

To receive a passing grade for the overall course, you must earn a passing grade on the final exam and a passing grade on the projects and receive a combined passing grade according to the weight distribution shown in the table above.

The letter grade distribution for the final combined grade score (after roundoff) is shown in the table below:

94-100% A 87-89% B+ 77-79% C+ 67-69% D+ 0-59% F
90-93% A- 83-86% B 73-76% C 63-66% D
80-82% B- 70-72% C- 60-62% D-

Your grades for projects, homework, and exams will be accessible via FSU's Blackboard.

Computer Accounts

You will need an account to log on to the Computer Science department machines. If you don’t have one, visit the system info site:

You will also need an ACNS account (i.e., for receiving class emails. If you want, you can forward your garnet email to other accounts (visit for more details).

Schedule, Lecture Notes, and Assignments

The tentative schedule with PPT lecture notes is shown below (refresh this page if necessary). You are encouraged to download and print the notes as handouts to take to class. Links will be active when new notes have been added.

The schedule will be updated when needed and significant changes will be announced on Blackboard.

Project and homework assignments should be downloaded by selecting the link in the "Assignments due" column. Submit your assignments electronically by email to the TA or turn hard copies of homework in before class. Don't forget to write down your name and four last digits of your SSN.

Date Lecture notes Reading material Other useful resources Assignments due
1/9 1. Introduction (by Andy Wang) "The Emperor's Old Clothes" - -
1/11 Class cancelled - - -
1/13 Class cancelled - - -
1/16 MLK Day: no class - - -
1/18 0. Information
1. Introduction
Syllabus and Chapter 1 - -
1/20 2. OS Structures Chapter 2 and Resources - -
1/23 3. Processes Chapter 3 (3.1-3.4) and Processes - Homework 1
1/25 - -
1/27 4. Threads Chapter 4 (4.1-4.4) a. Wikipedia on Pthreads -
1/30 b. Pthreads tutorial -
2/1 5. CPU Scheduling Chapter 5 a. The Linux 2.6 kernel -
2/3 - -
2/6 6. Process Synchronization Chapter 6 (6.1-6.7)
and Synchronization
and class handout
a. The Little Book of Semaphores Homework 2
2/8 - -
2/10 7. Deadlocks Chapter 7 and Deadlocks - Project 1
2/13 - -
2/15 Review Chapters 1 to 7 - Homework 3
2/17 Exam 1 - -
2/20 8. Main Memory Chapter 8 and Memory Allocation - -
2/22 - -
2/24 - -
2/27 9. Virtual Memory Chapter 9 (9.1-9.9) and Virtual Memory - -
3/1 - Homework 4
3/3 - Project 2
3/6-3/10 Spring break: no class - - -
3/13 10. File-System Interface Chapter 10 - -
3/15 - -
3/17 11. File-System Implementation Chapter 11 and File Management - -
3/20 - Homework 4
3/22 Project discussion Chapters 8-11 - -
3/24 Review - -
3/27 Exam 2 - -
3/29 12. Mass-Storage Structure Chapter 12 - -
3/31 - -
4/3 13. I/O Systems Chapter 13 (13.1-13.5) - -
4/5 - -
4/7 16. Distributed System Structures Chapter 16 (16.1-16.7) - Homework 5
4/10 - Project 3
4/12 17. Distributed File Systems Chapter 17 - -
4/14 - -
4/17 18. Distributed Coordination Chapter 18 (18.1-18.4.1) - Homework 6
4/19 Review Chapters 1-13, 16-18 - -
4/21 Review - -
4/25 Final exam 5:30-7:30 PM - - -
4/27 Project 4 due - - Project 4

For more details on university events, see the FSU academic calendar and the final exam schedule.


Students with disabilities needing academic accommodations should: (1) register with and provide documentation to the Student Disability Resource Center, and (2) bring a letter to the instructor indicating the need for accommodations within the first week of class.

This syllabus and other class materials are available in alternative formats on request.

For more information about services available to FSU students with disabilities, please contact:

Student Disability Resource Center
08 Kellum Hall
Florida State University
Tallahassee, FL 32306-4066
Phone: (850) 644-9566

Copyright: Robert van Engelen, Florida State University, 2006.