Reading materials
UNIX
x86 Emulation
- Bochs - An x86 platform and CPU
emulator.
- QEMU - A new, much faster but less
mature PC emulator. Nelson Elhage has written up directions for using QEMU
with OS course. Make sure the code you hand in works with Bochs.
x86 Assembly
Language
PC Hardware
Programming
- General PC
architecture information
- General BIOS
and PC bootstrap
- PCI
programming
- VGA display
- kern/console.c
- Keyboard and
Mouse - kern/console.c
- 8253/8254
Programmable Interval Timer (PIT) - inc/timerreg.h
- 8259/8259A
Programmable Interrupt Controller (PIC) - kern/picirq.*
- Real-Time
Clock (RTC) - kern/kclock.*
- 16550 UART
Serial Port - kern/console.c
- IEEE 1284
Parallel Port - kern/console.c
- IDE hard
drive controller - kern/ide.c
- Sound cards
(not supported in 6.828 kernel, but you're welcome to do it as a
challenge problem!)
- E100 Network
Interface Card
|