Kernel Development Learning Pipeline
KDLP Fall 2024 Midterm Presentation Guidelines
- Overview:
- Short presentation about research into a topic of your choice live during class
- Propose topic and outline ahead of time
- Plenty of room to be creative 🙂
- Example midpoint presentation topics (pick one of these or propose your own):
- What is the OOM killer?
- Why are there multiple versions of some syscalls with numbers at the end (e.g.
accept
, dup
, pipe
, etc)? What do the numbers refer to? What issue were they added to address?
- Why do some syscalls have a version ending in
at
(e.g. open
, fstat
, rename
, symlink
, etc)? What issue were they added to address?
- What does
.config
do? How does it interact with the build process for the kernel?
- What is physical and virtual memory? Why is there a distinction between the two?
- What is the history of git? How does it fit into the bigger picture of version control software?
- How do container technologies like Podman, Docker, or LXC "share" a kernel with the host machine? What do they not share? What mechanisms of the linux kernel underly this technology?
- How does the linux BPF system let userspace run arbitrary code in kernel mode? What techniques does it use to ensure that this is safe?
- What concept does the phrase "Don't break userspace" refer to in the linux kernel? What does it look like in practice?
- What is the linux VDSO? What problem does it try to solve? How does it compare to other historical techniques like vsyscall?
- Or suggest your own!
- Select a topic and submit your proposal with a short outline as soon as possible in the new
#midpoint
channel on matrix.
- The hard due date for proposals is 23:59 on 10/10/2024
- The proposal must begin with a one sentence summary of the topic you wish to cover (e.g. "What does .config do?")
- The proposal must contain a rough outline of what you plan to discuss in the form of approximately a half dozen bullet points
- We will reply to your message with the proposal to let you know if it is approved or what our concerns are if we cannot approve it
- Presentation requirements:
- 6 (+/- 1) minutes long
- Must include some sort of visual component:
- Must include some sort of live demo in the terminal
- Must include discussion of some snippet(s) kernel code that is relevant to your topic
- Present live during class time in the class Jitsi
- Share your screen for terminal + visual elements
- There will be three presentations per day at the start of class during L11, L12, L13, L14, L15, L16, L17, L18, L19, L20, and L21
- The exact schedule for which student is presenting on what day will be posted on matrix in the general channel
- We will not wait for you, so make sure you are not late on the day that your presentation is scheduled
msg = (silence)
whoami = None
singularity v0.6-4-gbe148cb https://github.com/underground-software/singularity