Spring 2017 :: CSE 506 — Operating Systems

OS Textbooks

C Programming

Linux Kernel Internals

Virtual Machines

x86 Assembly Language Programming

(Thanks to Eddie Kohler and MIT's 6.828 course for some of the mmaterial below.)

  • PC Assembly Language. Paul A. Carter, November 2003.
    A good description of x86 assembly language and assembly language in general, including some stuff you ideally know already. You might prefer to read this online, rather than print it out; it's a quick read.
    Warning: This book uses "Intel" assembly syntax, in which instructions are written as 'instr dst, src'. GCC uses "AT&T" assembly syntax, in which they are written as 'instr src, dst'.
  • Brennan's Guide to Inline Assembly. Brennan "Bas" Underwood.
    A short and sweet description of how to use inline assembly instructions with GCC. Includes a description of the "AT&T" assembly syntax used by GCC.
  • IntelĀ® 64 and IA-32 Architectures Software Developer Manuals.
    Reference manual for Intel processors. Available in multiple forms (3 individual volumes or a combined book). Volume 1 describes the basic architectures. Volume 2 contains the instruction sets. Volume 3 is a system programming guide.

PC Hardware Programming