Scheduling Flashcards
Know the terms used to understand how CPU scheduling is done
What is the CPU-I/O burst cycle?
The recurring pattern where a process alternates between performing CPU-bound tasks and I/O-bound tasks.
What are CPU-bound processes?
Processes that spend more time in CPU bursts, such as simulations and video processing.
What are I/O-bound processes?
Processes that spend more time in I/O bursts, such as file copying and database queries.
What is preemptive scheduling?
A CPU scheduling approach where a running process can be forcibly interrupted by the operating system.
What is non-preemptive scheduling?
A CPU scheduling approach where a running process cannot be interrupted until it completes its CPU burst.
What is the role of a dispatcher?
A component of the CPU scheduler that performs the actual switching between processes.
What is the function of a dispatcher?
Switching context, switching to user mode, and going to the location of the user program.
What is dispatch latency?
The time that the dispatcher takes to stop a process and to start another running.
What are the scheduling criteria?
CPU utilization, throughput, turnaround time, waiting time, and response time.
What is the first come first served scheduling algorithm?
A non-preemptive scheduling method where processes are executed in the order they arrive.
What is the shortest job first scheduling algorithm?
A strategy that selects the process with the smallest execution time next; it can be implemented in both non-preemptive and preemptive forms.
What is the round robin scheduling algorithm?
A preemptive scheduling technique where each process is given a fixed time slice in cyclic order.
What is the priority scheduling algorithm?
A method where processes are scheduled based on priority levels, with higher-priority processes executed first.
What is aging in scheduling?
A technique used to gradually increase the priority of waiting processes to prevent starvation.
What is quantum size in round robin scheduling?
The fixed time duration allocated to each process, affecting responsiveness and context-switching overhead.
What is the multilevel queue scheduling algorithm?
A scheduling approach that partitions the ready queue into multiple separate queues based on process characteristics.
What are system processes?
Processes that perform essential operating system functions and typically operate with elevated privileges.
What are interactive processes?
Processes that require immediate user interaction and are designed to provide a fast response.
What are interactive editing processes?
Processes dedicated to user-interactive editing tasks, necessitating high responsiveness to user inputs.
What are batch processes?
Processes that are collected and executed without interactive user involvement.
What are student processes?
Processes typically associated with educational environments or learning simulations.
What is the multilevel feedback queue scheduling algorithm?
An adaptive scheduling method that allows processes to move between multiple queues based on execution characteristics.
What is thread scheduling?
The method by which an operating system decides which thread gets CPU time at any given moment.
What is process contention scope (PCS)?
A scheduling mechanism where threads compete for CPU resources within the scope of a single process.
What is system contention scope (SCS)?
A scheduling mechanism where threads compete for CPU time across all processes in the system.
What is symmetric multiprocessor scheduling?
A scheduling approach where all processors share a single ready queue, and the OS distributes tasks dynamically.
What is asymmetric multiprocessor scheduling?
A scheduling approach where one processor manages all scheduling decisions while others execute tasks.
What is processor affinity?
A scheduling technique where a process or thread is bound to a specific CPU or set of CPUs.
What is soft affinity?
An OS scheduler tries to keep a process on the same CPU but does not strictly enforce it.
What is hard affinity?
Enforces a strict policy where a thread or process is only allowed to run on specific CPUs.
What is load balancing?
A scheduling technique used in multiprocessor systems to ensure efficient resource utilization.
What is push migration?
A load balancing technique where the OS actively pushes tasks from a busy CPU to a less-loaded CPU.
What is pull migration?
A load balancing technique where an idle CPU pulls tasks from a heavily loaded CPU.
Job Queue
A list of all processes that are waiting to be admitted into the system for execution. These processes are typically stored in secondary memory and await scheduling to enter the ready queue.
Ready Queue
A collection of all processes that are loaded in main memory and ready to execute but are waiting for CPU allocation by the scheduler.
Device Queue
A queue of processes that are waiting for access to a particular I/O device. Each device may have its own separate queue.
Return time (Tq)
Time process is on system
Tq = Tf - Ti, where Tf is the finalization time and Ti is the initiation time.
Service time (Ts)
Ts = Tcpu + TI/O, representing time devoted to productive tasks.
Waiting time (Tw)
Tw = Tq - Ts, measuring the time a process spends in waiting queues.
Normalized return time (Tn)
Tn = Tq / Ts, indicating the ratio between return time and service time.