Operating Systems (Fall 2017)

From Soma-notes
Revision as of 21:44, 6 September 2017 by Soma (talk | contribs) (→‎Assignments)

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: TBD (NSPW)

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

Lecture 15: Midterm Exam

Nov. 7

Lecture 16

Nov. 9

Lecture 17

Nov. 14

Lecture 18

Nov. 16

Lecture 19

Nov. 21

Lecture 20

Nov. 23

Lecture 21: TBD (US Thanksgiving)

Nov. 28

Lecture 22

Nov. 30

Lecture 23

Dec. 5

Lecture 24

Dec. 7

Lecture 25

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

TBA

Sept. 25, 27

TBA

Oct. 2, 4

TBA

Oct. 16, 18

TBA

Nov. 6, 8

TBA

Nov. 13, 15

TBA

Nov. 20, 22

TBA

Nov. 27, 29

TBA

Assignments

Due Date

Assignments

Sept. 23

Assignment 1

Oct. 24

Assignment 2

Nov. 23

Assignment 3

Dec. 7

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.