CS 1550 – Intro to Operating Systems
Summer Term: 2107
|
Class |
Recitation |
Time: |
10:30 PM - 12:15 PM |
12:30 PM - 1:20 PM |
Days: |
MW |
W |
Room: |
5502 Sennott Sq. |
5502 Sennott Sq. |
Webpage: |
Instructor: Jonathan Misurda |
|
Office: |
6213 SENSQ |
Email: |
|
Office Hours: |
TBA |
TA: Jarrett Billingsley |
|
TA: Wen Xu |
||
Office: |
6150 Sennott Sq. |
|
Office: |
6512 Sennott Sq. |
Email: |
|
Email: |
||
Office Hours: |
TBA |
|
Office Hours: |
TBA |
Modern computer software can run without specific knowledge of the underlying components of the physical machine. For instance, a program such as Microsoft Word can run on computers with varying amounts of RAM and can print a document without needing to know the make and model of the target printer. Physical resources such as memory and peripheral hardware are managed by the computer’s Operating System software. This course examines the abstractions that an Operating System provides to user-level software, and how to most efficiently allocate resources between competing programs. Specifically, we will examine how to share and manage the CPU, memory, persistent storage, I/O devices, and communications.
Successful completion of CS 0447 – Computer Organization and Assembly Language and CS 0449 – Introduction to Systems Programming is required to enroll in CS 1550. Exemptions to the prerequisites are rarely given. If you have any questions about the prerequisite material for the course, please ask at the beginning of the term.
This course is intended to introduce the fundamental concepts that modern operating systems use to manage the physical computer. Beyond the concepts introduced in lecture, course projects will take one such operating system, Linux, and examine source code. Students will be asked to implement additional features into the core of the operating system, known as the kernel.
By the end of the course, students will be able to:
Tanenbaum, Andrew S., Modern Operating Systems, Third Edition. Prentice-Hall, Inc., New Jersey, 2008.
ISBN: 0-13-600663-9
Exams: There will be a midterm and a final. Both will be given during class time. The exams will be closed book/notes.
Cheating on exams will not be tolerated. Anyone caught cheating will be given a zero for the test and reported to the department following University procedures.
Projects: There will be four out-of-class assignments given. These are to be completed in the given time (no extensions will be given without a valid excuse.) These are meant to be your own work; anyone found to be collaborating will be subject to University procedures including, but not limited to, receiving a zero on the assignment or the course. Collaborating also means using code from previous terms, other universities, your friends, or finding it on the internet.
Quizzes: There will be short, unannounced quizzes to make sure you are keeping up with the class material.
Participation: Attendance will not be taken, but in such a small class, any absence will be noticed. Several unexcused missed classes will adversely affect your grade.
Your grade will be based upon 2 exams, 3 projects, quizzes (the lowest one of which will be dropped), and participation:
Midterm Exam |
25% |
Final Exam |
25% |
Project 1 |
5% |
Project 2 |
10% |
Project 3 |
15% |
Quizzes |
10% |
Participation |
10% |
Total |
100% |
The scale for the term will be:
Percentage |
Letter |
100 |
A+ |
95 |
A |
90 |
A- |
89 |
B+ |
85 |
B |
80 |
B- |
79 |
C+ |
75 |
C |
70 |
C- |
69 |
D+ |
65 |
D |
60 |
D- |
less than 60 |
F |
If you have a disability for which you are requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890, as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.
Students are expected to comply with the University of Pittsburgh’s Policy on Academic Integrity. Any student suspected of violating this obligation for any reason during the semester will be required to participate in the procedural process as outlined in the University Guidelines on Academic Integrity. For further information see: http://www.pitt.edu/~provost/ai1.html
Term Schedule The daily topics are subject to change depending on our pace. They are there to assist you in the readings so you can focus on those concepts prior to class.
Week 1: 5/10/2010 - 5/12/2010 |
Readings for this week: Chapter 1
Topics: · History of OS · System Calls
|
Week 2: 5/17/2010 - 5/19/2010 |
Readings for this week: Chapter 2
Monday, May 17: Add/Drop Ends
Topics: · Processes and Threads
|
Week 3: 5/24/2010 - 5/26/2010 |
Readings for this week: Chapter 3
Topics: · Scheduling · Deadlock avoidance and prevention
|
Week 4: 5/31/2010 - 6/2/2010 |
Readings for this week: 4.1 – 4.3
Monday, May 31: Memorial Day (University Closed)
Topics: · Memory Management · Swapping
|
Week 5: 6/7/2010 - 6/9/2010 |
Readings for this week: Remainder of Chapter 4
Topics: · VM · Page replacement algorithms · Review for midterm
|
Week 6: 6/14/2010 - 6/16/2010 |
Readings for this week: Prepare for the midterm
Wednesday, June 16: Midterm Exam
Topics: · Finish the discussion of VM
|
Week 7: 6/21/2010 - 6/23/2010 |
Readings for this week: Chapter 5
Topics: · I/O – DMA, Interrupts, Polling · Disks
|
Week 8: 6/28/2010 - 6/30/2010 |
Readings for this week: Chapter 5 continued
Monday, July 2: Monitored Withdrawal Deadline
Topics: · Clocks · Terminals/GUIs · Power Management
|
Week 9: 7/5/2010 - 7/7/2010 |
Readings for this week: Chapter 6
Monday, July 5: Independence Day Observed (University Closed)
Topics: · Files · File Systems
|
Week 10: 7/12/2010 - 7/14/2010 |
Readings for this week: 10.6
Topics: · File System Implementations · FAT vs. i-nodes
|
Week 11: 7/19/2010 - 7/21/2010 |
Readings for this week: Chapter 9
Topics: · Security
|
Week 12: 7/26/2010 - 7/28/2010 |
Readings for this week: Prepare for the final exam
Wednesday, July 28: Final Exam
Topics: Review for the final exam
|