Title: CSE 351 23au / LS24 Processes II, Virtual Memory I

Q: In the fork-exec model, what does fork() do?
A: Fork duplicates the process that called it which spawns a child process that starts the exact same execution state as the parent process

Q: In the fork-exec model, what is exec*()?
A: Exex*() is a family of functions that replace the current process data with a fresh instance of the program

Q: The current running process duplicates itself by calling ___ and then the new child process calls some form of ___.
A: fork(), exec*()

Q: The system call that suspends execution of the current process until any of its children have terminated is called ___.
A: wait()

Q: What is the difference between wait() and waitpid()?
A: Wait pid() specifies the pid of the named child process, however, both functions suspend the execution of the parent until the child process terminates

Q: What library function explicitly terminates a process early, entering it into a zombie state?
A: exit()

Q: Virtual memory hides the ___ addresses used and abstracts away the available amount of ___ memory (RAM) on the machine.
A: physical, physical

Q: The set of bytes the process thinks is available is known as the ___
A: virtual address space

Q: The set of bytes actually available in physical memory is known as the ___
A: physical address space

Q: The portion of disk to temporarily store memory that exceeds the physical address space (RAM) is called the ___
A: swap space

Q: The n-bit address referring to a byte in the virtual address space is called the ___
A: virtual address

Q: How is the virtual address used?
A: The virtual address is used by the processes to request data from memory

Q: The m-bit address that refers to a byte in the physical address space is called the ___
A: physical address