ScheduleΒΆ

The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send mail to the course staff (mailto:sibin.mohan@oregonstate.edu).

MondayTuesday WednesdayThursday Friday
Mar 28
Study, Lab 1: Booting a PC
Mar 29
LEC 1: Course Intro SLIDES
Watch 1: Lecture #1 OLD_VIDEO
Read: Textbook
Read: at&t_asm GDB tutorial1 tutorial2 cheat-sheet
Read: tmux cheatsheet (ctrl-b -> backtick) tmux-cheat-sheet
Read: Missing Semester of CS
First day of class
Mar 30
Watch 1: Tutorial 1 VIDEO SLIDES
Mar 31
LEC 2: BIOS/Booting SLIDES
Read: 5 Steps of Boot Process
Read: Linux Boot Process and GRUB2
Apr 1
Apr 4
Watch 2: Tutorial 2 - Booting Process and Calling convention VIDEO SLIDES
Apr 5
LEC 3: 1. Booting Part 2 SLIDES and 2. Memory Extension SLIDES
Watch 2: Lecture #3.1 BOOT PROCESS (complete) VIDEO.
Watch 3: Lecture #3.2 VIRTUAL MEM VIDEO.
Read: Textbook1 Textbook2 Textbook3
Read: SeaBIOS
Read: ELF Format
Apr 6 Apr 7
LEC 4: 1. Multiprogramming SLIDES and 2. Virtual Address Translation SLIDES
Read: x86_Address_Translation
Read: Page_Table
Apr 8
Apr 11
Watch 3: Tutorial 3 - Physical Memory Management VIDEO SLIDES
Study, Lab 2: Memory Management
Apr 12
LEC 5: 1. Paging Virtual Mem Translation SLIDES, 2. JOS Memory Management SLIDES and 3. Virtual Memory Permissions and Setup (extra) SLIDES
Watch 4: Lecture #5.1 VIRTUAL MEMORY 2 VIDEO
Watch 5: Lecture #5.2 JOS MEMORY VIDEO
Watch 6: Lecture #5.3 PERMISSIONS AND SETUP VIDEO
Read: Textbook1 Textbook2 Textbook3 Textbook4 Textbook5 Textbook6
Apr 13
Read: Sample for Quiz #1 QUIZ_PDF ANSWER KEY
Apr 14
Quiz 1: Virtual Memory
Apr 15
Lab 1 Due
Apr 18 Apr 19
LEC 6: Quiz 1 Review SLIDES
Watch 7: Lecture #6 QUIZ 1 REVIEW VIDEO
Apr 20
Watch 4: Tutorial 4 - Virtual Memory Management VIDEO SLIDES
Apr 21
LEC 7: User and Kernel Spaces SLIDES
Watch 8: Lecture #7 USER/KERNEL VIDEO
Read: Textbook-process Textbook-syscall Textbook-trap
Apr 22
Apr 25
Watch 5: Tutorial 5 - User Environments and Exception Handling VIDEO SLIDES
Study, Lab 3: User Environment
Apr 26
LEC 8: Handling Interrupts/Exceptions SLIDES
Watch 9: Lecture #8 INTERRUPTS/EXCEPTIONS VIDEO
Apr 27
Watch 6: Tutorial 6.1 - Resolving make errors VIDEO
Watch 7: Tutorial 6.2 - GDB to resolve Triple Faults VIDEO
Watch 8: Tutorial 6.3 - KERNBASE and Struct PageInfo* pp VIDEO
Watch 9: Tutorial 6.4 - Resolving assertion and panic errors VIDEO
Apr 28
LEC 9: System Calls and Page Fault SLIDES
Watch 10: Lecture #9 SYCALLS/PAGEFAULTS VIDEO
Read: READ VM-swapping1 VM-swapping2 VM-others
Apr 29
May 2
Watch 10: Tutorial 6 - Page faults, Breakpoint Exceptions, System Calls VIDEO SLIDES
May 3
LEC 10: Virtualization Recap and Quiz 2 Prep SLIDES
Watch 11: Lecture #10 VIRTUALIZATION RECAP/QUIZ 2 VIDEO
May 4 May 5
Quiz 2: System calls, faults, and exceptions
May 6
Lab 2 Due
May 9 May 10
LEC 11: Multi-threading and Synchronization SLIDES
Watch 12: Lecture #11 MULTITHREADING/SYNCHRONIZATION VIDEO
Read: READ Concurrency Thread
May 11 May 12
LEC 12: Locks and Synchronization SLIDES
Watch 13: Lecture #12 LOCKS VIDEO
Read: READ Locks
May 13
May 16
Watch 11: Tutorial 7 - Multiprocessor Support and Multitasking VIDEO SLIDES
Study, Lab 4: Preemptive Multitasking
May 17
LEC 13: Locks 2 SLIDES
Read: READ Exponential Backoff
May 18 May 19
LEC 14: Concurrency Bugs and Deadlock SLIDES
Watch 14: Lecture #14 CONCURRENCY BUGS/DEADLOCK VIDEO
Read: READ Bugs
Read: READ Code Snippets
May 20
Lab 3 Due
May 23
Watch 12: Tutorial 8 - Copy-on-Write Fork, Preemptive Multitasking, Interprocess Communication (IPC) VIDEO SLIDES
Read: Sample for Quiz #3 QUIZ_PDF ANSWER KEY
May 24
Quiz 3: Concurrency
May 25 May 26
LEC 15: Schedulers
May 27
May 30 May 31
LEC 16: Schedulers (contd.)
Jun 1 Jun 2 Jun 3
The last day of class
Jun 6 Jun 7
Final exam week
(NO FINAL!)
Jun 8
Lab 4 Due
Jun 9
Final exam week
(NO FINAL!)
Jun 10
DUE: All labs (50% for all others)