Winter 2016 Operating Systems Practice and Experience (COMP SCI 3SH3)

Instructor : Rong Zheng

Email : rzheng@mcmaster.ca

Lecture time : Mo 10:30am – 11:20am

Lecture Location : JHE 326H

Lab time: L01:Wed 11:30 – 1:20pm, Fri 12:30pm – 2:20pm; L02: Thur 9:30am – 11:20am; Mo 11:30am – 1:20pm

Lab Location:

Office Hours : 4:30 – 6:30 Tue.

Class web : http://www.cas.mcmaster.ca/~rzheng/course/CAS3SH3W16/

Avenue: http://avenue.mcmaster.ca/

Textbook :

A. Silberschatz, G. Gagne, and P.B. Galvin. Operating System Concepts, 9th edition, John Wiley & Sons, Inc. ISBN 978-1-118-06333-0 (8th edition fine)

Grading :

Final: 30%; Online Quizzes: 20%; In-lab exercise:20%; Project 1: 10%, Project 2: 10%, Project 3: 10%

Academic honesty :

Any student found guilty of academic dishonesty will receive severe punishment.


Tentative Schedule:

Lecture

Lectures

Tutorial

L01: (W) 11:30 – 12:20pm

L02: (Th) 9:30 – 10:20am

Labs

L01: (W) 12:30pm – 1:20pm; (F) 12:30pm – 2:20pm

L02: (Th) 10:30am – 11:20am (M) 11:30am – 1:20pm

Submission

Week 1 (Jan. 5 – Jan. 9)

Intro to OS (2hr)

Week 2 (Jan. 12 – Jan. 16)

Process & thread

fork() , exec() example codes

  • Nachos overview
  • Nachos installation
  • Set up Eclipse

Answers to Nachos tutorial Chap 3 questions (in class)

Week 3 (Jan. 18 – Jan. 23)

Process & thread

PThread example codes

  • Nachos boot code tracing

· KThread and nachos thread life cycle code tracing

Answers to Nachos tutorial Chap 4 Questions

(in class)

Week 4 (Jan. 25 – Jan. 31)

Synchronization

Race condition

· Nachos code tracing Lock, semaphore, Condition1

· Implement Condition2

Week 5 (Feb. 1 – Feb. 7)

Synchronization

Producer-consumer example codes

  • Implement join()
  • Implement Alarm

Send & Receive (offline)

Week 6 (Feb. 9 – Feb. 13)

CPU scheduling

Scheduling examples

  • Nachos RR scheduler code tracing

Q & A

(in class)

Midterm Recess

Week 8 (Feb. 23 – Feb. 27)

CPU scheduling

(priority inversion)

Priority donation

· Implementation of a priority schedule w/o donation

Priority donation & revocation (offline)

Week 9 (Mar. 2 – Mar. 6)

File Systems

File Systems

  • Nachos “filesystem” code tracing

Q &A

Week 10 (Mar. 9 – Mar. 13)

Memory management

Examples

  • UserProcess code tracing
  • MIPS compiler

Q & A

(In class)

Week 12 (Mar. 23 – Mar. 27)

Memory management

Examples

· Implement create, open, read, write, close, unlink

Week 13 (Mar. 30 – Apr. 3)

Memory management

Examples

Help with project 3

Week 14, April 6th

Review