CS4411 Operating Systems
Course Information Page
Spring 2019

Course Instructor    Dr. C.-K. Shene
Office Rekhi 305
Class Meeting Tuesday and Thursday 3:35 - 4:50pm
Classroom Fisher 329
Office Hour Monday, Tuesday, Wednesday and Thursday 3:00 - 3:30pm
Phone (906) 487-3392
e-mail shene@mtu.edu


Click here to see the most recent announcements (May 8, 2019)
Click here to see the most recent OS/161 FAQ (March 31, 2019)
Click here for the most recent grade posting (April 24, 2019)

Catalog Description

Principles of the design and implementation of operating systems. Topics include: process management, process scheduling, memory management, I/O, file systems. Includes a significant implementation component.

Course Credits, etc.

Credits: 3.0, Lec-Rec-Lab: (0-3-0), Semesters Offered: Spring

Course Prerequisites

CS3331 Concurrent Computing and CS3421 Computer Organization

Course Objectives and Learning Outcomes

  1. How does the operating system control executing processes so that a misbehaved process cannot interfere with other executing processes by, for example, monopolizing the CPU, overwriting the memory of another process, or performing improper writes to system configuration flies, like the password file?
  2. How do operating systems typically choose a process to execute and schedule processes according to various performance criteria? What are relevant performance criteria?
  3. Can a program that is larger than memory be run? How large can a program be?
  4. How can processes communicate outside the file system and why is it important that processes have this ability?
  5. How do file systems reliably store and manage data on the hard disk? How do file system characteristics affect system performance?
  6. Must compromise of a root-owned process put all system resources at risk? Is it possible to prevent a privileged process (e.g., owned by root) from accessing any system resource?

Topics Covered

  1. Introduction to Operating Systems
  2. Kernel Abstraction
  3. Programming Interface
  4. Concurrency and Threads
  5. Synchronized Access to Objects
  6. Scheduling
  7. Address translation
  8. Caching and Virtual Memory
  9. Storage Device
  10. File Systems

Textbook

The required course text is Operating Systems: Principles and Practice, Second Edition, 2015, by Thomas Anderson and Michael Dahlin.

Other Useful Material

Slides used in class can be found in the common directory /classes/cs4411.ck/common or /local/classes/cs4411.ck/common or /mtu/classes/cs4411.ck/common. Check the /classes/cs3331.ck/common directory or this page frequently for new slides and other available stuffs.

Meeting Time and Office Hours


Monday Tuesday Wednesday Thursday Friday
13:05 - 13:55
Dept. Meeting
TPR Meeting
14:05-14:55 CS3331
Chemical Sciences 102

CS3331
Chemical Sciences 102

CS3331
Chemical Sciences 102
15:05-15:30 Office Hour
Rekhi 305

Office Hour
Rekhi 305

Office Hour
Rekhi 305

Office Hour
Rekhi 305

Department
Seminar
15:35-16:00
CS4411
Fisher 329


CS4411
Fisher 329
16:05-16:50


After class and e-mail discussions are welcome

Course Syllabus


Course Topics and Reading
Week Topic Chapter Sections
1 Introduction to Operating Systems 1 All
2 Kernel Abstraction 2 1-9, 11
3, 4 Programming Interface 3 1-2, 4-6
5 Concurrency and Threads 4 1-5 (review as necessary)
6-10
6 Synchronized Access to Objects 5, 6 1-3 (review as necessary)
4-9
7, 8 Scheduling 7 All
8, 9 Address Translation 8 All
10, 11 Caching and Virtual Memory 9 All
12, 13 Storage Devices 12 All
13, 14 File Systems 11, 13 All

Important Dates

The following is a list of important dates. The exam dates are fixed and will not change; however, programming assignment due dates may be modified based on the course pace. Changes will be announced in class and on the info page.

Week 5 February 11 Monday 11pm Program 1 due
Week 7 February 28 Thursday in class Exam 1 (50 min)
Week 10 March 29 Friday 11pm Program 2 due
Week 11 April 4 Thursday in class Exam 2 (50 min)
Week 14 April 26 Friday 11pm Program 3 due
Final Week May 2 Thursday 3:00 - 5:00pm Final (2 hours)
Fisher 329
Date/Time changes will be announced in class.
Usually, I will follow the schedule shown above.

Weights Assigned to Programs

We will have maximum three programming assignments.

Program 1 Program 2 Program 3
100 100 100

Weights Assigned to Exams

Exam 1 Exam 2 Final
100 100 100

Note that quizzes are not listed above. Pop quizzes will take place when I see they are needed. Pop quizzes are always short exams testing if you have acquired the most basic knowledge of each topic. As a result, they usually take place about one week after a major topic is completely discussed. However, it does not mean every topic will have a quiz.

Grading

The theory part has two midterm exams and some pop quizzes. The programming part has three assignments. The sum of the scores you will obtain constitutes the other 50%. Grading will be based approximately on the scale shown in the table below.

Grade A AB B BC C CD D F
Scale 90-100% 85-89% 80-84% 75-79% 70-74% 65-69% 60-64% 0-59%

In addition, you will not receive a passing grade in the course unless you receive a passing grade on the exams alone (i.e., 60%). Likewise, you will not receive a passing grade in the course unless you receive a passing grade on the programming assignments alone (i.e., 60%).

Late Policy

No late programming assignments will be graded, except that you have a valid excuse.

Collaboration and Cheating

No assignment-specific assistance should be given nor received on any programming assignment. Any outside help concerning the use of the computer facilities is acceptable. You may discuss the meaning or intent of an assignment, but not ways to program it. All work turned in must be completely your own. You must not share code or even outlines! Any and all use of programs from other texts or references must be explicitly stated as part of program documentation. In general, any acts of plagiarism will result in a failing grade for the course along with the submission of a report to the Dean of Students. See the hand-out on Computer Science Policy on Cheating and Academic Integrity Resource Center for more details.

Exams and Final

You are responsible for avoiding exam time conflicts!!

ADA

``MTU complies with all federal and state laws and regulations regarding discrimination, including the Americans with Disability Act of 1990 (ADA). If you have a disability and need a reasonable accommodation for equal access to education or services at MTU, please call Dr. Bonnie B. Gorman, Dean of Students, (2212). For other concerns about discrimination, you may contact your advisor, department head, or the Affirmative Action Office (3310).''

The following two web sites may provide you with more information:

Other Useful Information

Downloadable Stuffs

Files are in HTML or PDF format.

Programming Information
Programming Assignment I
Programming Assignment II
Programming Assignment III

Homework Information
Homwrork 1 Solutions
Homwrork 2 Solutions
Homwrork 3 Solutions

Exam Information
Exam 1 Solutions (PDF file)
Exam 2 Solutions (PDF file)
Final Solutions (PDF file)

Reading Lists
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7
Week 8 Week 9 Week 10 Week 11 Week 12 Week 13 Week 14


You are visitor since July 1, 1998
Last update: January 15, 2019


Please send comments and suggestions to shene@mtu.edu