CS 471: Operating Systems – Fall 2017

Information

Section
002
Location
Innovation Hall 204
Meeting time
MW 1:30pm-2:45pm
Instructor
Yue Cheng
Office
5324 Engineering Building
Email
yuecheng _AT_ gmu.edu
Office hours
W 3pm-5pm
TA
Panneer Selva Santhalingam
TA Email
psanthal _AT_ gmu.edu
TA office hrs
MF 3pm-5pm
TA office
4456 Engineering Building

Textbooks

  • [Required: AD] Operating Systems Principles and Practice, by Thomas Anderson and Michael Dahlin, Second Edition. ISBN: 978-0-9856735-2-9, Recursive Books, Ltd.
  • [HIGHLY Recommended: OSTEP] Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Arpaci-Dusseau, July, 2017 (v 0.92)
  • [Recommended] Operating System Concepts, by Silberschatz, Galvin and Gagne (9th Edition, John Wiley & Sons 2012, ISBN 978-1-118-06333-0).

Important dates

  • OS/161 ASST0 due 09/20 (8%)
  • OS/161 ASST1 due 10/25 (12%)
  • OS/161 ASST2 due 11/29 (12%)
  • OS/161 ASST3 due 12/09 (up to 5 extra pts)
  • HW1 due 09/18 in class (4%)
  • HW2 due 10/16 in class (4%)
  • HW3 due 11/29 in class (5%)
  • Midterm 10/11 in class (25%)
  • Final 12/13 in class (30%)

Announcements

11/19
Lec 6d flash posted.
11/19
HW3 posted on Blackboard.
11/13
HW2 sol posted on Blackboard.
11/07
Lec 6b disk-sched and Lec 6c RAID posted.
11/05
Lec 6a io+disk posted.
10/30
Lec 5f mem mgmt posted.
10/30
Midterm sol posted on Blackboard.
10/29
Lec 5e mem mgmt posted.
10/24
Lec 5d mem mgmt posted.
10/22
Lec 5c mem mgmt posted.

*Older announcements*


Syllabus and Tentative Schedule

Topics Slides + src Readings (required + extra_if_interested)
Introduction [08/28] Lecture 1a: Class overview: Introduction [src]
[08/30] Lecture 1b: OS evolution history, interrupts
Ch1(AD) + Extra(OSTEP)
Ch2(AD) + Interrupt(OSTEP 36.1-36.5)
Concurrency [09/06] Lecture 2a: Process abstraction [src]
[09/11] Lecture 2b: Threads
Ch3(AD) + Proc_intro(OSTEP), Proc_API(OSTEP)
Ch4(AD) + Threads (OSTEP 26.1-26.2)
Synchronization [09/13] Lecture 3a: Race conditions, spin locks, semaphores
[09/18] Lecture 3b: Threads and sync in OS/161
[09/20] Lecture 3c: Producer-consumer problem and CV
[09/25] Lecture 3d: RW, 5DP problems, and monitors
OSTEP(26.3-26.7), Locks(OSTEP) + Ch5(AD)
OS/161 src
Sem(OSTEP), CV(OSTEP) + Ch5(AD),Ch6(AD)
Ch5(AD),Ch6(AD)
CPU scheduling [09/27] Lecture 4a: FIFO, SJF
[10/02] Lecture 4b: RR, Priority-sched
Ch7(Ad),Sched(OSTEP)
Ch7(Ad),Sched(OSTEP)
Midterm review [10/04] Midterm review
CPU Scheduling (cont.) [10/10] Lecture 4c: MLFQ, Lottery, Thread,SMP,Linux-sched MLFQ(OSTEP), Lottery(OSTEP)
Midterm [10/11] 1:30pm - 2:45pm
Memory management [10/16] Lecture 5a: Address space, Relocation, Segmentation
[10/18] Lecture 5b: Paging, Address basics
[10/23] Lecture 5c: TLB, Adv. page tables
[10/25] Lecture 5d: Swapping
[10/30] Lecture 5e: Page replacement policies
[11/01] Lecture 5f: Memory management misc.
IntroMem(OSTEP), AddrTran(OSTEP) + Ch8.1,Ch8.2(AD)
Paging(OSTEP), TLB(OSTEP) + Ch8.3(AD)
Ch8.2(AD) + SmallPT(OSTEP)
Ch9.1-9.3(AD) + Swapping(OSTEP)
Ch9.4-9.5(AD) + Swapping(OSTEP)
Ch9.6.1-9.6.2(AD),MemAPIs(OSTEP) + Facebook Mc Paper
I/O and Storage [11/06] Lecture 6a: I/O, HDD Basics
[11/08] Lecture 6b: Disk Scheduling
[11/13] Lecture 6c: RAID
[11/15] No Class on Wed
[11/20] Lecture 6d: Flash
Ch11.3(AD),Ch12.1(AD),IODev(OSTEP), HDD(OSTEP)
Ch12.1.3(AD)
RAID(OSTEP)

Flash(OSTEP) + Ch12.2(AD)
File systems [11/27] Lecture 7a: File system interface
[11/29] Lecture 7b: File system implementation
Distribured systems [12/04] Lecture 9: Modern datacenter instrastructure
Final review [12/06]
Final [12/13] 1:30pm – 4:15pm