Software that manages computer hardware and software resources and provides common services for computer programs.
A family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix.
The core component of an operating system, managing system resources and acting as a bridge between hardware and applications.
An instance of a computer program that is being executed. It contains the program code and its current activity.
A unique identifier assigned to each process by the operating system kernel.
A system call that creates a new process (child process) by duplicating an existing process (parent process).
A family of system calls that loads and executes a new program within the context of an existing process.
A process that has completed execution but still has an entry in the process table to allow its parent process to read its exit status.
A process whose parent has terminated without waiting for the child to exit. Orphaned processes are adopted by the init process.
The process of storing the state of a process or thread, so that it can be restored and resume execution later.
The part of the operating system that selects which ready process will be executed by the CPU next.
A programmatic way in which a computer program requests a service from the kernel of the operating system.
A memory management technique that provides an idealized abstraction of the storage resources that are actually available on a given machine, making it seem like a process has continuous, private memory.
The actual RAM (Random Access Memory) installed in the computer, directly accessible by the CPU.
A fixed-size block of virtual memory.
A fixed-size block of physical memory, typically the same size as a virtual memory page.
The process of moving data between physical memory and secondary storage (like a hard drive) in fixed-size blocks (pages).
A dedicated area on a hard disk used as an extension of physical memory when RAM is full.
The range of memory addresses that a process can refer to. For a virtual memory system, this is the virtual address space.
A hardware component that translates virtual memory addresses used by the CPU into physical memory addresses.
A method and data structure that an operating system uses to control how data is stored and retrieved on storage devices.
A data structure in a Unix-style file system that describes a file-system object such as a file or a directory. It stores metadata about the file.
An abstract indicator (handle) used to access a file or other input/output resource, such as a pipe or network socket.
An abstraction layer on top of a more concrete file system. The purpose of VFS is to allow client applications to access different types of concrete file systems in a uniform way.
A directory in a file system where another file system is attached.
A region of main memory used by the operating system to store frequently accessed disk blocks, improving I/O performance.
A set of network protocol layers that work together to provide network communication services.
An endpoint of a communication flow across a computer network. Sockets provide a standardized way for applications to send and receive data.
A core protocol of the Internet Protocol Suite, providing reliable, ordered, and error-checked delivery of a stream of octets between applications.
A minimal, connectionless protocol that provides an unreliable, unordered, and non-guaranteed delivery of data between applications.
The primary protocol in the Internet Layer of the Internet Protocol Suite, used for delivering datagrams (packets) across network boundaries.
A limited form of inter-process communication (IPC) used in Unix-like operating systems to notify a process about an event.
A signal to the processor emitted by hardware or software indicating an event that needs immediate attention.
A computer program that operates or controls a particular type of device that is attached to a computer.
The communication between an information processing system and the outside world, e.g., reading from a keyboard or writing to a screen.
A feature of computer systems that allows certain hardware subsystems to access main system memory (RAM) independently of the central processing unit (CPU).
The sequence of operations that a computer performs from power-on until it is ready to execute user applications.
A variable or abstract data type used to control access to a common resource by multiple processes and avoid critical section problems.
A form of asynchronous inter-process communication where processes exchange messages by passing them through a queue.
A method of inter-process communication that allows multiple processes to access the same region of memory, enabling efficient data exchange.