CSE 451, Introduction to Operating Systems, Fall 2017
Readings
History
- The UNIX Operating System,
AT&T Archives, at YouTube
- The UNIX Time-Sharing System, Dennis M. Ritchie and Ken L. Thompson, Bell System Technical Journal 57(6)
- The Evolution of the Unix Time-sharing System, Dennis M. Ritchie
- A Narrative History of BSD, Kirk McKusick, at YouTube
- Lessons Learned from 30 Years of MINIX, Andrew S. Tanenbaum
- From L3 to seL4: What Have We Learnt in 20 Years of L4 Microkernels?, Kevin Elphinstone and Gernot Heiser
- SOSP History Day, October 4, 2015
x86_64
- Intel 80386 Programmer’s Reference Manual (pdf)
- Intel 64 and IA-32 Architectures Software Developer’s Manuals
- AMD64 Architecture Programmer’s Manual
- Executable and Linking Format (ELF) Specification
- GCC inline assembly language
- Brennan’s Guide to Inline Assembly, Brennan “Mr. Wacko” Underwood
- Inline assembly for x86 in Linux, Bharata B. Rao, IBM
- GCC-Inline-Assembly-HOWTO, Sandeep.S
- Virtualization Overview, VMware
PC hardware programming
- PC bootstrap
- Minimal Intel Architecture Boot Loader, Intel
- “El Torito” Bootable CD-ROM Format Specification, Curtis E. Stevens and Stan Merkin
- The Multiboot Specification, Yoshinori K. Okuji, Bryan Ford, Erich Stefan Boleyn, and Kunihiro Ishiguro
- Unified Extensible Firmware Interface Specification, Version 2.6, UEFI Forum
- IDE hard drive controller -
kernel/ide.c
- VGA display -
kernel/console.c
- Keyboard and Mouse -
kernel/kbd.c
- 16550 UART Serial Port -
kernel/uart.c
- Technical Data on 16550, Byterunner Technologies
- Interfacing the Serial / RS232 Port, Craig Peacock
- IEEE 1284 Parallel Port -
kernel/console.c
- IEEE 1284 - Updating the PC Parallel Port, National Instruments
- Interfacing the Standard Parallel Port, Craig Peacock
- Advanced Configuration and Power Interface (ACPI) -
kernel/acpi.c
,kernel/e820.c
- Advanced Programmable Interrupt Controller (APIC) -
kernel/lapic.c
,kernel/ioapic.c
- 8259/8259A Programmable Interrupt Controller (PIC) -
kernel/picirq.c
- Timing
- NVM Express (NVMe)
- NVM Express, Revision 1.2.1, NVM Express Workgroup
- Network interface card
- Course Home
Computer Science & Engineering University of Washington Box 352350 Seattle, WA 98195-2350 (206) 543-1695 voice, (206) 543-2969 FAX