|
|
|
There are 4 discussion sections and you can attend any of them (i.e., you don't have to
go to the one for which you are registered). We will not have exams or do roll calling
during discussion sections. One of the discussion sections is on DEN and the lecture videos will be made accessible to all.
Each discussion section is conducted by a TA. Below is a list showing which TA is responsible for which discussion section:
- Fri 10:00am - 10:50am in GFS 116 (Hao Xu)
- Fri 11:00am - 11:50am in GFS 116 (Michael Hung)
- Fri 12:00pm - 12:50pm in MHP 106 (Sung-Han Lin)
- Fri 1:00pm - 1:50pm in OHE 100B (Bill Cheng)
During a discussion section, the TA will present information regrading up-coming programming assignments.
If you have a particular topic that you would like the TA to discuss on Friday, you should send e-mail to the TA
before 5PM on Thursday. The TA will try his/her best to cover such requests.
Please note that programming assignments are due on Fridays and you are expected to have
finished the an assignment before its due date.
Please understand that on the due date of a programming assignment,
the TAs will not be discussing the assignment that's about to be due
(except to clarify some grading related questions);
the TAs will be discussing the next programming assignment!
|
|
Tentative And Final Slides
|
The following are tentative and final slides (in PDF format) for this semester.
- Week 1
(PDF)
(6-up PDF)
- gdb, warmup #1
- Week 2
(PDF)
(6-up PDF)
- gdb, warmup #1, C, Unix
Here are some corrections to the DEN lecture video. The numbers in brackets are time indices of the video.
- [12:10] Sung-Han said "null or EOF" and that's incorrect. You cannot write EOF into a buffer.
- [13:20] Sung-Han said that if the first character is a space character, you need to "take care of it".
Please understand that "take care of it" can mean "treat as error"
- [13:45] Sung-Han said something more about having space characters are wrong.
As it turns out, it's not an error in that case. Please understand
that the example code on the slide is for parsing an input line, look for
3 tabs and breaking it into 4 strings and nothing else. What you do with
each resulting string is a separate business.
- [24:45] Sung-Han said to replace "listtest" with "sort". You should replace all instances
of "listtest" with "warmup1" to create a Makefile for part (2) of warmup #1.
- [32:40] Sung-Han forgot to copy and paste stuff in the "Do This First" section of the grading guidelines.
- [35:15] You don't have to copy and paste one line at a time.
- [39:45] Sung-Han said that the format is incorrect, but according to the spec, it is correct
- [40:00] Sung-Han said that the format is incorrect, but according to the spec, it is correct. Sung-Han corrected
himself at time index [40:43].
- [41:00] Sung-Han said that the grading guidelines is guaranteed not to change.
That's incorrect. As mentioned in item (6) at the top of the grading guidelines, it is possible that we
may change it. But we will try our best not to change it.
Also, it was mentioned in Lecture 1 we will change the data.
- [43:40] Sung-Han said that there is nothing random in "listtest.c". That's incorrect.
It shuffles differently every time. Please read the code of "listtest.c".
- [44:28] Student asked about lines that begins with "===>" and Sung-Han misunderstood and thought that
those lines were displayed by the "diff" command. If "diff" does not produce any output when you
run the grading guidelines, all you should see are the lines printed by the "echo" commands.
- Week 3
(PDF)
(6-up PDF)
- warmup #2 introduction
- Weeks 4 & 5
(PDF)
(6-up PDF)
- warmup #2, multiple processes and multiple threads
Code in slides:
- Week 6
(PDF)
(6-up PDF)
- introduction to kernel assignments
- Weeks 7 & 8
(PDF)
(6-up PDF)
- kernel 1
Code in slides:
- Week 9
(PDF)
(6-up PDF)
- introduction to kernel 2
Code in slides:
- Weeks 10 & 11
- kernel 2, vfstest.c, faber_fs_test.c
Notes:
- Week 12
(PDF)
(6-up PDF)
- introduction to kernel 3
- Week 13
- objdump, address space implementation (vmarea, mmobj, pframe, page table),
page fault handling, hello.c,
fork-and-wait.c, kernel FAQ
- Week 14
- do_fork(),
kernel 3 FAQ,
memtest.c,
eatmem.c, and forkbomb.c.
- Week 15
- questions and answers
|
|
Rough Schedule (subject to change without notice)
|
Week # |
Date |
Topics |
Comments |
---|
1 |
1/16 |
gdb, warmup #1 |
|
2 |
1/23 |
C, Unix |
|
3 |
1/30 |
warmup #2 |
(warmup #1 due at end of day) |
4 |
2/6 |
multithreading |
|
5 |
2/13 |
Unix signals |
|
6 |
2/20 |
kernel #1 |
(warmup #2 due at end of day) |
7 |
2/27 |
(TBD) |
|
8 |
3/6 |
(TBD) |
|
9 |
3/13 |
kernel #2 |
(kernel #1 due at end of day) |
- |
3/20 |
(no class) |
spring break |
10 |
3/27 |
(TBD) |
|
11 |
4/3 |
(TBD) |
|
12 |
4/10 |
kernel #3 |
(kernel #2 due at end of day) |
13 |
4/17 |
(TBD) |
|
14 |
4/24 |
(TBD) |
|
15 |
5/1 |
(TBD) |
(kernel #3 due at end of day) |
|
|
|