1/25
Vocabulary terms covering process creation, memory organization, Unix-specific process management, and context switching mechanisms.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
init
The first process in Unix created at boot time which creates other processes at startup and later as needed.
Code/text space
The region of a process memory image that contains the program instructions.
Global data space
The region of a process memory image reserved for global variables.
Heap
The region of a process memory image used for dynamically allocated data.
Stack
The region of a process memory image used for local function data.
Code/text, global variables, heap and stack direction growth.
Towards each other - code/text, global variables, and heap grow toward the stack (and vice versa).
Cloning
A process creation mechanism where a process spawns a copy of itself, such as the fork() system call in Unix-based OSs.
Creation from scratch
A process creation mechanism where a process creates a new process with appropriate parameters, such as the CreateProcess() system call in Windows.
fork()
A Unix system call that creates a new process by copying the parent's memory image; it returns the child ID to the parent and 0 to the child upon success.
Value that fork() returns to the parent process for an unsuccessful copy
-1
return, conditional
The __ value from the fork statement can be used to enable __ execution after the fork statement. This allows the parent and child processes to have different behavior even though they execute the same program.
exec family
System calls used by a child process to change its memory image, stopping the parent program and starting a new program.
command line parameters
The second parameter passed on to the execvp system call is an array of __ __ __ to be passed to the new program to be executed by the process making the execvp system call.
unistd.h
The header file __ must be included to get access to the execvp system call.
Copy on write
An optimization for cloning where the parent and child share the same memory until either process modifies the data, at which point a copy is made.
Process group
The hierarchy formed by a process, its children, and all subsequent descendants.
Orphan process
A child process whose parent has terminated before it; these processes are adopted by the init process.
Zombie process
A child process that has terminated but whose PCB is still kept by the system because it has not yet been reaped by the parent.
wait
The OS system call that allows a parent process to reap children by waiting for them to terminate.
Process table
A table maintained by the OS to hold the Process Control Blocks (PCBs) of all processes.
Context switching
The mechanism of switching the CPU from one process to another by saving the current state into a PCB and reloading a new state from another PCB.
Switch overhead
The time required to perform a process switch typically ranges from 1-1000 μs, depending on hardware support.
Interrupt vector
A structure that contains the address of the interrupt service routine used during a transition to kernel mode for a process switch.
memory image
The memory space allocated for a given process is called its __ __.
cloning, mechanism
__ is a process creation __ where an existing process spawns a new process that is a copy of itself.
policy, mechanism
In a system with multiple processes, the question of when an OS switches to a different process is answered by a __ and the question of how process switching is performed is answered by a __.