Overview of Fast File System (FFS) and Disk Awareness
open(), read(), write(), close()), its internal implementation focuses on physical locality to increase throughput.website·Indexed 30 days ago
https://mes0903.github.ioA technical collection of notes and tutorials covering system programming, Linux DRI, computer graphics (OpenGL, Mesa), virtualization (virtio, vGPU), and operating systems (OSTEP, xv6-riscv). Includes guides on C++ classes, discrete mathematics, and computer networking (GSM/UMTS/IGP).
open(), read(), write(), close()), its internal implementation focuses on physical locality to increase throughput.The 2D rendering path using Cairo follows these steps:
Modern virtual memory systems typically use approximations of the Least Recently Used (LRU) policy, often enhanced with 'clock' algorithms to provide scan resistance (preventing worst-case behavior during looping-sequential workloads). An example of a sophisticated self-tuning replacement cache is ARC (Adaptive Replacement Cache).
Historically, the importance of replacement algorithms decreased because the performance gap between memory and disk was so vast that the only effective solution was adding more physical memory. However, the advent of fast flash-based SSDs has renewed interest in optimizing these algorithms due to the improved performance ratio.
glTF is a transmission format designed specifically for the efficient transfer and rendering of 3D scenes over a network. Unlike formats designed for content creation (which are often bulky and complex) or simple geometry formats (which lack scene data), glTF provides:
It acts as a bridge between 3D content creation tools (e.g., Blender, Maya, 3ds Max) and real-time rendering applications.
Virtio is a standardized interface for virtual devices that allows a guest OS to use standard drivers and discovery mechanisms. It is designed with four primary goals:
The display pipeline (or mode-setting pipeline) is responsible for transferring the contents of a framebuffer to the physical monitor. This process is typically managed by a Compositor (e.g., Wayland) using the Kernel Mode Setting (KMS) interface.
The KMS Pipeline Flow:
Framebuffer → Plane → CRTC → Encoder → (Bridge, optional) → Connector → Monitor.
Presentation Flow:
dma-buf).framebuffer → plane → CRTC → encoder → connector → monitorThe rendering pipeline is the process of transforming application data into a framebuffer. It consists of a user-space phase where the application interacts with graphics APIs and a kernel-space phase where the GPU is scheduled and executed.
User Space Flow:
libdrm using DRM ioctls (handling Buffer Objects, command buffers, and synchronization).Kernel Space Flow:
drm_sched), and synchronization (dma-fence/syncobj, dma-buf).App
└─ OpenGL / Vulkan calls
└─ User-mode GPU driver (Mesa or vendor ICD)
├─ Shader compile/optimize (GLSL/HLSL → SPIR-V → NIR)
├─ Build device-specific commands
└─ Submit via libdrm / DRM ioctls
【Kernel space】
DRM kernel driver (GEM/TTM, drm_sched, dma-fence/syncobj, dma-buf)
└─ Schedules work on the GPU
└─ GPU executes → writes into a render target / image / BOThe 3D rendering path in Linux typically follows this flow: