Difference between revisions of "Operating Systems (Fall 2017)"

From Soma-notes
Jump to navigation Jump to search
m (Add link to Contributing:Operating_Systems_(Fall_2017))
 
(20 intermediate revisions by 2 users not shown)
Line 6: Line 6:


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.
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.
The guidelines for contribution to the wiki can be [[Contributing:Operating_Systems_(Fall_2017)|found here]].


Assigned readings are subject to change, please check this page each week.
Assigned readings are subject to change, please check this page each week.
Line 158: Line 156:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 15|Lecture 15]]: Midterm Exam
       <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>
       </p>
       </td>
       </td>
Line 168: Line 166:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 16|Lecture 16]]
       <p>[[Operating Systems 2017F Lecture 15|Lecture 15]]
       </p>
       </p>
       </td>
       </td>
Line 178: Line 176:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 17|Lecture 17]]
       <p>[[Operating Systems 2017F Lecture 16|Lecture 16]]: newgetpid.c
       </p>
       </p>
       </td>
       </td>
Line 188: Line 186:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 18|Lecture 18]]
       <p>[[Operating Systems 2017F Lecture 17|Lecture 17]]
       </p>
       </p>
       </td>
       </td>
Line 198: Line 196:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 19|Lecture 19]]
       <p>[[Operating Systems 2017F Lecture 18|Lecture 18]]
       </p>
       </p>
       </td>
       </td>
Line 208: Line 206:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 20|Lecture 20]]
       <p>[[Operating Systems 2017F Lecture 19|Lecture 19]]
       </p>
       </p>
       </td>
       </td>
Line 218: Line 216:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 21|Lecture 21]]: TBD (US Thanksgiving)
       <p>No Class (US Thanksgiving)
       </p>
       </p>
       </td>
       </td>
Line 228: Line 226:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 22|Lecture 22]]
       <p>[[Operating Systems 2017F Lecture 20|Lecture 20]]
       </p>
       </p>
       </td>
       </td>
Line 238: Line 236:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 23|Lecture 23]]
       <p>[[Operating Systems 2017F Lecture 21|Lecture 21]]
       </p>
       </p>
       </td>
       </td>
Line 248: Line 246:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 24|Lecture 24]]
       <p>[[Operating Systems 2017F Lecture 22|Lecture 22]]
       </p>
       </p>
       </td>
       </td>
Line 258: Line 256:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F Lecture 25|Lecture 25]]
       <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>
       </p>
       </td>
       </td>
Line 303: Line 321:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F: Tutorial 3|TBA]]
       <p>[[Operating Systems 2017F: Tutorial 3|3000test.c]]
       </p>
       </p>
       </td>
       </td>
Line 313: Line 331:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F: Tutorial 4|TBA]]
       <p>[[Operating Systems 2017F: Tutorial 4|3000pc.c]]
       </p>
       </p>
       </td>
       </td>
Line 323: Line 341:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F: Tutorial 5|TBA]]
       <p>[[Operating Systems 2017F: Tutorial 5|Filesystems and kernel modules]]
       </p>
       </p>
       </td>
       </td>
Line 333: Line 351:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F: Tutorial 6|TBA]]
       <p>[[Operating Systems 2017F: Tutorial 6|newgetpid.c]]
       </p>
       </p>
       </td>
       </td>
Line 343: Line 361:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F: Tutorial 7|TBA]]
       <p>[[Operating Systems 2017F: Tutorial 7|FUSE]]
       </p>
       </p>
       </td>
       </td>
Line 354: Line 372:
       </td>
       </td>
       <td>
       <td>
       <p>[[Operating Systems 2017F: Tutorial 8|TBA]]
       <p>[[Operating Systems 2017F: Tutorial 8|sshfs]]
       </p>
       </p>
       </td>
       </td>
Line 372: Line 390:
     <tr>
     <tr>
       <td>
       <td>
       <p>Oct. 9
       <p>Oct. 12, 1 PM
       </p>
       </p>
       </td>
       </td>
Line 382: Line 400:
     <tr>
     <tr>
       <td>
       <td>
       <p>Oct. 23
       <p>Oct. 26
       </p>
       </p>
       </td>
       </td>
Line 392: Line 410:
     <tr>
     <tr>
       <td>
       <td>
       <p>Nov. 20
       <p>Nov. 26
       </p>
       </p>
       </td>
       </td>
Line 402: Line 420:
     <tr>
     <tr>
       <td>
       <td>
       <p>Dec. 4
       <p>Dec. 7, 1 PM
       </p>
       </p>
       </td>
       </td>
Line 417: Line 435:


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.
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 11: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

Lecture 1: Introduction

Sept. 12

Lecture 2: Processes, Process API

Sept. 14

Lecture 3: Limited Direct Execution, CPU Scheduling, MLFQ

Sept. 19

Lecture 4: Address Spaces, Memory API

Sept. 21

Lecture 5: Hard Disk Drives, File and Directories

Sept. 26

Lecture 6: I/O Devices, FSCK and Journaling

Sept. 28

Lecture 7: File System Implementation

Oct. 3

Lecture 8: Assignment/Tutorial help session (Akhil)

Oct. 5

Lecture 9: Concurrency and Threads, Locks

Oct. 10

Lecture 10: Concurrent Data Structures, Semaphores

Oct. 12

Lecture 11: Address Translation, TLBs

Oct. 17

Lecture 12: Segmentation, Free space management

Oct. 19

Lecture 13: Paging

Oct. 31

Lecture 14: Midterm Review

Nov. 2

Midterm Exam (Solutions)

Nov. 7

Lecture 15

Nov. 9

Lecture 16: newgetpid.c

Nov. 14

Lecture 17

Nov. 16

Lecture 18

Nov. 21

Lecture 19

Nov. 23

No Class (US Thanksgiving)

Nov. 28

Lecture 20

Nov. 30

Lecture 21

Dec. 5

Lecture 22

Dec. 7

Lecture 23

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

Processes and System Calls

Sept. 25, 27

3000shell.c

Oct. 2, 4

3000test.c

Oct. 16, 18

3000pc.c

Nov. 6, 8

Filesystems and kernel modules

Nov. 13, 15

newgetpid.c

Nov. 20, 22

FUSE

Nov. 27, 29

sshfs

Assignments

Due Date

Assignments

Oct. 12, 1 PM

Assignment 1

Oct. 26

Assignment 2

Nov. 26

Assignment 3

Dec. 7, 1 PM

Assignment 4

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.