Andrew Tanenbaum: Modern Operating Systems, 3rd Edition, 2007. Prentice-Hall. ISBN: 0-13-600663-9 (but 4th Edition is also absolutely OK).The whole book is part of the curriculum for INF151, see the teaching plan for details on which chapters are linked to which lectures.
All foils from the lectures.
All project assignments.
Information from the following books can be found also on the Internet:
- Protected Mode Software Architecture, by Tom Shanley, MindShare, Inc. 1996.
- The Undocumented PC, Frank van Gilluwe, Addison Wesley.
Paul A. Carter: PC Assembly Language, 12. Dec. 2002, published on the web. local copy, original page - the book is based on the GNU assembler nasm. All examples from the book can be found on the original page.
Kai Li, A Guide to Programming Pentium/Pentium Pro Processors, published on the web. local copy - A small addition having a table in chapter 2.2 that compares the syntaxes of the gas and nasm assemblers.
IA-32 Intel Architecture Optimization. local copy
IA-32 Intel Architecture vol. 1 Basic Architecture. local copy
IA-32 Intel Architecture vol. 2A Instruction Set Reference, A-M. local copy
IA-32 Intel Architecture vol. 2B Instruction Set Reference, N-Z. local copy
IA-32 Intel Architecture vol. 3 System Programming Guide.local copy
Tool Interface Standard (TLS), Executable and Linkable Format (ELF) Specification. local copy (This document is only for those very interested in the topic)
Using cross-referencing tags in the Emacs editor. local copy
Assembler Tutorial (1996). local copy
Manpage for createimage. local copy
Using inline assembly with gcc. local copy (This helps you to read the existing code that makes use of gcc's special feature called inline assembly. Inline assembly allows to mix C and assembler code, but the result of mixing is compiler and compiler-flag specific and therefore dangerous.)