1/56
Vocabulary flashcards covering core operating systems concepts from CMPE 180C process-management notes.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Program
A passive executable file containing instructions and stored on disk.
Process
An active instance of a program currently executing.
Text Section
The section of a process containing the program's compiled executable instructions.
Data Section
The section of a process containing global and static variables.
Heap
Memory dynamically allocated during execution, such as memory requested by malloc().
Stack
Memory section containing function parameters, return addresses, and local variables.
PID
A process identifier used by the operating system to identify a process.
New State
The process state indicating that the operating system is creating the process.
Ready State
The process state indicating that the process can run but is waiting to receive CPU time.
Running State
The process state indicating that the CPU is currently executing the process's instructions.
Waiting State
The process state indicating that the process cannot continue until an event occurs, such as I/O completion.
Terminated State
The process state indicating that the process has finished executing.
Process Control Block (PCB)
The operating system's record containing the information needed to manage a process, including PID, process state, program counter, CPU registers, scheduling data, memory information, and I/O information.
Program Counter
A component in the PCB storing the address of the next instruction the process should execute.
Job Queue
The collection of all processes in the system.
Ready Queue
Processes in memory that are ready and waiting to use the CPU.
Device Queue
Processes waiting for a particular I/O device or operation.
Short-Term Scheduler
Selects the next ready process to receive the CPU. It must be fast because the OS invokes it very frequently.
Long-Term Scheduler
Selects which processes enter the ready queue and controls the degree of multiprogramming.
Degree of Multiprogramming
The number of processes loaded into memory and available for execution.
CPU-Bound Process
A process that spends most of its time performing computations and has long CPU bursts.
I/O-Bound Process
A process that frequently waits for I/O and generally has short CPU bursts.
Context Switch
Saving the state of one process and restoring the saved state of another.
Parent Process
A process that creates another process.
Child Process
A process created by another process.
Process Tree
A hierarchical representation of parent and child process relationships.
fork()
A system function that creates a child process by duplicating the calling process.
Sequential Unconditional Forks Formula
For n unconditional sequential forks, the total process count formula is 2n, creating 2n−1 new children.
exec()
A function that replaces the calling process's program image with a new program without creating another process.
execvp()
An exec variant where 'v' means arguments are passed as a vector (array of string pointers) and 'p' means it searches for the executable using directories in the PATH environment variable.
exit()
A function that ends the calling process and supplies an exit status.
wait()
A function that blocks the parent until one of its children terminates.
waitpid()
A function that waits for a child selected by its PID or by another PID rule.
Zombie Process
A terminated child whose parent has not collected its exit status.
Orphan Process
A child whose parent terminated before the child.
User Mode
A restricted CPU mode used for ordinary application code.
Kernel Mode
A privileged CPU mode used by the operating system.
Privileged Instruction
An instruction that may execute only in kernel mode.
System Call
A controlled request from a program for a service provided by the operating system.
API
A programming interface that provides convenient functions for accessing services.
Trap (or Exception)
A software-generated transfer to the operating system caused by an error or service request.
Environment Variable
A named value inherited by processes that describes aspects of their execution environment.
PATH
An environment variable listing directories searched for executable programs.
IPC (Interprocess Communication)
Mechanisms that allow processes to exchange data and coordinate.
Shared-Memory IPC
An IPC model where processes access a shared region of memory, generally requiring explicit synchronization.
Message-Passing IPC
An IPC model where processes exchange messages using operations such as send() and receive().
Direct Communication
Message passing where processes explicitly name each other when sending and receiving messages.
Indirect Communication
Message passing where processes exchange messages through a shared mailbox or port.
Synchronous Communication
Communication involving blocking behavior where the calling process waits until the operation can complete.
Asynchronous Communication
Communication involving nonblocking behavior where the calling process continues without waiting.
Rendezvous
Communication in which both send and receive block until they meet.
Zero-Capacity Buffering
A message queue setup where no messages wait in a queue, forcing the sender to synchronize with the receiver.
Bounded-Capacity Buffering
A finite message queue where the sender waits when the queue is full.
Unbounded-Capacity Buffering
A theoretically unlimited message queue where the sender does not wait because of capacity.
Pipe
A communication channel that allows processes to exchange data.
Ordinary Pipe
A normally unidirectional pipe commonly used between related processes such as a parent and child.
Named Pipe
A pipe that can support communication between processes without requiring a parent-child relationship.