Skip navigation.
Home

Syllabus

Instructor: Tuan Pham (pham at eecs dot oregonstate dot edu)

Grader: Weinian He (hew at eecs dot oregonstate dot edu)

Lectures: MTWRF 9:00-9:50 AM (6/22/09-8/14/09) in OWEN 101 (map)

Office Hours: MW 10:00-12:00 or by appointment - Location: KEC 1130 (map)

Course Description

Introduction to operating systems using UNIX as the case study. System calls and utilities, fundamentals of processes and interprocess communication.
 

Textbooks

 

Enforced Prerequisites

  • CS 261, and (ECE 271 or CS 271)
  • C Programming Skill

 

Academic Honesty

  • Students are expected to do their own work / Groups are expected to be the sole source of their code.
     
  • We may use software designed to find similarities between programs. Each group's program is compared to every other group's program to find similarities. Please do your own work.
     
  • Do NOT ask for or give help or code to another group!
     
  • See CS Policy for Academic Honesty for guidance.
     

Learning Objectives

  1. Explain why multiprogramming is important for modern operating systems.
     
  2. Explain the general structure of a multiprogrammed operating system.
     
  3. Explain the purpose and operation of system calls.
     
  4. Write a program utilizing system calls.
     
  5. Write a program using a scripting language.
     
  6. Write a program that uses regular expressions to parse input data.
     
  7. Explain how a common file system works, including structure, I/O operations, and security.
     
  8. Describe the memory organization of a typical process in a common operating system.
     
  9. Write a program that spawns processes and provides mutual exclusion for variables or other resources shared by the processes.
     
  10. Write a program that uses sockets to implement a client/server system.
     

Grading

  • Programming projects: 40%
     
  • Homework and Quizzes: 10%
     
  • 2 Midterms: 30%
     
  • Final exam: 20%

 

Exams

  • Your 3 exams scores must average >= 60% to pass the course.
     
  • If you cannot take an exam at the scheduled date/time, contact the instructor at least 5 days in advance to arrange for an alternate test date/time.
     
  • If you miss an exam (without prearrangement with the instructor and without a documented medical emergency), you will receive the minimum of 50% and the lowest grade in the class (this is frequently < 40%).

 

Course Grading

  • Scale may be adjusted downward, but not upward.
     
  • No curve is applied at the end of the course. I may curve exams as we go.
     

A      93      <=    x             
A-     90     <=     x     <     93
B+    87     <=     x     <     90
B      83     <=     x     <     87
B-     80     <=     x     <     83
C+    77     <=     x     <     80
C      73     <=     x     <     77
C-     70     <=     x     <     73
D+    67     <=     x     <     70
D      63     <=     x     <     67
D-     60     <=     x     <     63
F       x     <     60

 

Projects

  • must be submitted electronically by 11:59pm on the due date at the engr submission site.
     
  • will be accepted late with a 5% penalty per weekday and / or 5% per weekend, up to one week late. If you submit a late assignment, you must notify the instructor separately via email or else I will not know to look for your assignment. You may not submit the last project late.
     
  • will be graded on Linux on flip. We highly recommend that you do your development on a Linux operating system or at least test your assignments on flip.engr.oregonstate.edu, a Linux machine provided specifically for use by CS311. You can log onto it via SSH.
     
  • may be done by yourself or in groups of 2 or 3. The group may also turn in a paper signed by all members saying what percentage of the assignment was done by each member. Grades will be given accordingly. Everyone in the group must understand the code in detail and its concepts.
     
  • must be solely the work of the individual(s) submitting the code. See CS Policy for Academic Honesty for guidance. In cases of academic dishonesty, the grade of 'F' will be awarded for the course, and a Report of Academic Dishonesty will be filed as required by University policy. A report will also be forwarded to the College of Engineering where additional disciplinary actions may be taken. 
The materials are used with permission from Professor Chris Wallace.