e998a075a0537787d3dbbc42570667a84b86541e
[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 @bibdfn{SUSv3}
110 The Open Group, @uref{http://www.unix.org/single_unix_specification/,
111 , Single UNIX Specification V3}, 2001.
112
113 @node Operating System Design References
114 @section Operating System Design References
115
116 @bibdfn{Christopher}
117 W.@: A.@: Christopher, S.@: J.@: Procter, T.@: E.@: Anderson,
118 @cite{The Nachos instructional operating system}.
119 Proceedings of the @acronym{USENIX} Winter 1993 Conference.
120 @uref{http://portal.acm.org/citation.cfm?id=1267307}.
121
122 @bibdfn{Dijkstra}
123 E.@: W.@: Dijkstra, @cite{The structure of the ``THE''
124 multiprogramming system}.  Communications of the ACM 11(5):341--346,
125 1968.  @uref{http://doi.acm.org/10.1145/363095.363143}.
126
127 @bibdfn{Hoare}
128 C.@: A.@: R.@: Hoare, @cite{Monitors: An Operating System
129 Structuring Concept}.  Communications of the ACM, 17(10):549--557,
130 1974.  @uref{http://www.acm.org/classics/feb96/}.
131
132 @bibdfn{Lampson}
133 B.@: W.@: Lampson, D.@: D.@: Redell, @cite{Experience with processes and
134 monitors in Mesa}.  Communications of the ACM, 23(2):105--117, 1980.
135 @uref{http://doi.acm.org/10.1145/358818.358824}.
136
137 @bibdfn{McKusick}
138 M.@: K.@: McKusick, K.@: Bostic, M.@: J.@: Karels, J.@: S.@: Quarterman,
139 @cite{The Design and Implementation of the 4.4@acronym{BSD} Operating
140 System}.  Addison-Wesley, 1996.
141
142 @bibdfn{Wilson}
143 P.@: R.@: Wilson, M.@: S.@: Johnstone, M.@: Neely, D.@: Boles,
144 @cite{Dynamic Storage Allocation: A Survey and Critical Review}.
145 International Workshop on Memory Management, 1995.
146 @uref{http://www.cs.utexas.edu/users/oops/papers.html#allocsrv}.