-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbibliography.bib
222 lines (222 loc) · 12.2 KB
/
bibliography.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
@inproceedings{multics,
author = {Corbat\'{o}, F. J. and Vyssotsky, V. A.},
title = {Introduction and Overview of the Multics System},
year = {1965},
isbn = {9781450378857},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1463891.1463912},
doi = {10.1145/1463891.1463912},
abstract = {Multics (Multiplexed Information and Computing Service) is a comprehensive, general-purpose programming system which is being developed as a research project. The initial Multics system will be implemented on the GE 645 computer. One of the overall design goals is to create a computing system which is capable of meeting almost all of the present and near-future requirements of a large computer utility. Such systems must run continuously and reliably 7 days a week, 24 hours a day in a way similar to telephone or power systems, and must be capable of meeting wide service demands: from multiple man-machine interaction to the sequential processing of absentee-user jobs; from the use of the system with dedicated languages and subsystems to the programming of the system itself; and from centralized bulk card, tape, and printer facilities to remotely located terminals. Such information processing and communication systems are believed to be essential for the future growth of computer use in business, in industry, in government and in scientific laboratories as well as stimulating applications which would be otherwise undone.},
booktitle = {Proceedings of the November 30--December 1, 1965, Fall Joint Computer Conference, Part I},
pages = {185–196},
numpages = {12},
location = {Las Vegas, Nevada},
series = {AFIPS '65 (Fall, part I)}
}
@book{unix-book,
author = {Bach, Maurice J.},
title = {The Design of the UNIX Operating System},
year = {1986},
isbn = {0132017997},
publisher = {Prentice-Hall, Inc.},
address = {USA}
}
@misc{posix,
title = {{The Open Group Base Specifications Issue 7, 2018 edition}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/}},
note = {\\ Accessed: 17/11/2020}
}
@misc{fork,
title = {{POSIX function: \texttt{fork} - create a new process}},
howpublished = {\\ {\small\url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html}}},
note = {\\ Accessed: 17/11/2020}
}
@misc{setpgid,
title = {{POSIX function: \texttt{setpgid} - set process group {ID} for job control}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/setpgid.html}},
note = {\\ Accessed: 17/11/2020}
}
@misc{terminal-access,
title = {{POSIX: Terminal Access Control}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html#tag_11_01_04}},
note = {\\ Accessed: 19/11/2020}
}
@misc{readline,
title = {{The GNU Readline Library}},
howpublished = {\\ \url{https://tiswww.case.edu/php/chet/readline/rltop.html}},
note = {\\ Accessed: 23/11/2020}
}
@misc{termios,
title = {{POSIX header: \texttt{termios.h} - define values for termios}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html}},
note = {\\ Accessed: 23/11/2020}
}
@misc{tcsetattr,
title = {{POSIX function: \texttt{tcsetattr} - set the parameters associated with the terminal}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/tcsetattr.html}},
note = {\\ Accessed: 17/11/2020}
}
@misc{tcgetattr,
title = {{POSIX function: \texttt{tcgetattr} - get the parameters associated with the terminal}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/tcgetattr.html}},
note = {\\ Accessed: 17/11/2020}
}
@misc{tcgetpgrp,
title = {{POSIX function: \texttt{tcgetpgrp} - get the foreground process group ID}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/tcsetpgrp.html}},
note = {\\ Accessed: 17/11/2020}
}
@misc{tcsetpgrp,
title = {{POSIX function: \texttt{tcsetpgrp} - set the foreground process group ID}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/tcsetpgrp.html}},
note = {\\ Accessed: 17/11/2020}
}
@misc{sigaction,
title = {{POSIX function: \texttt{sigaction} - examine and change a signal action}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigaction.html}},
note = {\\ Accessed: 29/01/2021}
}
@misc{sigprocmask,
title = {{POSIX function: \texttt{sigprocmask} - examine and change blocked signals}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigprocmask.html}},
note = {\\ Accessed: 29/01/2021}
}
@misc{kill,
title = {{POSIX function: \texttt{kill} - send a signal to a process or a group of processes}},
howpublished = {\\ {\small\url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html}}},
note = {\\ Accessed: 29/01/2021}
}
@misc{wait,
title = {{POSIX functions: \texttt{wait, waitpid} - wait for a child process to stop or terminate}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/waitpid.html}},
note = {\\ Accessed: 25/02/2021}
}
@misc{setsid,
title = {{POSIX function: \texttt{setsid} - create session and set process group ID}},
howpublished = {\\ {\small\url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/setsid.html}}},
note = {\\ Accessed: 25/02/2021}
}
@misc{posix-openpt,
title = {{POSIX function: \texttt{posix\_openpt} - open a pseudo-terminal device}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_openpt.html}},
note = {\\ Accessed: 23/04/2021}
}
@misc{ptsname,
title = {{POSIX function: \texttt{ptsname} - get name of the slave pseudo-terminal device}},
howpublished = {\\ {\url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/ptsname.html}}},
note = {\\ Accessed: 23/04/2021}
}
@misc{poll,
title = {{POSIX function: \texttt{poll} - input/output multiplexing}},
howpublished = {\\ {\small\url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html}}},
note = {\\ Accessed: 11/05/2021}
}
@misc{select,
title = {{POSIX functions: \texttt{pselect, select} - synchronous I/O multiplexing}},
howpublished = {\\ {\small\url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html}}},
note = {\\ Accessed: 11/05/2021}
}
@misc{setitimer,
title = {{POSIX functions: \texttt{getitimer}, \texttt{setitimer} - get and set value of interval timer}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/setitimer.html}},
note = {\\ Accessed: 11/05/2021}
}
@misc{restart-syscall,
title = {{Linux manual page: \texttt{restart\_syscall} - restart a system call after interruption by a
stop signal}},
howpublished = {\\ \url{https://man7.org/linux/man-pages/man2/restart_syscall.2.html}},
note = {\\ Accessed: 11/05/2021}
}
@misc{stty,
title = {{POSIX function: \texttt{stty} - set the options for a terminal}},
howpublished = {\\ {\small\url{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/stty.html}}},
note = {\\ Accessed: 07/05/2021}
}
@misc{uio-man,
title = {{FreeBSD manual page: \texttt{uio}, \texttt{uiomove}, \texttt{uiomove\_frombuf}, \texttt{uiomove\_nofault} - device driver I/O routines}},
howpublished = {\\ \url{https://www.freebsd.org/cgi/man.cgi?query=uio&manpath=FreeBSD+12.2-RELEASE+and+Ports}},
note = {\\ Accessed: 07/05/2021}
}
@book{apue,
author = {Stevens, W. Richard and Rago, Stephen A.},
title = {Advanced Programming in the UNIX Environment},
year = {2013},
isbn = {0321637739},
publisher = {Addison-Wesley Professional},
edition = {3rd},
abstract = {For more than twenty years, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens Advanced Programming in the UNIX Environment . Now, once again, Richs colleague Steve Rago has thoroughly updated this classic work. The new third edition supports todays leading platforms, reflects new technical advances and best practices, and aligns with Version 4 of the Single UNIX Specification. Steve carefully retains the spirit and approach that have made this book so valuable. Building on Richs pioneering work, he begins with files, directories, and processes, carefully laying the groundwork for more advanced techniques, such as signal handling and terminal I/O. He also thoroughly covers threads and multithreaded programming, and socket-based IPC. This edition covers more than seventy new interfaces, including POSIX asynchronous I/O, spin locks, barriers, and POSIX semaphores. Most obsolete interfaces have been removed, except for a few that are ubiquitous. Nearly all examples have been tested on four modern platforms: Solaris 10, Mac OS X version 10.6.8 (Darwin 10.8.0), FreeBSD 8.0, and Ubuntu version 12.04 (based on Linux 3.2). As in previous editions, youll learn through examples, including more than ten thousand lines of downloadable, ISO C source code. More than four hundred system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what youve learned, the book presents several chapter-length case studies, each reflecting contemporary environments. Advanced Programming in the UNIX Environment has helped generations of programmers write code with exceptional power, performance, and reliability. Now updated for todays systems, this third edition will be even more valuable.}
}
@misc{terminal-spec,
title = {{POSIX: General Terminal Interface}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html}},
note = {\\ Accessed: 13/04/2021}
}
@book{tlpi,
author = {Kerrisk, Michael},
title = {The Linux Programming Interface: A Linux and UNIX System Programming Handbook},
year = {2010},
isbn = {1593272200},
publisher = {No Starch Press},
address = {USA},
edition = {1st}
}
@misc{general-spec,
title = {{POSIX: General Information}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html}},
note = {\\ Accessed: 28/04/2021}
}
@bachelorsthesis{julian-thesis,
author = {Julian Pszczołowski},
title = {{An overview of synchronization methods in Unix-like kernels and an implementation of turnstiles in Mimiker OS}},
school = {University of Wrocław},
year = 2018,
note = {Written in Polish}
}
@misc{freebsd-locking,
title = {{FreeBSD manual page: \texttt{locking} - kernel synchronization primitives}},
howpublished = {\\ \url{https://www.freebsd.org/cgi/man.cgi?query=locking&manpath=FreeBSD+12.2-RELEASE+and+Ports}},
note = {\\ Accessed: 19/05/2021}
}
@book{freebsd-book,
author = {McKusick, Marshall Kirk and Neville-Neil, George and Watson, Robert N.M.},
title = {The Design and Implementation of the FreeBSD Operating System},
year = {2014},
isbn = {0321968972},
publisher = {Addison-Wesley Professional},
edition = {2nd}
}
@misc{libterminfo,
title = {{NetBSD manual page: Terminal information library}},
howpublished = {\\ \url{https://man.netbsd.org/terminfo.3}},
note = {\\ Accessed: 20/05/2021}
}
@misc{tailq-man,
title = {{FreeBSD manual page: Implementations of
singly-linked lists, singly-linked tail queues, lists and tail queues}},
howpublished = {\\ \url{https://www.freebsd.org/cgi/man.cgi?query=TAILQ_HEAD&apropos=0&sektion=0&manpath=FreeBSD+13.0-RELEASE+and+Ports&arch=default&format=html#TAIL_QUEUES}},
note = {\\ Accessed: 26/05/2021}
}
@misc{posix-defs,
title = {{POSIX: Definitions}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html}},
note = {\\ Accessed: 03/06/2021}
}
@misc{fg-command,
title = {{POSIX command: \texttt{fg} - run jobs in the foreground}},
howpublished = {\\ \url{https://pubs.opengroup.org/onlinepubs/9699919799/utilities/fg.html}},
note = {\\ Accessed: 04/06/2021}
}
@book{silberschatz,
author = {Silberschatz, Abraham and Galvin, Peter Baer and Gagne, Greg},
title = {Operating System Concepts},
year = {2018},
isbn = {9781119320913},
publisher = {Wiley Publishing},
edition = {10th}
}
@misc{freebsd-handbook,
title = {{The FreeBSD Handbook}},
howpublished = {\\ \url{https://docs.freebsd.org/en/books/handbook/}},
note = {\\ Accessed: 06/06/2021}
}