Operating Systems (Fall 2017): Difference between revisions
Created page with "The course outline is [http://homeostasis.scs.carleton.ca/wiki/index.php/Operating_Systems_(Fall_2017)_Course_Outline here]" |
|||
(39 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Course Outline== | |||
[[Operating Systems (Fall 2017) Course Outline|Here]] is the course outline for COMP 3000: Operating Systems. | |||
==Lectures and Exams== | |||
Note that the topics below are primarily chapters from the class textbook, [http://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces]. Note that while introductory and summary dialogues are not linked below, they are worth reading for an informal take on the material. | |||
Assigned readings are subject to change, please check this page each week. | |||
<table style="width: 100%;" border="1" cellpadding="4" cellspacing="0"> | |||
<tr valign="top"> | |||
<th> | |||
<p align="left">Date</p> | |||
</th> | |||
<th> | |||
<p align="left">Topic</p> | |||
</th> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 7 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 1|Lecture 1]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/intro.pdf Introduction] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 12 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 2|Lecture 2]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-intro.pdf Processes], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-api.pdf Process API] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 14 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 3|Lecture 3]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-mechanisms.pdf Limited Direct Execution], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf CPU Scheduling], [http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf MLFQ] </p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 19 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 4|Lecture 4]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-intro.pdf Address Spaces], [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-api.pdf Memory API] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 21 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 5|Lecture 5]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/file-disks.pdf Hard Disk Drives], [http://pages.cs.wisc.edu/~remzi/OSTEP/file-intro.pdf File and Directories] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 26 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 6|Lecture 6]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/file-devices.pdf I/O Devices], [http://pages.cs.wisc.edu/~remzi/OSTEP/file-journaling.pdf FSCK and Journaling] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 28 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 7|Lecture 7]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/file-implementation.pdf File System Implementation]</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 3 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 8|Lecture 8]]: Assignment/Tutorial help session (Akhil)</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 5 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 9|Lecture 9]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/threads-intro.pdf Concurrency and Threads], [http://pages.cs.wisc.edu/~remzi/OSTEP/threads-locks.pdf Locks]</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 10 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 10|Lecture 10]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/threads-locks-usage.pdf Concurrent Data Structures], [http://pages.cs.wisc.edu/~remzi/OSTEP/threads-sema.pdf Semaphores] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 12 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 11|Lecture 11]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-mechanism.pdf Address Translation], [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-tlbs.pdf TLBs]</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 17 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 12|Lecture 12]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-segmentation.pdf Segmentation], [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-freespace.pdf Free space management]</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 19 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 13|Lecture 13]]: [http://pages.cs.wisc.edu/~remzi/OSTEP/vm-paging.pdf Paging]</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 31 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 14|Lecture 14]]: Midterm Review</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 2 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[http://homeostasis.scs.carleton.ca/~soma/os-2017f/comp3000-midterm-2017f.pdf Midterm Exam] [http://homeostasis.scs.carleton.ca/~soma/os-2017f/comp3000-midterm-2017f-solutions.pdf (Solutions)] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 7 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 15|Lecture 15]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 9 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 16|Lecture 16]]: newgetpid.c | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 14 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 17|Lecture 17]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 16 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 18|Lecture 18]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 21 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 19|Lecture 19]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 23 | |||
</p> | |||
</td> | |||
<td> | |||
<p>No Class (US Thanksgiving) | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 28 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 20|Lecture 20]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 30 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 21|Lecture 21]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Dec. 5 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 22|Lecture 22]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Dec. 7 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Lecture 23|Lecture 23]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Dec. 14, 1-2 PM, 3-4 PM | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F Final Questions/Answers|Question/Answer Session (optional)]], LA C164 | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Dec. 17, 7 PM | |||
</p> | |||
</td> | |||
<td> | |||
<p>Final Exam, AH rows 25-36 | |||
</p> | |||
</td> | |||
</tr> | |||
</table> | |||
==Tutorials== | |||
Each week you will get a progress grade from 0-4, given to you by a TA. If you are being diligent, you should be able to get 4's every week. The easiest way to get your grade is to come to tutorial and meet with your TA; alternately, you can meet a TA in their office hours or, at their discretion, discuss things with them online. | |||
<table style="width: 100%;" border="1" cellpadding="4" cellspacing="0"> | |||
<tr valign="top"> | |||
<th> | |||
<p align="left">Date</p> | |||
</th> | |||
<th> | |||
<p align="left">Tutorials</p> | |||
</th> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 18,20 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 1|Processes and System Calls]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Sept. 25, 27 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 2|3000shell.c]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 2, 4 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 3|3000test.c]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 16, 18 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 4|3000pc.c]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 6, 8 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 5|Filesystems and kernel modules]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 13, 15 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 6|newgetpid.c]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 20, 22 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 7|FUSE]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 27, 29 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Tutorial 8|sshfs]] | |||
</p> | |||
</td> | |||
</tr> | |||
</table> | |||
==Assignments== | |||
<table style="width: 100%;" border="1" cellpadding="4" cellspacing="0"> | |||
<tr valign="top"> | |||
<th> | |||
<p align="left">Due Date</p> | |||
</th> | |||
<th> | |||
<p align="left">Assignments</p> | |||
</th> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 12, 1 PM | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Assignment 1|Assignment 1]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Oct. 26 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Assignment 2|Assignment 2]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Nov. 26 | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Assignment 3|Assignment 3]] | |||
</p> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
<p>Dec. 7, 1 PM | |||
</p> | |||
</td> | |||
<td> | |||
<p>[[Operating Systems 2017F: Assignment 4|Assignment 4]] | |||
</p> | |||
</td> | |||
</tr> | |||
</table> | |||
==Course Software== | |||
In this course we will primarily working with [http://www.ubuntu.com/ Ubuntu], a widely-used family of Linux distributions. We will be using Ubuntu Server on the SCS's [http://openstack.scs.carleton.ca/ Openstack installation] (accessible only from the Carleton network). | |||
You may use other Linux distributions to complete the assigned work; there will be differences, however, in some aspects (such as installing software), particularly if you use a distribution not based on Ubuntu or Debian. | |||
==Contributing Notes== | |||
The instructions and guidelines for contributing notes to the wiki can be [[Contributing:Operating_Systems_(Fall_2017)|found here]]. |
Latest revision as of 15:15, 15 December 2017
Course Outline
Here is the course outline for COMP 3000: Operating Systems.
Lectures and Exams
Note that the topics below are primarily chapters from the class textbook, Operating Systems: Three Easy Pieces. Note that while introductory and summary dialogues are not linked below, they are worth reading for an informal take on the material.
Assigned readings are subject to change, please check this page each week.
Date |
Topic |
---|---|
Sept. 7 |
|
Sept. 12 |
|
Sept. 14 |
|
Sept. 19 |
|
Sept. 21 |
|
Sept. 26 |
|
Sept. 28 |
|
Oct. 3 |
Lecture 8: Assignment/Tutorial help session (Akhil) |
Oct. 5 |
|
Oct. 10 |
|
Oct. 12 |
|
Oct. 17 |
|
Oct. 19 |
|
Oct. 31 |
Lecture 14: Midterm Review |
Nov. 2 |
|
Nov. 7 |
|
Nov. 9 |
Lecture 16: newgetpid.c |
Nov. 14 |
|
Nov. 16 |
|
Nov. 21 |
|
Nov. 23 |
No Class (US Thanksgiving) |
Nov. 28 |
|
Nov. 30 |
|
Dec. 5 |
|
Dec. 7 |
|
Dec. 14, 1-2 PM, 3-4 PM |
Question/Answer Session (optional), LA C164 |
Dec. 17, 7 PM |
Final Exam, AH rows 25-36 |
Tutorials
Each week you will get a progress grade from 0-4, given to you by a TA. If you are being diligent, you should be able to get 4's every week. The easiest way to get your grade is to come to tutorial and meet with your TA; alternately, you can meet a TA in their office hours or, at their discretion, discuss things with them online.
Date |
Tutorials |
---|---|
Sept. 18,20 |
|
Sept. 25, 27 |
|
Oct. 2, 4 |
|
Oct. 16, 18 |
|
Nov. 6, 8 |
|
Nov. 13, 15 |
|
Nov. 20, 22 |
|
Nov. 27, 29 |
Assignments
Due Date |
Assignments |
---|---|
Oct. 12, 1 PM |
|
Oct. 26 |
|
Nov. 26 |
|
Dec. 7, 1 PM |
Course Software
In this course we will primarily working with Ubuntu, a widely-used family of Linux distributions. We will be using Ubuntu Server on the SCS's Openstack installation (accessible only from the Carleton network).
You may use other Linux distributions to complete the assigned work; there will be differences, however, in some aspects (such as installing software), particularly if you use a distribution not based on Ubuntu or Debian.
Contributing Notes
The instructions and guidelines for contributing notes to the wiki can be found here.