Processes, threads, scheduling, and memory management concepts from an intro operating systems course.
40 cards · basic cards · AI-written, checked twice. Edit anything.
- 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