CS 552 Lab Schedule

Fall 2023

[Back]

Labs follow the weekly syllabus which can be found on the course website.

Week Lab Material
Week 1 VM and Kernel Building
  • Linux Kernel (2.6.33.3): Download
  • How to build a kernel: [Link]
  • Kernel building hints: [Link]
  • How is kernel compiled: [Link]
  • A guide to kernel development process: [Link]
  • VirtualBox user manual: [Link]
  • VirtualBox shared folders guide: [Link]
Week 2 Kernel Module and Makefile
  • PS/2 Controller (OSDev.org): [Link]
  • Linux Kernel Modules lab: [Link]
  • Revolution OS documentary (YouTube): [Link]
  • LKM HOWTO (Mostly covers kernel 2.4): [Link]
  • IOCTL Documentation: [Link]
Week 3 Virtual Disk and GRUB
  • Creating virtual disk and loading it with GRUB: [Link]
  • Creating virtual disk and loading it with GRUB (Slides): [Link]
  • dd GNU manual: [Link]
Week 4 Primer Demo
Week 5 Protected Mode / Real Mode
  • Ralf Brown's Interrupt List: [Link]
  • Detecting Memory (x86): [Link]
  • BIOS Report: [PDF]
  • ELF format: [Link]
  • In-depth ELF video explanation (YouTube): [Link]
Week 6 MEMOS 2
  • How does GNU GRUB work: [Link]
  • Multiboot Specification: [Link]
  • C calling convention: [Link]
  • Multiboot header: [Link]
  • Multiboot Data Format: [Link]
  • Printing to screen: [Link]
  • Linker command language: [Link]
  • E820 info: [Link]
  • Multiboot.h: [Link]
  • Memos 2 Sample code: [Link]
Week 7 N/A
Week 8 MEMOS Demo
Week 9 GDT, IDT, PIC, PIT
  • How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs (Lamport): [Paper]
  • Protothreads: [Link]
  • Inline Assembly in C: [Link]
  • Memory Addressing modes: [Link]
  • LGDT/LIDT instructions: [Link]
  • OSDev forum on GDT initialization: [Link]
  • Very nice GDT/IDT explanation: [Link]
  • How to set up GDT: [Link]
Week 10 FIFOS-2
Week 11 Office Hours
Week 12 FIFOS Demos
Week 13 DISCOS Lab To be posted
Week 14 Office Hours
Week 15 Office Hours
Week 16 Finals