深入Linux内核架构读书笔记(1)--简介和概述

  1. 版本选择2.6.24
  2. 从不同视角看内核任务
    1. 从应用程序视角来看,内核是一台增强的计算机;
    2. 从并发角度看,内核是资源管理程序;
    3. 从内核研究角度看,内核就是一个库;
  3. 微内核/宏内核:
    1. 微内核:需要支持复杂的进程间通信,需要额外CPU时间,进展甚微;
    2. 宏内核:性能优于微内核,支持热插拔,为目前linux实现方式;
  4. 内核组成:
  5. fork: 写时复制(copy on write)写入之前,共用同一页;
  6. exec:将一个新程序加载到当前进程的内存中,并执行,旧程序内存页将刷出,其内容将被替换为新数据;
  7. 页表:使用三级分配缩小内存映射空间,使用MMU优化内存访问,使用TLB(Translation Lookaside Buffer翻译后备缓冲器是一个内存管理单元,用于改进虚拟地址到物理地址转换速度的缓存)加速地址转换;
  8. 伙伴系统:某种程度上减少内存碎片,页帧的分配由伙伴系统进行;
  9. slab缓存分配复杂小内存以及提供一般性的内核缓存;
  10. VFS:向下文件系统必须实现,向上用户进程通过系统调用最终能够访问文件系统;
  11. atomic_t 其实是一个volatile int,直接从内存中读取数据;
  12. 大小端,高位存执地址,大的小,小的大;

猜你喜欢

转载自blog.csdn.net/woshizuxi/article/details/52873631