COP4600 - Operating Systems

Fall 2012

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: Gunavardhan Darimidi
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: Classroom Building 1 - Room CL 320
Class Hours: Tuesday, Thursday 1:30 - 2:45
Office Hours: Tuesday, Thursday 9:30 - 11:00
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.
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
Aug. 21
Class organization
Introduction: a history of operating systems
[slides] Introduction to operating systems
Aug. 23
-introduction (cont'd)

Aug. 28
Operating system structures
[slides] Operating system structures
Aug. 30
-OS structures (cont'd)

Sept. 4
[slides] Processes
Sept. 6
-processes (cont'd)

Sept. 11 Threads
[slides] Threads
Sept. 13
Processor scheduling
[slides] Processor scheduling
Sept. 18
Process synchronization
[slides] Process synchronization
Homework 1
[sample] How to tokenize a string for a shell.
[reading] Fork, exec, system
Sept. 20
-process synchronization (cont'd)

Sept. 25
Review for midterm exam

Sept. 27
Midterm exam 1: Introduction and processes

Oct. 2
Main memory
[slides] Main memory
Oct. 4
Homecoming day - no class

Oct. 9
-main memory (cont'd)
Homework 1 due (extended). Submit the homework by emailing it to Gunavardhan Darimidi with subject "COP 4600 HW1".
Oct. 11
Virtual memory
[slides] Virtual memory
Oct. 16
-Virtual memory (cont'd)

Oct. 18
File systems
[slides] File systems
Oct. 23
-file systems (cont'd)
Homework 2 - due November 15
Programming assignment README file
Programming assignment starting files
Submit the homework by emailing the zipped files to Gunavardhan Darimidi with subject "COP 4600 HW2"

Oct. 25
File system implementation
[slides] File system implementation
Oct. 30
Mass storage systems
[slides] Mass storage systems
Nov. 1
-mass storage systems, cont'd

Nov. 6
Midterm exam 2 - Memory and storage

Nov. 1
[slides] Protection
Nov. 13
-protection (cont'd)

Nov. 15
Case study: Microsoft Windows 7 / Windows 8
[slides] Case study: Windows
Nov. 20
Case study: Linux
[slides] Case study: Linux
Nov. 22
Thanksgiving Homework 2 due. Submit the homework by emailing it to Gunavardhan Darimidi with subject "COP 4600 HW2".

Nov. 27
Case study: Android OS
[presentation] David Conway on Android

Nov. 29
Review for the final exam

Tuesday, December 11, 1:00 - 3:50pm
Final exam