COP 4600: Operating Systems
Fall 2008

Professor: Adriana Iamnitchi (Anda)
Class time and location: MW 3:05pm-4:20pm, CPR127

Office Hours: MW 1-2:30pm or by email appointment
Office: ENB 334
Email: anda at cse usf edu

Teaching Assistant: Paul Anderson
Office Hours: MW 12:00-1:00pm in ENB 327
Tutorials: M 5:30-6:30pm and W 1:30-2:30 pm in ENB 220 (Linux/C4 Lab) (approx. every other week)
Email: paanders at mail usf edu
View Larger Cover Image Textbook:
Operating Systems Design and Implementation,
3rd Edition

Andrew S Tanenbaum
Albert S Woodhull

Publisher: Prentice Hall
Year: 2006
ISBN 0-13-142938-8

announcements
syllabus schedule projects
handouts/tutorials

Announcements

UNIX accounts:
Your CSE Unix accounts are ready. You need to pick up your account information from Daniel Prieto in ENB 225 on Friday, 08/29 between 9 and 11am or Tuesday (09/02) and Wednesday (09/03) between 9am and 4pm. You must pick up your account information in person and have your USF student ID card with you for identification.

Tutorials: Mondays 5:30pm-6:30pm and Wednesdays 1:30pm-2:30pm. The first tutorial will take place during the first week of September.
Overview

This is an introductory undergraduate course in operating systems, emphasizing the core operating system concepts of processes and threads, concurrency and synchronizations, file systems, and virtual memory.

Workload. This is a demanding course. There are three required projects, two  midterm tests, and one final exam after classes end. All exams are in-class, cumulative and closed books. In addition to the projects, there will be optional problem sets that will not be graded. However, about half of the exam questions are drawn from the problem sets.

Topics. The course covers five primary topic areas.

Syllabus

Policy on collaboration and academic integrity for COP 4600. I encourage collaboration on ungraded problem sets. Everything you turn in for this class must be your own work, unless explicitly specified otherwise.  Material copied from the Web and submitted as your work is cheating. If you are caught cheating, you will receive an FF grade for the class. Please see the University's Undergraduate Catalog regarding these policies at http://www.ugs.usf.edu/catalogs/0405/adadap.htm .

Other Course Policies: We will be observing all university policies regarding religious holidays and disability policies. Any student with a disability is encouraged to meet with me privately during the first week of class to discuss accommodations. Each student must bring a current Memorandum of Accommodations from the Office of Student Disability Services that is prerequisite for receiving accommodations. Accommodated examinations through the Office of Student Disability Services require two weeks notice. All course documents are available in alternate format if requested in the student's Memorandum of Accommodations. For any special accommodations, please see me during the first week of classes. For information regarding religious holidays, please see http://isis.fastmail.usf.edu/usfgc/gc_pp/acadaf/gc10-045.htm.

Please make sure that you turn off your cellular phones, iPods, walkie-talkies and other such cool gadgets during all classes (lectures and examinations).

top


Working Schedule

Dates
Topics
Reading
Notes Assignments
Important Dates
08/25
Introduction. OS Concepts
lec01.ppt


08/27
System Calls. The Shell 1.1-1.3 lec02.ppt
Assignment 1 posted on BB

09/03
Processes

lec03.ppt


09/08
Threads.

lec04.ppt


09/10
Scheduling.
2.1
lec05.ppt

Assignment 1 due at 11:59pm
09/15
Scheduling. Intro to IPC
2.4
lec06.ppt


09/17
Inter-Process Communication

lec07.ppt

Assignment 2 due at 11:59pm
09/22
The Cube (Paul)




09/24
Semaphores (cont)

lec09.ppt


09/29
Classical IPC Problems

lec10.ppt


10/01
Classical IPC Problems

lec11.ppt


10/06
Review for Test I




10/08
Test I
10/13
Fun with Distributed Systems (1)

rsc1.ppt


10/15
Deadlock. Banker's Algorithm
3.3
lect12.ppt


10/20
Memory Management
4.1-4.2
lec13.ppt


10/22
Virtual Memory (1)
4.3
lect14.ppt


10/27
Virtual Memory (2)

lec15.ppt


10/29
Page Replacement Algorithms
4.4
lec16.ppt


11/03
Design Issues
4.5
lec17.ppt


11/05
In-class problem solving




11/10
Segmentation. Review for Test II
4.6 lec18.ppt

Assignment 4 due 11/16 at 11:59pm
11/12
Test II
11/17
Fun with Distributed Systems (2)

rsc2.ppt


11/19
Disk scheduling algorithms
3.7
lec19.ppt


11/24
File Systems
5.1-5.3
lec20.ppt


11/26
No class
12/01
Disk management
5.3
lec21.ppt


12/03
Review for Final Exam




12/12
Final Exam

top



Projects

There will be 5 programming assignments in C:
1) A program that uses system calls, due Sunday, 09/07, 11:59pm
2) A multi-threaded project that computes Fibonacci numbers, due Sunday, 09/14, 11:59pm
3) A multi-threaded project that makes use of synchronization and IPC primitives, due Sunday, 10/05, 11:59pm
4) A memory-management project, due Sunday, 11/09, 11:59pm
5) A UNIX shell program that implements redirection and pipes and has simple signal handling, due Sunday, 11/30, 11:59pm

top

Handouts/Tutorials

All tutorials take place in the Linux Lab (a.k.a C4 Lab) in ENB 220 at times to be decided.

Practice problems, tutorials, code examples, etc.will be posted on BlackBoard.

top

Adriana Iamnitchi (anda at cse usf edu)