Discussion Sections - CSCI 350, Summer 2025
[ This is a BACKUP server. Do NOT use unless the primary server is DOWN. ]
In the slides and videos section below, I will post slides and pre-recorded discussion section videos before 6PM on the day before the live discussion section. In a discussion section video, I will primarily present information regrading up-coming programming assignments. I will also post live discussion section videos there.
A live discussion section is conducted by a TA.
- Fri 10:00am - 11:10am in OHE 132
Please see the Lectures web page.
The following are tentative and final slides (in PDF format) for this semester.
- Week 1
(PDF)
(May 17, 2024)
- gdb, warmup #1
Demo (for live discussion section):
- Week 2 (PDF) (May 24, 2024) - warmup #1 (part 2)
- Week 3 (PDF) (May 31, 2024) - warmup #2
- Week 4
(Jun 6, 2024)
- warmup #2 (part 1 PDF), introduction to kernel assignments
(part 2 PDF)
(part 3 PDF)
Code in slides for warmup #2:
- Week 5
(PDF)
(Jun 14, 2024)
- kernel 1, kmain.c, kmain_aux.c
Code in slides:
- Week 6
(PDF)
(Jun 21, 2024)
- more on kernel 1
Code in slides:
- Week 7
(Jun 28, 2024)
- (part 1 PDF) - kernel 2
- (part 2 TXT) - kernel 2 polymorphism, vfs.c, vnode.c, vn_special.c, file.c, vfs_syscall.c, vn_mmobj_ops.c, ramfs.c, vfstest.c, faber_fs_test
Code (kernel):
- namev.c (path name resolution code)
- vfs.c
- vnode.c
- vn_special.c
- file.c
- vfs_syscall.c
- vn_mmobj_ops.c
- ramfs.c (also look for any "_ops_t" in "kernel/include/fs/*.h", "kernel/fs/*.c" and "kernel/fs/ramfs/*.c")
- vfstest.c
- faber_fs_test.c
- Week 8
(Jul 5, 2024)
- (part 1 PDF) - introduction to kernel 3, the elf32 loader
- (part 2 PDF) - more on kernel 3, address space implementation (vmarea, mmobj, pframe, page table)
Code (kernel):
- elf32.c - the elf32 loader
- exec.c
- access.c
- vn_mmobj_ops.c - code for the mmobj inside a vnode
- syscall.c (in the kernel)
Code (user):- syscall.c (in the libc user space library)
Kernel 3 FAQ: - Week 9
(TXT)
(Jul 12, 2024)
- objdump, page fault handling, hello
Code (kernel):
- pagefault.c
- syscall.c (in the kernel)
- vn_mmobj_ops.c - code for the mmobj inside a vnode
Code (user):
Kernel 3 FAQ:
Useful Linux commands:objdump --disassemble --section=".text" user/usr/bin/hello.exec objdump --disassemble --section=".text" -S user/usr/bin/hello.exec objdump --headers user/usr/bin/hello.exec xxd -g 1 user/usr/bin/hello.execUseful GDB commands:add-symbol-file user/usr/bin/hello.exec 0x08048094 b __libc_static_entry b main b *0x12345678 layout asm layout next si info registers kernel info vmmap_mapping_info curproc->p_vmmap - Week 10
(TXT)
(Jul 19, 2024)
- fork(), user space shell
Code (user):
Remaining user space programs:
Kernel 3 FAQ:Code (user):
Kernel 3 FAQ: - Week 11 (Jul 26, 2024) - (no discussion section this week)
Below is the tentative quiz schedule for this semester.
Week # Quiz # Dates Coverage/Focus 1 Quiz 0 5/17 Discussion 1, Lecture 1, Lecture 2part1 2 Quiz 1 5/24 Discussion 2, Lectures 2part2, 3, 4, & 5part1 3 Quiz 2 5/31 Discussion 3, Lectures 5part2, 6, 7, & 8part1 4 Quiz 3 6/7 Discussions 4 & 5, Lectures 8part2, 9, 10, & 11 5 Quiz 4 6/14 Discussion 6, Lectures 12, 13, & 14 6 Quiz 5 6/21 Discussion 7, Lectures 15, 16, & 17 7 Quiz 6 6/28 Discussions 8 & 9, Lectures 18, 19, & 20 8 - 7/5 no quiz (midterm on Tue) 9 Quiz 7 7/12 Discussions 10, 11 & 12, Lectures 21, 22, 23, 24, & 25part1 10 Quiz 8 7/19 Discussion 13, Lectures 25part2, 26, 27, & 28part1 11 - 7/26 no quiz