计算机理论

linux内核

Linux内核通过文件接口暴露系统功能,包含系统调用、进程调度、中断处理等核心机制。支持I/O和CPU消耗型进程的动态优先级调度,提供FIFO和RR实时调度策略。内核采用原子操作、自旋锁、信号量等并发控制机制,通过CAS实现乐观锁避免ABA问题。支持内核线程在内核态运行,提供高效的进程间通信和定时任务管理功能。

2026年1月26日

进程

进程是正在运行的程序实例,包含程序计数器、寄存器和变量当前值。进程拥有虚拟地址空间和控制线程,通过fork、vfork、clone等系统调用创建。进程间通信包括管道、消息队列、共享内存等方式。线程作为CPU调度实体,多个线程共享同一地址空间。进程状态包括运行、阻塞、就绪,通过进程控制块管理。调度算法有先来先服务、轮转、优先级等策略。

2026年1月26日

内存管理

内存管理涵盖地址空间保护、虚拟内存技术和页面置换算法等核心概念。通过基址寄存器实现动态重定向,采用分页机制管理虚拟地址空间,利用MMU进行地址转换。支持交换技术和内存超载,包含首次适配、最佳适配等内存分配策略。详细解析了LRU页面置换算法的C++实现,以及分段与分页结合的内存管理方式。

2026年1月26日

深入理解计算机系统笔记

深入理解计算机系统的核心概念,涵盖数据编码原理、编译过程、机器字处理、浮点数表示、局部性原理、程序加载机制、异常控制流、虚拟存储器管理、进程通信及系统IO等关键技术要点。

2026年1月26日

文件系统

文件系统通过将磁盘划分为多个分区来管理数据存储,每个分区拥有独立的文件系统结构。核心组件包括引导扇区、分区表、超级块、inode节点和数据块。硬链接和软链接提供不同的文件引用方式,其中硬链接共享相同inode而软链接独立存在。系统通过fsck工具维护文件一致性,并采用LRU算法的块高速缓存机制优化磁盘访问性能。

2026年1月26日

Go 基础教程

Go 基础教程

收录 Go 语言基础与核心特性相关专题的系列笔记

2020年3月12日

操作系统

操作系统

收录操作系统相关专题的系列笔记

2020年3月12日

计算机网络

计算机网络

收录计算机网络相关专题的系列笔记

2020年3月12日

理解 CPU Cache 对并发性能的影响

CPU缓存通过L1、L2、L3层级结构提升性能,以64字节缓存行单位存储。伪共享问题发生在多核处理器操作同一缓存行中不同变量时,导致MESI协议频繁通信同步,产生性能开销。解决方案包括缓存行边界填充,使用匿名下划线进行字节填充,确保并发访问的数据项位于不同缓存行,有效避免伪共享问题。

2019年12月30日

poj 3616 Milking Time

POJ 3616 Milking Time是经典的权值区间动态规划问题。通过将时间区间转换为带权重的区间DP模型,利用排序和状态转移方程求解最优解。算法核心在于处理区间重叠约束,通过dp[i]记录前i个区间的最大收益,最终输出全局最优结果。

2018年7月29日