3597e200018825d0256706283a788c0cbb063247
[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 @bibdfn{MC146818A}
71 @uref{specs/mc146818a.pdf, , Motorola MC146818A Real Time Clock Plus
72 Ram (RTC)}.  Datasheet for PC real-time clock chip.
73
74 @node Software References
75 @section Software References
76
77 @bibdfn{ELF1}
78 @uref{specs/elf.pdf, , Tool Interface Standard (TIS) Executable and
79 Linking Format (ELF) Specification Version 1.2 Book I: Executable and
80 Linking Format}.  The ubiquitous format for executables in modern Unix
81 systems.
82
83 @bibdfn{ELF2}
84 @uref{specs/elf.pdf, , Tool Interface Standard (TIS) Executable and
85 Linking Format (ELF) Specification Version 1.2 Book II: Processor
86 Specific (Intel Architecture)}.  80@var{x}86-specific parts of ELF.
87
88 @bibdfn{ELF3}
89 @uref{specs/elf.pdf, , Tool Interface Standard (TIS) Executable and
90 Linking Format (ELF) Specification Version 1.2 Book III: Operating
91 System Specific (UNIX System V Release 4)}.  Unix-specific parts of
92 ELF.
93
94 @bibdfn{SysV-ABI}
95 @uref{specs/sysv-abi-4.1.pdf, , System V Application Binary Interface:
96 Edition 4.1}.  Specifies how applications interface with the OS under
97 Unix.
98
99 @bibdfn{SysV-i386}
100 @uref{specs/sysv-abi-i386-4.pdf, , System V Application Binary 
101 Interface: Intel386 Architecture Processor Supplement: Fourth
102 Edition}.  80@var{x}86-specific parts of the Unix interface.
103
104 @bibdfn{SysV-ABI-update}
105 @uref{specs/sysv-abi-update.html/contents.html, , System V Application Binary
106 Interface---DRAFT---24 April 2001}.  A draft of a revised version of
107 @bibref{SysV-ABI} which was never completed.
108
109 @node Operating System Design References
110 @section Operating System Design References
111
112 @bibdfn{Christopher}
113 W.@: A.@: Christopher, S.@: J.@: Procter, T.@: E.@: Anderson,
114 @cite{The Nachos instructional operating system}.
115 Proceedings of the @acronym{USENIX} Winter 1993 Conference.
116 @uref{http://portal.acm.org/citation.cfm?id=1267307}.
117
118 @bibdfn{Dijkstra}
119 E.@: W.@: Dijkstra, @cite{The structure of the ``THE''
120 multiprogramming system}.  Communications of the ACM 11(5):341--346,
121 1968.  @uref{http://doi.acm.org/10.1145/363095.363143}.
122
123 @bibdfn{Hoare}
124 C.@: A.@: R.@: Hoare, @cite{Monitors: An Operating System
125 Structuring Concept}.  Communications of the ACM, 17(10):549--557,
126 1974.  @uref{http://www.acm.org/classics/feb96/}.
127
128 @bibdfn{Lampson}
129 B.@: W.@: Lampson, D.@: D.@: Redell, @cite{Experience with processes and
130 monitors in Mesa}.  Communications of the ACM, 23(2):105--117, 1980.
131 @uref{http://doi.acm.org/10.1145/358818.358824}.
132
133 @bibdfn{McKusick}
134 M.@: K.@: McKusick, K.@: Bostic, M.@: J.@: Karels, J.@: S.@: Quarterman,
135 @cite{The Design and Implementation of the 4.4@acronym{BSD} Operating
136 System}.  Addison-Wesley, 1996.
137
138 @bibdfn{Wilson}
139 P.@: R.@: Wilson, M.@: S.@: Johnstone, M.@: Neely, D.@: Boles,
140 @cite{Dynamic Storage Allocation: A Survey and Critical Review}.
141 International Workshop on Memory Management, 1995.
142 @uref{http://www.cs.utexas.edu/users/oops/papers.html#allocsrv}.