COP 4600: Operating Systems
Fall 2011

TR 12:30pm-01:45pm, SOC154



Professor:                      Anda Iamnitchi

Office Hours:                 M Tu 2:30-4pm
                                        or by email appointment
Office:                             ENB 334
Email:                             anda at cse usf edu

Teaching Assistants:     Matt Shreve and Matt Morrison
Office:                             ENB 325/ENB 220 (Linux Lab)
Office Hours/Tutorial:    M Tu W  10am-12pm
                                        W 3-5pm
Email:                             {mshreve, mamorris} at mail usf edu
Textbook cover Textbook:

Operating Systems: Internals and Design Principles (7th Edition)

William Stallings

Publisher: Prentice Hall; 7th edition

announcements
syllabus schedule projects
handouts/tutorials

Announcements


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.

Syllabus

Workload. This is a demanding course. There are two programming projects, almost weekly problem assignments, three midterm exams and one optional final exam. All exams are in-class and closed books.

Topics. The course covers the following primary topic areas (discussed in the first 12 chapters of the textbook).

top


Working Schedule

Dates
Topics
Reading
Notes Assignments
Important Dates
08/23
Introduction. OS Overview. Computer System Overview
Ch. 1-1.4
[ppt] [pdf]


08/25
Computer System Overview. OS Overview
Ch  1.5-2.4
[ppt] [pdf]
HW1

08/30
OS Overview
Ch. 2-2.1
[ppt] [pdf]


09/01
Virtual Machines Ch. 2.3-2.11 [ppt] [pdf] HW2
HW1 due
09/06
Contemporary OS, Processes Ch. 3-3.2
[ppt] [pdf]
Project 1
09/08
Process States

[ppt] [pdf]


09/13
Forking in Unix

[ppt] [pdf]
HW3

09/15
Threads
Ch. 4
[ppt] [pdf]
HW4

09/20
Concurrency
Ch. 5-5.3
[ppt] [pdf]

HW3, HW4 due
09/22
Sempahores. Producer-Consumer Problem

[ppt] [pdf]


09/27
Barber shop. Short review.
Ch. 5.6
[ppt] [pdf]
HW5

09/29
Exam 1
10/04
Monitors. Message passing. Readers-Writers. Ch. 5.4-5.5
[ppt] [pdf]


10/06
Deadlock and Starvation
Ch. 6-6.3
[ppt] [pdf]


10/11
Deadlock Detection. Dining Philosophers.
Ch. 6.4-6.6
[ppt] [pdf]

HW5 due
10/13
Dining Philosophers. Uniprocessor Scheduling
Ch. 9-9.2
[ppt] [pdf]
HW6

10/18
Uniprocessor Scheduling
[ppt] [pdf]

HW6 due
10/20
Uniprocessor Scheduling
[above]
HW7
Project 1 due
10/25
Real Time Scheduling Ch. 10.2-10.6 [ppt] [pdf] Project 2
10/27
Exam 2
11/01
Memory Management
Ch. 7-7.2
[ppt] [pdf]


11/03
Paging. Segmentation.
Ch. 7.3-7.5
[ppt] [pdf]
HW8

11/08
Virtual Memory
Ch. 8
[ppt] [pdf]


11/10
Virtual Memory (cont)

[ppt] [pdf]


11/15
Disk Scheduling. RAID.
Ch 11.5, 11.6
[ppt] [pdf]


11/17
File Management
Ch 12.1, 12.4
[ppt] [pdf]


11/22
File Management Ch 12.6, 12.7
[ppt] [pdf]


11/29
All Things Answered



Project 2 due
12/01
Exam 3
12/08
10am
Final Exam (cummulative, optional)


top



Projects

There will be two 6-week programming assignments in C:
1)      A UNIX shell program
2)      A dispatcher

top

Handouts/Tutorials

In the first couple of weeks there will be tutorials given in the Linux Lab (a.k.a C4 Lab) in ENB 220 during TAs' office hours. The tutorials will get you comfortable with the Linux environment for which you will develop your projects. Tutorials are optional but you will find them extremelly time saving.

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

Linux system calls

Web site companion for the textbook: http://williamstallings.com/OS/OS7e-student.html

top

Adriana Iamnitchi (anda at cse usf edu)