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 |
|
Week 3 (Jan. 18 – Jan. 23) |
Process and thread |
|
Week 4 (Jan. 25 – Jan. 31) |
Synchronization |
|
Week 5 (Feb. 1 – Feb. 7) |
Synchronization |
Exercise 3 |
Week 6 (Feb. 9 – Feb. 13) |
CPU Scheduling Lecture notes (ppt, pdf |
|
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 |
|
Week 12 (Mar. 23 – Mar. 27) |
Storage & file systems |
|
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.