category

Os

共 43 篇文章。
全部文章gamegolang客户端开发MinigameSaasrustPythonJavacgTypescriptengineCocosMmodatabase
os

ARM64 体系结构与内核实现

ARM64 是当今服务器、移动设备与嵌入式平台的主流指令集架构。本文从异常级别 EL0 到 EL3 与 AArch64 系统寄存器体系出发,深入剖析四级页表结构与地址翻译流程,详解设备树 DTS 语法与内核 of 系列接口、FDT 传递与 PSCI 固件调用约定、GICv3 中断控制器架构、cache 一致性与内存屏障语义,最后给出交叉编译与 QEMU 调试的完整实践路径,并与 x86_64 架构逐项对比。

12 分钟阅读
操作系统 Linux 内核
os

内存回收机制:LRU、水位与 OOM

内存回收是 Linux 内核在内存紧张时维持系统可用性的核心机制。本文从 LRU 四条链表与 lruvec 讲起,剖析页在 active 与 inactive 之间的迁移规则与 refault 距离估算,详解多代 LRU(MGLRU)的 generation 模型与调优参数,深入 kswapd 三水位、直接回收慢路径与分配标志,覆盖 swap、zswap、zram 三种交换后端对比,最后给出 PSI 压力指标、cgroup 内存回收与 OOM 排查清单。

12 分钟阅读
操作系统 Linux 内核
os

cgroups v2 与命名空间底层实现与资源隔离

cgroups 与 namespace 是现代容器技术的两大基石。本文深入对比 cgroup v1 与 v2 的层级差异,逐一剖析 cpu/memory/io/pids 等控制器的工作原理,详解 PID/IPC/Net/Mount/UTS/User/cgroup 七种命名空间的隔离机制,覆盖 unshare/nsenter/clone3 工具、挂载传播与用户命名空间安全边界,最后结合 systemd 的 cgroup 集成给出生产实践建议。

7 分钟阅读
操作系统 Linux 容器
os

Linux 设备驱动模型:字符设备、块设备与 sysfs

Linux 设备驱动是连接硬件与内核的桥梁。本文从主设备号与次设备号的基础概念出发,深入讲解字符设备的注册与 file_operations 设计、ioctl 命令规范、块设备的 I/O 调度与请求队列,进而覆盖 sysfs 动态节点创建、udev 规则、platform driver 总线匹配、miscdevice 简化注册以及 DMA scatter-gather 等进阶主题。

8 分钟阅读
操作系统 Linux 内核
os

虚拟化与容器隔离:从 KVM/QEMU 到 namespace 与 cgroup

虚拟化与容器是现代基础设施的两大基石,但它们的隔离模型截然不同。本文从 KVM/QEMU 的硬件虚拟化原理出发,深入 VMX/SVM 指令、EPT 内存虚拟化与 virtio 半虚拟化设备,再剖析容器依赖的 namespace 视图隔离与 cgroup 资源限制,最后对比虚拟机与容器的隔离边界、性能差异与安全风险,帮你建立从 Hypervisor 到 runc 的完整认知链路。

14 分钟阅读
操作系统 虚拟化 容器
os

系统启动全流程:从 BIOS/UEFI、GRUB 到内核与 systemd

从按下电源键到登录界面,系统要经历固件初始化、Bootloader、内核解压、驱动加载、initramfs、systemd 初始化多个阶段。本文沿真实启动路径逐步解剖:BIOS 与 UEFI 的差异、Secure Boot 信任链、GRUB 如何加载内核、内核从实模式到 start_kernel 的旅程、initramfs 为什么存在,以及 systemd 的并行启动与依赖图,最后给出用 systemd-analyze 做启动性能优化的完整方法。

9 分钟阅读
操作系统 Linux 启动流程