Kernel - Answers The core of an OS. Controls all hardware resources.
System Call - Answers Service points that allow programs to request services from the kernel.
Shell - Answers A program that takes user commands from the keyboard and executes those
commands.
errno - Answers A special integer variable whose value represents a type of error.
errno modification - Answers System calls, typically modify errno.
strerror(3) - Answers A function that returns a string which is an informative representation of
the meaning of the current value of errno.
perror(3) - Answers A function that prints an informative string to standard error.
File Descriptor - Answers A unique nonnegative integer associated with each open file for a
process.
File Descriptor Assignment - Answers File descriptors are assigned by the kernel. 0, 1, 2 are
already open when a process starts.
Valid File Descriptors - Answers Nonnegative integers (0, 1, 2, 3, etc.)
Unbuffered I/O - Answers I/O operation that performs immediately by invoking a system call.
Buffered I/O - Answers I/O operation that holds onto data in a temporary storage (buffer).
fstat and stat struct - Answers Using fstat and the stat struct to obtain file size, file permissions,
and last modified timestamp.
I/O Redirection - Answers Redirecting standard input/output to a file.
dup vs. dup2 - Answers dup asks the kernel to assign a new file descriptor, dup2 asks the kernel
to use an existing file descriptor.
PID - Answers Process ID, a unique integer associated with each process.
Special Processes - Answers PID 0 swapper/scheduler, PID 1 init, PID 2 pagedeamon.
Normal Process Termination - Answers Return from main, call exit(3), _exit(2), or _Exit(2).
Abnormal Process Termination - Answers Calling abort(3), receipt of a signal.
exit(3) - Answers Runs exit handlers and does some clean up work before quitting.
_exit(2) and _Exit(2) - Answers Equivalent functions that cause immediate termination of the