A list of Linux subsystems

DTS

The Device Tree System (DTS) is a system for describing hardware devices in a hierarchical way. It is used by the Linux kernel to configure and manage hardware devices.

DTS is a text file that describes the hardware devices on a system. It contains information such as the device’s type, its address, and its resources. The kernel uses DTS to configure the devices and to allocate resources to them.

Kbuild

The Kbuild system is a build system for the Linux kernel. It is used to compile the kernel and its modules.

Kbuild is a set of scripts and tools that automate the process of building the Linux kernel. It handles tasks such as dependency management, compilation, and linking.

DMA

Direct Memory Access (DMA) is a method for transferring data between memory and a peripheral device without the intervention of the CPU.

DMA is used to speed up data transfers between the CPU and a peripheral device. The CPU can send a DMA controller a command to transfer data, and the DMA controller will handle the transfer without the CPU having to do anything else.

IOMMU

The Input/Output Memory Management Unit (IOMMU) is a hardware device that provides memory protection for devices that access memory directly.

An IOMMU is used to isolate devices from each other. This prevents one device from accessing the memory of another device.

Media

The Media subsystem is responsible for handling multimedia devices, such as cameras, microphones, and speakers.

The Media subsystem provides a unified interface for accessing multimedia devices. This makes it easier to develop multimedia applications.

V4L2

The Video for Linux 2 (V4L2) API is a standard for accessing video capture and playback devices.

V4L2 is a set of functions and data structures that provide an interface for accessing video capture and playback devices. V4L2 is used by many multimedia applications, such as video players and video editors.

ACPI

The ACPI subsystem is responsible for managing power consumption and sleep states on systems that support the ACPI standard.

ACPI is a standard that defines how power management is implemented on a system. The ACPI subsystem implements the ACPI standard on Linux systems.

BPF

The BPF subsystem is a system for writing programs that run in the kernel. It is used for a variety of tasks, such as network packet filtering and tracing.

BPF is a powerful tool that can be used to implement a variety of network security and monitoring applications.

Crypto

The Crypto subsystem provides cryptographic operations, such as encryption and decryption.

The Crypto subsystem provides a variety of cryptographic algorithms, such as AES, RSA, and SHA-256. These algorithms can be used to protect data from unauthorized access.

DRM

The DRM subsystem provides a unified interface for accessing graphics hardware.

The DRM subsystem provides a variety of features, such as video acceleration and input event handling. These features can be used to improve the performance and usability of graphics applications.

Input

The Input subsystem provides a unified interface for accessing input devices, such as keyboards, mice, and joysticks.

The Input subsystem provides a variety of input events, such as key presses, mouse movements, and joystick button presses. These events can be used to control applications and games.

Networking

The Networking subsystem provides a unified interface for accessing network devices, such as Ethernet cards and WiFi adapters.

The Networking subsystem provides a variety of networking features, such as network sockets, IP addresses, and routing tables. These features can be used to implement a variety of networking applications, such as web servers and email clients.

Storage

The Storage subsystem provides a unified interface for accessing storage devices, such as disks and filesystems.

The Storage subsystem provides a variety of storage features, such as file systems, block devices, and RAID controllers. These features can be used to store data and to access it from applications.

System

The System subsystem provides a variety of system-level services, such as process management, memory management, and scheduling.

The System subsystem provides the foundation for all other subsystems on the system. It provides services that are essential for the operation of the system.