Computer Science · College

Operating Systems Concepts

Processes, threads, scheduling, and memory management concepts from an intro operating systems course.

40 cards · basic cards · AI-written, checked twice. Edit anything.

Study this set free Get FlashKeepers for iPhone
What is a process?
A program in execution with its own memory space and system resources managed by the operating system
What does a Process Control Block (PCB) store?
Process ID, state, program counter, CPU registers, memory limits, I/O status, and scheduling information
List the five main states a process can be in
New, Ready, Running, Waiting (blocked), Terminated
What is context switching?
The operating system saves one process's execution state and loads another process's state to switch CPU control
What is a thread?
A lightweight unit of execution within a process that shares the process's memory space and resources
What is the key difference between user-level and kernel-level threads?
User-level threads are managed by user-space libraries; kernel-level threads are managed by the operating system
What are three advantages of multithreading?
Better responsiveness, shared resources within a process, and improved CPU utilization
What is a critical section?
A code segment where a thread accesses shared resources that must not be accessed by multiple threads simultaneously
What is a mutex?
A synchronization primitive (mutual exclusion lock) that ensures only one thread can access a shared resource at a time
What is a semaphore?
A synchronization mechanism using an integer counter to control access to shared resources; threads wait or signal based on the counter
What is a race condition?
A situation where the outcome of concurrent processes depends on the unpredictable order in which their instructions are executed
What is CPU scheduling?
The process of deciding which process or thread should run on the CPU at any given time
What is preemptive scheduling?
A scheduling method where the operating system can interrupt a running process and transfer CPU control to another process
What is non-preemptive scheduling?
A scheduling method where a running process retains the CPU until it voluntarily yields control
Describe the First Come First Served (FCFS) scheduling algorithm
Processes are executed in the order they arrive in the ready queue; simple but can cause long wait times

25 more cards in the app