Differences between process and thread
What does a mutex do
What does a semaphore do
What are 4 things every process have
What does fork() do and return
What do exec() family functions do
What does wait() do
What does system() do
What are the two main approaches to IPC?
What does signal(SIGUSR1, sigHandler) do
What does kill() function do
How to identify a process when using sockets
What are the two main transport layers
What are the 3 types of sockets and what transport layer do they work with
Stream socket: connection must be established then closed, best for reliable in-order delivery, TCP
Datagram socket: connectionless, data sent when ready, faster sending but no reliable order, UDP
Raw socket: bypass transport layer
What does the kernel do
What are possible values for the second parameter of signal()
What is an orphan process
What is a zombie process
What are the connection steps for a TCP server
What are the connection steps for a TCP client
What’s the process for a UDP server
What’s the process for a TCP server
What are thread contexts
What do threads share