Operating System Core Concepts

Classified in Computers

Written on in English with a size of 3.83 KB

Operating System (OS)

Software that manages hardware resources and provides a high-level abstraction for the user.

Process

A program currently executing.

Multitasking System

An OS allowing multiple programs to run concurrently.

Multiuser System

An OS allowing simultaneous access for multiple users.

Command Interpreter (Shell)

A user interface program that executes commands.

System Calls

Interfaces (APIs) used by programs to request services from the OS.

Single-Tasking System

Allows only one job in memory at a time. The CPU is idle during I/O operations, as it cannot be used by another process when the current one accesses system resources.

Time-Sharing System

Allows multiple terminals connected to a central computer. Enables multiple processes to use the CPU alternately.

Process Definition

Instructions associated with an execution state.

Program

A set of instructions intended for execution.

Process States

The different stages a process goes through:

  • New: The process is being created.
  • Ready: The process is waiting to be assigned to a processor.
  • Running: Instructions are being executed.
  • Waiting (Blocked): The process is waiting for some event to occur (e.g., I/O completion).
  • Terminated (Finished): The process has finished execution.

Concurrent Application

An application where different parts compete for resources, often using threads or child processes for concurrent execution.

Mutual Exclusion (Mutex)

A mechanism ensuring that two or more concurrent processes do not access shared resources simultaneously. It can be implemented via:

  • Hardware: e.g., Disabling interrupts, Test-and-Set Lock (TSL) instruction.
  • Software: e.g., Algorithms with busy-waiting or without busy-waiting (sleep/wakeup).

Blocked Wait (Sleeping Wait)

A process enters a waiting (blocked) state until the required resource becomes available.

Busy Waiting (Spinlock)

A process repeatedly checks a condition (e.g., resource availability) in a loop without relinquishing the CPU, remaining in the ready/running state.

Process Context

The part of the process state represented by the CPU registers and other system information necessary to resume execution.

Context Switch

The process of saving the current process's context (CPU state, etc., often in its Process Control Block - PCB) and loading the context of a different process.

Thread

An independent, alternative flow of execution within a single process. Threads allow parts of a process to run concurrently or in parallel.

Schedulers

Components responsible for process scheduling:

  • Short-Term Scheduler (CPU Scheduler): Selects which process from the ready queue will execute next on the CPU.
  • Long-Term Scheduler (Job Scheduler): Decides which processes from the new state should be admitted to the ready queue.

Preemptive Scheduling

A scheduling method where the OS can forcibly stop (preempt) a running process and move it out of the CPU, often based on time slices or priority.

Non-Preemptive Scheduling

A scheduling method where a running process continues to execute until it voluntarily relinquishes the CPU (e.g., terminates or blocks for I/O).

Quantum (Time Slice)

The maximum amount of time a process is allowed to run on the CPU in a preemptive, time-sharing system before being preempted. A very small quantum leads to high context switching overhead; a very large quantum can lead to poor responsiveness.

Related entries: