CS 1550–Intro to Operating Systems

Spring Term: 2164

 

Class

Recitation

Recitation

Time:

11:00–12:15pm

10:00–10:50am

2:00–2:50pm

Days:

TH

F

H

Room:

5502 SENSQ

5502 SENSQ

5505 SENSQ

Webpage:

http://www.cs.pitt.edu/~jmisurda/teaching/cs1550.htm

Contact Information

 

Instructor: Jonathan Misurda

Office:

6203 SENSQ

Email:

jmisurda@cs.pitt.edu

Office Hours:

Mon, Wed: 11:00am–noon
Tue, Thur: 10:00am–11:00am

 

Recitation TA: Daniel Petrov

 

Grading TA: Sudeepthi Manukonda

Office:

6410 SENSQ

 

Office:

TBD

Email:

dpetrov@cs.pitt.edu

 

Email:

sudeepthi@cs.pitt.edu

Office Hours:

Tue, Thu: 09:00am–11:00am

 

Office Hours:

TBA

Description

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.

Prerequisites

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.


Course Purposes and Goals

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:

Textbooks

[Required Text]

A. Silberschatz, P.B. Galvin, and G. Gagne, Operating System Concepts, 9th Edition, John Wiley & Sons, Inc., 2012.

ISBN: 1-11-806333-3

You may substitute instead if you prefer:

Tanenbaum, Andrew S., Modern Operating Systems, Third Edition. Prentice-Hall, Inc., New Jersey, 2008.

ISBN: 0-13-600663-9

Class Policies

Exams:  There will be a midterm and a final. The exams will be closed book/notes. The final exam is Saturday, April 30, 2016, from 2:00 to 3:50pm in the normal classroom.

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.

At the risk of seeming like a Luddite, smart watches will be forbidden on test days. Please keep them someplace out of sight for the duration of the exam

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. LATE WORK IS NOT ACCEPTED. Contact me before the deadline for clarifications.)  These are meant to be your own work; anyone found to be collaborating will be disciplined in accordance to University policy.  Cheating means (but is not limited to): using code from previous terms, other universities, your friends, finding it on the Internet, getting help from unapproved forums, or outsourcing it.

Quizzes:  There will be short, unannounced quizzes primarily given in recitation to make sure you are keeping up with the class material.

Participation:  Attendance will not be taken, but in a small class, any absence will be noticed.  Several unexcused missed classes will adversely affect your grade.

Grading

Your grade will be based upon 2 exams, 4 projects, quizzes (the lowest one of which will be dropped), and participation:

Midterm Exam

20%

Final Exam

20%

Project 1

5%

Project 2

10%

Project 3

10%

Project 4

15%

Quizzes

10%

Participation

10%

Total

100%

 

The scale for the term will be:

Percentage

100

95

90

89

85

80

79

75

70

69

65

60

< 60

Letter

A+

A

A-

B+

B

B-

C+

C

C-

D+

D

D-

F

Disability Resources and Services:

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.

 Academic Integrity

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: 1/7/2016

Readings: Chapters 1,2

Topics:

  • History of OS
  • System Calls

 

Week 2: 1/12/2016 – 1/14/2016

Readings: Chapters 3, 4

Topics:

  • Processes
  • Threads

 

Week 3: 1/19/2016 – 1/21/2016

Readings: Chapters 5, 6

Topics:

  • Scheduling
  • Interprocess Communication

 

Week 4: 1/26/2016 – 1/28/2016

Readings: Chapter 7

Topics:

  • Deadlock avoidance
  • Deadlock prevention

 

Week 5: 2/2/2016 – 2/4/2016

Readings:  Chapter 8

Topics:

  • Memory Management
  • Swapping

 

Week 6: 2/9/2016 – 2/11/2016

Readings: Chapter 9

Topics:

  • VM
  • Page replacement algorithms

 

 

Week 7: 2/16/2016 – 2/18/2016

 

Thursday, February 18, 2016: Midterm Exam

 

Readings: Prepare for the midterm

 

Topics:

  • Finish the discussion of VM
  • Review

 

Week 8: 2/23/2016 – 2/25/2016

Readings:  Chapter 13

Topics:

  • I/O – DMA, Interrupts, Polling

 

 

Week 9: 3/1/2016 – 3/3/2016

Readings: Chapter 10

Topics:

  • Disks
  • RAID
  • Disk Arm Scheduling

 

Spring Break: 3/8/2016 – 3/10/2016

 

Spring Break: No classes

 

Week 10: 3/15/2016 – 3/17/2016

 

Wednesday, March 16, 2016: Withdrawal Deadline (For “W” grade)

 

Readings: Chapter 11

Topics:

  • Files
  • File Systems

 

Week 11: 3/22/2016 – 3/24/2016

Readings: Chapter 12

Topics:

  • File System Implementations
  • FAT vs. i-nodes

 

Week 12: 3/29/2016 – 3/31/2016

Readings:  Chapter 14

Topics:

  • Security
  • Encryption
  • Authentication

 

Week 13: 4/5/2016 – 4/7/2016

Readings: Chapter 15

Topics:

  • Viruses
  • Worms
  • Access Control Lists
  •  

Week 14: 4/12/2016 – 4/14/2016

Readings:  Chapter 16

Topics:

  • Virtual Machines
  • Review for the final exam

 

Week 15: 4/19/2016 – 4/21/2016

Readings:  Chapter 16

Topics:

  • Virtual Machines
  • Review for the final exam

 

Finals Week: 4/21/2016

Readings: Prepare for the final exam

Final Exam:

Saturday, April 30, 2016, from 2:00 to 3:50pm