-
Notifications
You must be signed in to change notification settings - Fork 85
/
glossary.tex
153 lines (120 loc) · 5.08 KB
/
glossary.tex
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
%%%%%%%%%%%%%%%%%%%%%%%% Intro C %%%%%%%%%%%%%%%%%%%%%%%%%%
\newglossaryentry{portable}
{
name=Portable,
description={Works on multiple operating systems or machines}
}
\newglossaryentry{POSIX}
{
name=POSIX,
description={Portable Operating System Interface, a set of standard defined by IEEE for an operating system}
}
\newglossaryentry{linux kernel}
{
name=Linux Kernel,
description={A widely used operating system kernel}
}
\newglossaryentry{C}
{
name=C,
description={A multipurpose programming language}
}
%%%%%%%%%%%%%%%%%%%%%%%% Deadlock %%%%%%%%%%%%%%%%%%%%%%%%%%
\newglossaryentry{livelock}
{
name=Livelock,
description={TODO}
}
\newglossaryentry{Deadlock}{
name=Deadlock,
description={When a system cannot progress}
}
\newglossaryentry{RAG}{
name=RAG,
description={A tool for helping identify deadlock if a cycle is apprent}
}
\newglossaryentry{Coffman Conditions}{
name=Coffman Conditions,
description={Four necissary and sufficient conditions for deadlock}
}
\newglossaryentry{Mutual Exclusion}{
name=Mutual Exclusion,
description={When two processes cannot have the same resource at the same time}
}
\newglossaryentry{Circular Wait}{
name=Circular Wait,
description={When a set of processes are waiting for resources held by other processes}
}
\newglossaryentry{Hold and Wait}{
name=Hold and Wait,
description={Once a process obtains a resource, the process cannot give that resource up}
}
\newglossaryentry{pre-emption}{
name=Pre-emption,
description={When a process is forced to give up its resource by another process}
}
\newglossaryentry{ostrich algorithm}{
name=Ostrich Algorithm,
description={For a system not to care about deadlock, instead stick its head in the sand}
}
%%%%%%%%%%%%%%%%%%%%%%%% Networking %%%%%%%%%%%%%%%%%%%%%%%%%%
\newglossaryentry{octet}{
name=Octet,
description={Defined as exactly 8 bits. This definition is used for concreteness in IPv4}
}
\newglossaryentry{IPv4}{
name=Internet Protocol Version 4,
description={4th Version of the internet protocol that deals with how to route, chunk, and reassemble packets over the web}
}
\newglossaryentry{IPv6}{
name=Internet Protocol Version 6,
description={6th Version of the internet protocol that deals with how to route, chunk, and reassemble packets over the web}
}
\newglossaryentry{IPv4 address}{
name=IPv4 Address,
description={A thirty two bit number that addresses a computer}
}
\newglossaryentry{hostnames}{
name=Hostname,
description={Giving the machine a user-readable address that maps to an IP Address}
}
\newglossaryentry{DNS}{
name=Domain Name Service,
description={Service provided by ISPs among other}
}
\newglossaryentry{TCP}{
name=Transport Control Protocol,
description={A layer 4 protocol that deals with the reliable delivery of bytes between two computers.}
}
\newglossaryentry{Ports}{
name=Port,
description={A construct defined by layer 4 protocols that allows separate applications to share a single conenction. Each layer 4 protocol communicates with a port and application can send and receive on specific ports}
}
\newglossaryentry{Internet Engineering Task Force}{
name=Internet Engineering Task Force,
description={A group of computing professionals who oversee the development of new standards and protocols devices that communicate which each other should abide by.}
}
\newglossaryentry{packets}{
name=Packet,
description={A packet is a logical piece of data that gets sent over the internet. Packets differ from datagrams because datagrams may have multiple fragments when floating through the internet -- meaning they do not make ``sense'' without the other datagram fragments whereas one packet means something to higher level protocols}
}
\newglossaryentry{datagram}{
name=Datagram,
description={A datagram is a set of bytes that is transmitted along a path to a destination. This differs from a packet because a single datagram may not make sense to higher level protocols because it could be a fragment of a larger packet}
}
\newglossaryentry{HTTP}{
name=Hyper Text Transfer Protocol,
description={A protocol that describes how to send a VERB (GET, PUT, DELETE...) to a particular endpoint and what response to accept back. This is most commonly used to surf the web. There are a few versions of the protocol, namely 1.0, 1.1, and 2.0. 1.0 Uses one TCP connection a request, 1.1 can let you send multiple TCP connections with requests, and 2.0 is a binary wire protocol versus a plain text protocol to name a few differences}
}
\newglossaryentry{FTP}{
name=File Transfer Protocol,
description={A protocol that deals with listing and transfering files of arbitrary size to a receiver.}
}
\newglossaryentry{Ethernet}{
name=Ethernet,
description={A set of protocols that allow two computers to communicate directly over a physical Ethernet Compliant cable}
}
\newglossaryentry{WiFi}{
name=WiFi,
description={Usually referring to 802.11, wifi is a series of protocols that delimit how a computer is able to communicate wirelessly with another computer. There are many different flavors of WIFI that all provide some benefit. Most of the time, you use WIFI to communicate with your router}
}