COP4600 - Operating Systems

Spring 2014

Class description: Operating systems structure. Process management. Process scheduling. Memory Management. Virtual memory. I/O system. Performance Evaluation.
Instructor: Dr. Lotzi Bölöni
Graders: Sidhanth Sheelavanth
Sruthi Chiluka
Office: HEC - 319
Phone: (407) 243-8256 (on last resort)
E-mail: (preferred means of communication)
Web Site:
The assignments and the other announcements will be posted on the course web site
Classroom: BA1 O119
Class Hours: Monday, Wednesday 7:30PM - 8:45PM
Office Hours: Monday, Wednesday 6:00PM - 7:30PM
Pre-requisites: Some programming experience, general familiarity with computer organization and operating systems (as a user).
Textbook: Operating Systems Concepts Essentials, 2011 edition by Abraham Silberschatz, Peter B. Galvin and Greg Gagne
Grading: Homeworks: 25%, Quizzes: 5%
Midterm 1: 20%, Midterm 2: 20%, Final: 30%. Grading formula:
        HW = (HW1 + HW2 + HW3 + ...+ HWn) / n
        Q = (Q1 + ... + Qn) / n
        Overall = 0.25 * HW + 0.05 * Q + 0.2 * M1 + 0.2 * M2 + 0.3 * F
HW2, M2 etc are exactly the number you got, so if you got 112, that is what you put in.
Standard 90/80/70/60 scale will be used for final grades (curved if necessary).
All the exams are open book, open notes.
Sample exams Exams given in Fall 2013
[sample] Midterm 1
[sample] Midterm 2
[sample] Final
Note: the material covered in different exams depends due to different calendar positions of the exam and other factors. Furthermore, while the exams are representative of the style of the problems, you should not expect that the new exams are just variations with different data.
Integrity: All the quizzes, homeworks, and exams are individual work.
The division, college, and University are committed to honesty and integrity in all academic matters. We do not tolerate academic misconduct by students in any form, including cheating, plagiarism and commercial use of academic materials. Please consult the Golden Rule Handbook for the procedures which will be applied.


Lecture Notes, Readings, Homeworks
Jan. 6
Class organization
Introduction: a history of operating systems
[slides] Introduction to operating systems
Jan. 8
-introduction (cont'd)

Jan. 13
Operating system structures
[slides] Operating system structures
[homework] Homework 1
[sample] How to tokenize a string for a shell.
[reading] Fork, exec, system
[reading] Very gentle intro to the Linux command line
[reading] How to compile a C/C++ program from the command line

Jan. 15
-OS structures (cont'd)

Jan. 20
Martin Luther King Jr. day

Jan. 22
[slides] Processes
Jan. 27

Jan. 29

Feb. 3
Threads [slides] Threads

Feb. 5
-threads (cont'd)

Feb. 10
Process synchronization
[slides] Process synchronization
Feb. 12
Processor scheduling
[slides] Processor scheduling
[reading] Josh Aas: Understanding the Linux CPU Scheduler

Feb. 17
-process synchronization (cont'd)
Feb. 19
Midterm exam 1: Introduction and processes

Feb. 24

Feb 26

Mar. 3
Spring break

Mar. 5
Spring break

Mar. 10
Main memory
[slides] Main memory
Mar. 12
-main memory (cont'd)
[homework] Homework 2
[code] Starting code for HW2.
Newest submission deadline: April 16th!!!

Mar. 17
Virtual memory
[slides] Virtual memory
[slides] Additional slides about page replacement algorithms

Mar. 19
-Virtual memory (cont'd)

Mar. 24
File systems
[slides] File systems
Mar. 26
NOTE: New middterm exam date!!!
Midterm exam 2 - Memory

Mar. 31
-file systems (cont'd)

Apr. 2
File system implementation
[slides] File system implementation

Apr. 7

Apr. 9

Apr. 14
Mass storage systems [slides] Mass storage systems

Apr. 16
Homework 2 due (double extended, absolutely final!)
[slides] Protection
Apr. 21
Case study: Microsoft Windows 7 / Windows 8
[slides] Case study: Windows

Wednesday, April 23, 7:00 - 9:50pm
Final exam