Use macros for 8259A PIC registers, instead of writing them literally.
[pintos-anon] / doc / bibliography.texi
1 @node Bibliography
2 @unnumbered Bibliography
3
4 @macro bibdfn{cite}
5 @noindent @anchor{\cite\}
6 [\cite\].@w{  }
7 @end macro
8
9 @menu
10 * Hardware References::     
11 * Software References::     
12 * Operating System Design References::
13 @end menu
14
15 @node Hardware References
16 @section Hardware References
17
18 @bibdfn{IA32-v1}
19 IA-32 Intel Architecture Software Developer's Manual Volume 1: Basic
20 Architecture.  Basic 80@var{x}86 architecture and programming
21 environment.  Available via @uref{developer.intel.com}.  Section numbers
22 in this document refer to revision 18.
23
24 @bibdfn{IA32-v2a} 
25 IA-32 Intel Architecture Software Developer's Manual
26 Volume 2A: Instruction Set Reference A-M.  80@var{x}86 instructions
27 whose names begin with A through M.  Available via
28 @uref{developer.intel.com}.  Section numbers in this document refer to
29 revision 18.
30
31 @bibdfn{IA32-v2b}
32 IA-32 Intel Architecture Software Developer's Manual Volume 2B:
33 Instruction Set Reference N-Z.  80@var{x}86 instructions whose names
34 begin with N through Z.  Available via @uref{developer.intel.com}.
35 Section numbers in this document refer to revision 18.
36
37 @bibdfn{IA32-v3a}
38 IA-32 Intel Architecture Software Developer's Manual Volume 3A: System
39 Programming Guide.  Operating system support, including segmentation,
40 paging, tasks, interrupt and exception handling.  Available via
41 @uref{developer.intel.com}.  Section numbers in this document refer to
42 revision 18.
43
44 @bibdfn{FreeVGA}
45 @uref{specs/freevga/home.htm, , FreeVGA Project}.  Documents the VGA video
46 hardware used in PCs.
47
48 @bibdfn{kbd}
49 @uref{specs/kbd/scancodes.html, , Keyboard scancodes}.  Documents PC keyboard
50 interface.
51
52 @bibdfn{ATA-3}
53 @uref{specs/ata-3-std.pdf, , AT Attachment-3 Interface (ATA-3) Working
54 Draft}.  Draft of an old version of the ATA aka IDE interface for the
55 disks used in most desktop PCs.
56
57 @bibdfn{PC16550D}
58 @uref{specs/pc16550d.pdf, , National Semiconductor PC16550D Universal
59 Asynchronous Receiver/Transmitter with FIFOs}.  Datasheet for a chip
60 used for PC serial ports.
61
62 @bibdfn{8254}
63 @uref{specs/8254.pdf, , Intel 8254 Programmable Interval Timer}.
64 Datasheet for PC timer chip.
65
66 @bibdfn{8259A}
67 @uref{specs/8259A.pdf, , Intel 8259A Programmable Interrupt Controller
68 (8259A/8259A-2)}.  Datasheet for PC interrupt controller chip.
69
70 @node Software References
71 @section Software References
72
73 @bibdfn{ELF1}
74 @uref{specs/elf.pdf, , Tool Interface Standard (TIS) Executable and
75 Linking Format (ELF) Specification Version 1.2 Book I: Executable and
76 Linking Format}.  The ubiquitous format for executables in modern Unix
77 systems.
78
79 @bibdfn{ELF2}
80 @uref{specs/elf.pdf, , Tool Interface Standard (TIS) Executable and
81 Linking Format (ELF) Specification Version 1.2 Book II: Processor
82 Specific (Intel Architecture)}.  80@var{x}86-specific parts of ELF.
83
84 @bibdfn{ELF3}
85 @uref{specs/elf.pdf, , Tool Interface Standard (TIS) Executable and
86 Linking Format (ELF) Specification Version 1.2 Book III: Operating
87 System Specific (UNIX System V Release 4)}.  Unix-specific parts of
88 ELF.
89
90 @bibdfn{SysV-ABI}
91 @uref{specs/sysv-abi-4.1.pdf, , System V Application Binary Interface:
92 Edition 4.1}.  Specifies how applications interface with the OS under
93 Unix.
94
95 @bibdfn{SysV-i386}
96 @uref{specs/sysv-abi-i386-4.pdf, , System V Application Binary 
97 Interface: Intel386 Architecture Processor Supplement: Fourth
98 Edition}.  80@var{x}86-specific parts of the Unix interface.
99
100 @bibdfn{SysV-ABI-update}
101 @uref{specs/sysv-abi-update.html/contents.html, , System V Application Binary
102 Interface---DRAFT---24 April 2001}.  A draft of a revised version of
103 @bibref{SysV-ABI} which was never completed.
104
105 @node Operating System Design References
106 @section Operating System Design References
107
108 @bibdfn{Christopher}
109 W.@: A.@: Christopher, S.@: J.@: Procter, T.@: E.@: Anderson,
110 @cite{The Nachos instructional operating system}.
111 Proceedings of the @acronym{USENIX} Winter 1993 Conference.
112 @uref{http://portal.acm.org/citation.cfm?id=1267307}.
113
114 @bibdfn{Dijkstra}
115 E.@: W.@: Dijkstra, @cite{The structure of the ``THE''
116 multiprogramming system}.  Communications of the ACM 11(5):341--346,
117 1968.  @uref{http://doi.acm.org/10.1145/363095.363143}.
118
119 @bibdfn{Hoare}
120 C.@: A.@: R.@: Hoare, @cite{Monitors: An Operating System
121 Structuring Concept}.  Communications of the ACM, 17(10):549--557,
122 1974.  @uref{http://www.acm.org/classics/feb96/}.
123
124 @bibdfn{Lampson}
125 B.@: W.@: Lampson, D.@: D.@: Redell, @cite{Experience with processes and
126 monitors in Mesa}.  Communications of the ACM, 23(2):105--117, 1980.
127 @uref{http://doi.acm.org/10.1145/358818.358824}.
128
129 @bibdfn{McKusick}
130 M.@: K.@: McKusick, K.@: Bostic, M.@: J.@: Karels, J.@: S.@: Quarterman,
131 @cite{The Design and Implementation of the 4.4@acronym{BSD} Operating
132 System}.  Addison-Wesley, 1996.
133
134 @bibdfn{Wilson}
135 P.@: R.@: Wilson, M.@: S.@: Johnstone, M.@: Neely, D.@: Boles,
136 @cite{Dynamic Storage Allocation: A Survey and Critical Review}.
137 International Workshop on Memory Management, 1995.
138 @uref{http://www.cs.utexas.edu/users/oops/papers.html#allocsrv}.