Operating System Fundamentals
Winter 2003
York University

Section #: 3221M
Instructor: Hui Jiang
Lecture Time: Tue 14:30-16:00pm
Thu 14:30-16:00pm
Location: SC303
Office Hours: Mon 15:00-16:00pm
& by appointment
Office: CSB 3014
Section #: 3221N
Instructor: Jimmy Huang
Lecture Time: Wed 19:00-22:00pm
Location: SC303
Office Hours: Thu 4:00-5:00pm
& by appointment
Office: CSB 2022
Section #: 3221P
Instructor: Gordon Turpin
Lecture Time: Mon 14:30-16:00pm
Wed 14:30-16:00pm
Location: Ross S201 & CLH-J
Office Hours: Fri 13:30-14:30pm
& by appointment
Office: CSB 3020

T.A.: Jacob Gryn
Office Hours: Wed 17:00-18:00pm (Mar. 12)
Thu   15:00-16:00pm (Mar. 13)
Office: CSB 3013
T.A.: Shakil Khan
Office Hours: Wed 17:00-18:00pm (Mar. 12)
Thu   15:00-16:00pm (Mar. 13)
Office: CSB 3013
e-mail: skhan@cs.yorku.ca

Welcome to the Operating System Fundamentals course, COSC-3221 for Winter term 2003. Materials, instructions, and notices for the course will accumulate here over the semester.

Message Board

April 8, 2003
COSC-3221 Final Exam Schedule
COSC 3221M    H. Jiang    April 10   19:00 - 22:00 pm  A-L  in CLH-E,  M-Z in CLH-G
COSC 3221N    J. Huang    April 10   19:00 - 22:00 pm  A-L  in CLH-E,  M-Z in CLH-G
COSC 3221P    G. Turpin    April 10   19:00 - 22:00 pm  A-L  in CLH-E,  M-Z in CLH-G

April 5, 2003
Please check the last slide for the coverage of final exam.

March 7, 2003
The due date for A2 is extended to March 12 noon and you can use C/C++ or Java to do Q1.

February 25, 2003
The guidelines and requirements for assignments are here.

February 10, 2003
The assignment A2 is now available here.

January 23, 2003
COSC-3221 Midterm Schedule
COSC 3221M    H. Jiang    Feb 23   1:00 - 3:00 pm  A-L  in SLH-D,  M-Z in SLH-F
COSC 3221N    J. Huang    Feb 23   1:00 - 3:00 pm  A-L  in SLH-D,  M-Z in SLH-F
COSC 3221P    G. Turpin    Feb 23   1:00 - 3:00 pm  A-L  in SLH-D,  M-Z in SLH-F

January 20, 2003
The assignment A1 is now available here.

Course Description

The purpose of this course is to introduce the fundamental concepts of operating systems, including aspects of concurrency, process, threads, CPU scheduling, process synchronization, deadlock, storage management and file systems. The course covers both theoretical and practical issues underlying the design and implementation of operating systems. An excellent knowledge of the C/C++ programming language and familiarity with UNIX are essential. At the end of this course, a student will be able to understand and apply the fundamental concepts required for the use and design of operating systems. For a bit more about this course, click here!

Course Objectives

The objective of this course is to provide the students with the concepts necessary to enable them to:

  • understand conceptually what operating systems are, what they do, and how they are designed and constructed.
  • demonstrate, in a hands-on approach, an ability to implement selected features of operating system code in either C or C++.
  • define the basic operations system components that support the machine-independent abstractions on particular target architectures.
  • understand how the entire system fits together, not merely how one or two important parts interact.
  • understand the means by which fundamental problems in operating systems can be analyzed.

Particular emphasis will be given to process management (processes, threads, CPU scheduling, synchronization, and deadlock), (virtual) memory management (segmentation, paging, swapping, caching), file system implementation, interprocess communication and more advanced topics as time allows.

Required Textbook

Operating System Concepts.
Sixth Edition, 2003.
Abraham Silberschatz, Peter Bear Galvin and Greg Gagne
John Wiley & Sons.
ISBN: 0-471-25060-0

Grading Criteria / Course Requirements

Percentage When
Midterm Exam 35% February 23, 2003
Final Exam 45% sometime in April
Assignments 20% 3 assigments, due through the semester


Assignment Sets

Useful On-line Information

This page is maintained by Jimmy Huang. Last modified April 6, 2003.