Here is the tentative schedule of lectures and due dates. The lecture material for future lectures may change.
While the notes and videos published here may help you remember the material discussed, they are not a replacement for attending lectures. Videos for each lecture will be published shortly after the lecture ends; if you do not see a link yet, check this page (Brown login required).
About deadlines: Assignments are generally due according to this schedule:
- Projects are generally due on Fridays at 8pm
- Labs are generally due on Tuesdays at 8pm
- ❓ Post-Lecture Quizzes (PLQs) are due the day before the next lecture at 11:59pm
Code from the lectures is available at github.com/csci1670/cs1670-lectures. See the notes for each lecture for more info.
Seminar entries on Fridays are CS 1690
seminars, which are mandatory for students in CS 1690/2670 to attend.
This view hides the Friday CS 1690 seminars, which students in CS 1670 only
do not attend. If you are enrolled in CS 1690 or CS 2670, switch to the
OS with lab view above.
| Monday | Tuesday | Wednesday | Thursday | Friday |
sep 7 | sep 8 | sep 9 First day of classes Assigned:
Project 0 (Setup) | sep 10 Assigned:
Project 1: Bootup | sep 11 |
sep 14 | sep 15 DUE:
Project 0 (Setup) | sep 16 | sep 17 | sep 18 |
sep 21 | sep 22 DUE:
Project 1: Bootup | sep 23 Assigned:
Project 2: Processes | sep 24 | sep 25 |
sep 28 LEC 6: Cooperative Concurrency, Interrupts | sep 29 | sep 30 LEC 7: Time Sharing, Scheduling | oct 1 | oct 2 DUE:
Project 2: Processes Assigned:
Project 3: Input/Output Seminar 4: Scheduling |
oct 5 LEC 8: Interactive I/O, Keyboard | oct 6 | oct 7 LEC 9: Visual I/O, Framebuffer | oct 8 | oct 9 Seminar 5: Graphical UIs |
oct 12 Indigenous People's Day | oct 13 | oct 14 LEC 10: User/Kernel Split, System Calls | oct 15 | oct 16 DUE:
Project 3: Input/Output Assigned:
Project 4: System Calls Seminar 6: Privilege Levels |
oct 19 LEC 11: Memory Protection, Virtual Memory | oct 20 | oct 21 LEC 12: Page Tables, TLB, Swap | oct 22 | oct 23 DUE:
Project 4: System Calls Assigned:
Project 5: Virtual Memory Seminar 7: Page Tables |
oct 26 Midterm Quiz: in-class ❓No PLQ | oct 27 | oct 28 LEC 13: Shared Memory, Copy-on-Write | oct 29 | oct 30 Seminar 8: Superpages, Advanced VM |
nov 2 LEC 14: Efficient I/O, DMA | nov 3 Election Day | nov 4 LEC 15: File Systems | nov 5 | nov 6 DUE:
Project 5: Virtual Memory Assigned:
Project 6: File System Seminar 9: Special file systems |
nov 9 LEC 16: File Systems II | nov 10 | nov 11 LEC 17: Crash Consistency, Page Cache | nov 12 | nov 13 Seminar 10: Platform security |
nov 16 LEC 18: File Permissions, Security | nov 17 | nov 18 LEC 19: Synchronization, Multicore | nov 19 | nov 20 DUE:
Project 6: File System Assigned:
Project 7: Final Project Seminar 11: Beyond Multicore CPUs |
nov 23 LEC 20: Failed OSes | nov 24 | nov 25 Thanksgiving Recess | nov 26 Thanksgiving Recess | nov 27 Thanksgiving Recess |
nov 30 LEC 21: Multicore II | dec 1 | dec 2 LEC 22: Hypervisors, VMMs | dec 3 | dec 4 Seminar 12: Containers |
dec 7 LEC 23: Kernel extensibility, Kernel bypass | dec 8 | dec 9 LEC 24: TBD | dec 10 | dec 11 Last day of classes DUE:
Project 7: Final Project No seminar |
dec 14 | dec 15 | dec 16 | dec 17 | SATURDAY, dec 19 Final Quiz Timing: 2:00pm-5:00pm, rooms TBD |