CSCI 480/580         Principles of Operating System                 Fall 2012

 


Instructor

    Professor Nathalie Japkowicz

    Office: PM 559

    Phone: (815) 753-3846

    E-mail: nat@cs.niu.edu

    Office Hours: Tuesday/Thursdays 11am-12pm

 

TA

  

    Taylor Burnidge

    Office: FR 227

    Phone: (815) 753-0826

    E-mail: z1544918@students.niu.edu

    Office Hours : TBA

Meeting Times and Locations

   

    Time: Tuesday/Thursday: 12:30pm – 1:45pm

    Location: PM 203

Required Material:

      Textbook

Operating System Concepts Essentials

Abraham Silberschatz, Peter Baer Galvin, Greg Gagne

John Wiley & Sons, Inc., 2010

  The course slides and assignments will be available on Blackboard.

 

LINUX Computing Accounts

All students in this class should have LINUX computing accounts on the hosts turing or hopper . Your login name for your LINUX account is your z number (with a lower case 'z'). NOTE: The password on your LINUX account is independent from the password on your standard computer account and must be changed separately.

If you do not have a LINUX computing account, you must create one. Details on how to activate an account on Turing/Hopper can be found on the following web page: http://www.cs.niu.edu/resources/resources.shtml

Course Objectives

Ψ Learn the fundamental principles of operating systems,

Ψ Get exposed to the problems operating systems designers face, explore the tradeoffs and solutions to these problems,

Ψ See how these issues are solved in practice in real operating systems (Unix, Windows, etc.)

Ψ Get a hands-on programming experience (some C, mostly Java) dealing with issues which operating systems must address

 

Course Format

The course will be a mixture of formal lectures and informal demos covering the bulk of the material as well as student presentations covering more advanced topics.

Evaluation

Your final grade will be broken down as:

·         15% ……………………………. Assignments

·         20% ……………………………. Quizzes

·         25% …………………….……… Midterm

·         40% …………………….……… Final exam.

The grading scale used for this course is:

A: 90-100%

B: 80-90%

C: 70-80%

D: 60-70%

F: 0-60%

There is no rounding up to the nearest letter grade.

Note: Graduate Students will only receive 10% of their grade from the quizzes and will have to do a presentation and submit a report on some advanced topics of operating systems of their choice. This presentation and report will account for 10% of their grade.

Quizzes

There will be 5 10-point quizzes during the semester. A missed quiz will receive zero points unless previous arrangements are made with your instructor. Each quiz will be weighed equally.

Midterm Exam

There will be a 100 point midterm exam on October 18, 2012. The review session for the exam will take place on October 16, 2012.

Final Exam

There will be a 100 point final exam. It will be written by your instructor and administered at the date and time listed on the Final Exam Schedule.

Assignments

There will be 3 programming assignments. Programs will be submitted electronically as will be explained in class. 

All assignments are due at the date and time specified. The time a program was submitted is determined by when it is electronically received. Late assignments will be penalized by 15% per day for the first two days that the assignment is late. All assignments submitted more than two days late will receive a grade of 0 for that assignment. Programming assignments that are due the final week of class may not be turned in late - any such assignment submitted after the due date and time will receive 0 points.

Your documentation for each program must contain the following information: your name, Course Number/Section Number, assignment number, and due date. The code must be appropriately commented.

 

Tentative Schedule

 

Week

Week of

Topics

Readings

Quiz/

Exam/

Program

1

Aug 27

Course Organisation; Overview of Computer Systems and Operating Systems

Chapters     1 & 2

2

Sept 3

Processes: Concepts, Process Control Block, Process Scheduling, Operation on Processes,  

Chapter 3: Sec: 1-3

3

Sept 10

Processes (cont’d): Interprocess Communication Cooperation between Processes

Chapter 3: Sec: 4-6

4

Sept 17

Demo 1 (Observing Process behaviour);

Threads: Concepts, Multi-Threading

Chapter 4: Sec: 1-3

Quiz 1

5

Sept 24

Threads (cont’d): Threading Issues and Challenges, Illustrations

Chapter 4: Sect: 4-5

Ass’nt 1

due

6

Oct 1

Demo 2 (Interprocess communication w/ pipes);

CPU Scheduling:  Overview, Algorithms

Chapter 5: Sec: 1-3

Quiz 2

7

Oct 8

Demo 3 (Multi-Threading);

CPU Scheduling (cont’d):  Thread and Multiprocessor Scheduling; Scheduling on Real Systems

Chapter 5: Sec: 4-7

8

Oct 15

Midterm review and Midterm

Midterm

9

Oct 22

Process Synchronization: Concepts, Semaphores, Classic Problems, Real Systems

Chapter 6

Ass’nt 2

due

10

Oct 29

Demo 4 (Semaphores);

Deadlocks: Concepts, Handling, Prevention, Avoidance, Detection, Recovery

Chapter 7

Quiz 3

11

Nov 5

Memory Management: Concepts, Swapping, Paging, Segmentation

Chapter 8

12

Nov 12

Demo 5 (Paging);

Virtual Memory: Concepts, Demand Paging, Page Replacement, Allocation of Page Frames

Chapter 9

Quiz 4

13

Nov 19

File Systems: Concepts, Access Methods, Disk Structure

Thanksgiving Break

Chapters  10 & 11

Ass’nt 3

due

14

Nov 26

Mass Storage Systems: Concepts, Disk Structure, Attachment, Scheduling, Management

I/O Systems: Concepts, Structure, Complexity and Performance of I/O Hardware

Chapters   12 & 13

Quiz 5

15

Dec 3

Graduate Students Presentations

Final Review

16

Dec 10

Finals week

Final