1/76
These vocabulary flashcards cover fundamental terms related to processes, scheduling, interprocess communication, and threads, providing concise definitions for exam review.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Process
A program in execution, including current register values, program counter, and memory sections.
Program
A passive entity stored on disk (executable file) that becomes a process when loaded into memory.
Multiprogramming
Rapid CPU switching among processes to keep the CPU busy and maximize utilization.
Batch System
Operating-system environment that executes jobs with minimal user interaction.
Time-Shared System
Environment that rapidly switches the CPU among user programs (tasks) to give interactive response.
Text Section
The portion of a process containing executable program code.
Process Stack
Area in a process memory holding temporary data such as parameters, return addresses, and local variables.
Data Section
Part of a process memory that stores global variables.
Heap
Memory region in a process for dynamically allocated data at run time.
Process State – New
State in which a process is being created.
Process State – Running
State where CPU instructions of the process are actively executing.
Process State – Waiting
State where a process waits for an event (e.g., I/O completion).
Process State – Ready
State where a process is prepared to run and awaiting CPU allocation.
Process State – Terminated
State reached after a process finishes execution.
Process Control Block (PCB)
Data structure used by the OS to store all information about a particular process.
Program Counter (in PCB)
Field indicating the address of the next instruction for the process.
CPU-Scheduling Information
Part of PCB holding priority, queue pointers, and other scheduling parameters.
Memory-Management Information
PCB fields containing base/limit registers, page or segment tables.
Accounting Information
PCB data such as CPU time used, job numbers, and time limits.
I/O Status Information
PCB list of allocated devices and open files for the process.
Context Switch
Saving the state of one process and restoring another so the CPU can switch execution.
Ready Queue
Linked list of PCBs for processes in main memory waiting to run.
Job Queue
Collection of all processes in the system.
Device Queue
Queue of processes waiting for a particular I/O device.
Long-Term Scheduler (Job Scheduler)
OS component that selects which jobs are loaded into memory.
Short-Term Scheduler (CPU Scheduler)
Component that chooses which ready process gets the CPU next.
Medium-Term Scheduler
Scheduler that swaps processes in and out of memory to improve the mix; supports swapping.
CPU-Bound Process
Process spending most of its time doing computations and making few I/O requests.
I/O-Bound Process
Process that spends more time on I/O than CPU computation.
Swapping
Removing a process from memory and later reloading it to continue execution.
Parent Process
A process that creates one or more child processes.
Child Process
Process created by another process (its parent).
Process Identifier (PID)
Unique integer assigned to each process for indexing its attributes.
Process Tree
Hierarchical representation showing parent-child relationships among processes.
Orphan Process
Child whose parent has terminated; re-parented to init in UNIX/Linux.
Zombie Process
Terminated process whose parent has not yet called wait(); its PCB entry remains for exit status.
Cascading Termination
OS-initiated termination of all child processes if a parent exits in systems that disallow independent children.
Interprocess Communication (IPC)
Mechanisms permitting processes to exchange data and synchronize.
Independent Process
Process that cannot affect or be affected by others and shares no data.
Cooperating Process
Process that can affect or be affected by others via shared data or communication.
Shared-Memory Model
IPC model where cooperating processes communicate by reading/writing a common memory region.
Message-Passing Model
IPC model where processes exchange data via send() and receive() operations.
Producer–Consumer Problem
Classic shared-memory synchronization scenario where producers generate data consumed by consumers.
Bounded Buffer
Fixed-size circular buffer used in producer-consumer problem; full/empty conditions require waiting.
Unbounded Buffer
Logical buffer with no capacity limit; producer never waits for space.
Mailbox (Port)
Named object for indirect message passing where multiple processes can deposit and remove messages.
Blocking Send
Send operation that suspends the sender until the message is received.
Nonblocking Send
Send operation that returns immediately after queuing the message.
Blocking Receive
Receive operation that blocks until a message is available.
Nonblocking Receive
Receive that returns immediately with a message or null if none available.
Zero-Capacity Link
Message queue of length zero; sender blocks until receiver accepts the message.
Bounded-Capacity Link
Message queue with finite length n; sender blocks only when the queue is full.
Unbounded-Capacity Link
Message queue with infinite length; sender never blocks.
Scheduler
OS module that makes decisions about which process or thread runs next.
Dispatcher
Module that performs context switch, mode switch, and jumps to selected process code.
Preemptive Scheduling
Scheduling where the OS can take the CPU away from a running process.
Non-Preemptive Scheduling
Scheduling where a running process keeps the CPU until it blocks or terminates.
CPU Burst
Period during which a process runs on the CPU before doing I/O.
I/O Burst
Time interval where a process waits for I/O after a CPU burst.
Scheduling Criteria – CPU Utilization
Percentage of time the CPU is busy; higher is better.
Scheduling Criteria – Throughput
Number of processes completed per time unit.
Scheduling Criteria – Turnaround Time
Total time from process submission to completion.
Scheduling Criteria – Waiting Time
Total time a process spends in the ready queue.
Scheduling Criteria – Response Time
Time from request submission to first response output.
Fairness
Degree to which each process gets an equitable share of CPU time.
FCFS Scheduling
First-Come, First-Served algorithm that runs jobs in arrival order; non-preemptive.
Convoy Effect
Situation in FCFS where one long CPU-bound job delays many I/O-bound jobs.
Shortest Job First (SJF)
Algorithm that selects the process with the shortest CPU burst; optimal for avg waiting time.
Shortest Remaining Time First (SRTF)
Preemptive version of SJF that always runs the job with the smallest remaining burst.
Priority Scheduling
Algorithm that allocates CPU to highest-priority process; can be preemptive or non-preemptive.
Starvation
Indefinite blocking of low-priority processes in priority scheduling.
Aging
Technique of gradually increasing waiting processes’ priorities to prevent starvation.
Round Robin (RR)
Preemptive algorithm using time quantum q and cyclic order through ready queue.
Time Quantum (Time Slice)
Fixed CPU time a process can run before being preempted in RR scheduling.
Thread
Lightweight unit of CPU utilization within a process, having its own PC, registers, and stack but sharing code and data.
Multithreaded Process
Single process containing multiple threads that share resources but execute concurrently.
Advantages of Threads
Lower context-switch overhead, easier communication, improved concurrency, and better multiprocessor utilization.