COMP SCI/SFWR ENG 3SH3: Operating Systems

Winter 2015

Instructors: Rong Zheng 

Email: rzheng 

Lectures: Tue, Wed, Fri 12:30 - 1:20pm, BSB/B136

Office Hours: Tue. 4:30 - 6:30pm

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

Class avenue page: 

Course description: 

Text book: 

Course schedule: 

Date 

Content 

Note 

Week 1 (Jan. 5 – Jan. 9)

Course overview

Intro to OS

Review of core data structures

Lecture notes(pdf,ppt)

Exercise 1 released

Week 2 (Jan. 12 – Jan. 16)

Process and thread 

Lecture notes(pdf,ppt), Nachos Tutorial


Project 1, matmul50 source code

Week 3 (Jan. 18 – Jan. 23) 

Process and thread

Lecture notes(pdf,ppt)

In-class example codes 


Exercise 2

Week 4 (Jan. 25 – Jan. 31)  

Synchronization 

Lecture notes (ppt, pdf)

Project 2, Autograder codes, tutorial 

Week 5 (Feb. 1 – Feb. 7)  

Synchronization 

Exercise 3

Week 6 (Feb. 9 – Feb. 13)    

CPU Scheduling 

Lecture notes (ppt, pdf

Midterm review)


Exercise 4, Project 3, tutorial

Week 7 

Reading week 


Week 8 (Feb. 23 – Feb. 27)

Memory management

Lecture note 

Midterm 

Week 9 (Mar. 2 – Mar. 6)

Memory management



Week 10 (Mar. 9 – Mar. 13)

Memory Management

Lecture note

Exercise 5,6, Project 4 starts

Bonus project (attempt with caution!)

Week 11 (Mar. 16 – Mar. 20)

Storage and file system

Lecture notes 


Week 12 (Mar. 23 – Mar. 27)

Storage & file systems 


Exercise 7

Week 13 (Mar. 30 – Apr. 3)

Advanced topics 


Week 14 (Apr. 6 – Apr. 8)

Review 



All-in-one Slides, Final review

TA info 

Grading 

Nachos programming assignments (4 total) 10, 10, 10, 15%, Midterm 20%, Exercise 10% (Avenue), Bonus Project 10%,  Final 25% 

Learning objectives, indicators, and rubrics

Nachos programming assignments and related materials 

Nachos

The Java version of Nachos is available for you to download here: nachos-java.tar.gz (112 Kb gzipped tarfile). You can unpack this file using the command 

  gzcat nachos-java.tar.gz | tar xf -

which will create the directory nachos. See the file README contained within the tarfile for information on using and compiling the code.

Alternatively, you can first install VirtualBox and then install the pre-packaged 32-bit version of Kubuntu with Nachos and the MIPS cross-compiler installed that can be downloaded here. The username/password is 3sh3/3sh3.

Java Distributions

The Java version of Nachos requires Java SE Java Development Kit 1.5 or later. If you are not using an instructional machine, you can download the appropriate Java SE JDK for your machine from here: http://www.oracle.com/technetwork/java/javase/downloads/index.html.


MIPS Cross-compilers

Nachos executes user applications on a simulated MIPS computer. In order to compile these programs, you need a MIPS cross-compiler. One is already installed on the instructional machines; if you are not using an instructional machine, you must download and install the appropriate cross-compiler from this page.


McMaster Nachos Tutorial (pdf, html)


Other Reference Materials

Academic Dishonesty 

You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning process. Academic credentials you earn are rooted in principles of honesty and academic integrity.

Acamedic dishonesty is to knowingly act or fail to act in a way that results or could result in unearned academic credit or advantage. This behaviour can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: "Grade of F assigned for academic dishonesty"), and/or suspension or expulsion from the university. 

It is your responsibility to understand what constitutes academic dishonesty. For information on the various types academic dishonesty please refer to the Academic Integrity Policy, located at http://www.mcmaster.ca/academicintegrity 

The following illustrates only three forms of academic dishonesty: Plagiarism, e.g. the submission if work that is not one's own or for which other credits has been obtained. Improper collaboration in group work. Copying or using unauthorized aids in tests and examinations. In case of discrepancy between the online and handout version of the course outline, the handout version shall be taken as correct.