计算机底层知识拾遗(十)理解进程调度

这篇说说内核的进程调度机制,进程调度是内核的一个重要工作,由调度器完成。调度器主要解决两个问题 1. 决定为每个进程分配多少运行时间,何时切换到下一个进程,下一个进程是什么 2. 从进程A切换到进程B时,要保证进程B的执行环境和上次被撤销执行时完全一致,比如寄存器的内容,虚拟地址空间的各个数据结构...

2015-03-18 15:00:53

阅读数:3823

评论数:0

计算机底层知识拾遗(九)深入理解内存映射mmap

内存映射mmap是Linux内核的一个重要机制,它和虚拟内存管理以及文件IO都有直接的关系,这篇细说一下mmap的一些要点。 mmap和虚拟内存管理 先来看看Linux内核的用户进程虚拟内存管理。内核定义了mm_struct结构来表示一个用户进程的虚拟内存地址空间。 1. start_co...

2015-03-16 17:08:18

阅读数:5319

评论数:0

计算机底层知识拾遗(八)理解物理内存管理

内存管理是Linux内核最复杂的组件。内存管理包括虚拟内存机制和物理内存管理。这篇说说物理内存管理的一些要点。 说到虚拟内存的时候我们知道虚拟内存地址空间分为两部分:内核地址空间和用户进程地址空间。这两个地址空间都使用虚拟地址,也就是说程序使用的都是虚拟地址。从虚拟地址映射到实际物理地址时有所区别...

2015-03-12 15:18:56

阅读数:3543

评论数:0

计算机底层知识拾遗(七)页缓存数据同步和页回收机制

这篇说说Linux的页缓存数据同步和页回收机制。数据同步和页回收是两个独立的概念,数据同步处理的是内存/缓存的数据和后备设备的数据一致问题,页回收处理的是在内存空间不足时如何回收已分配的物理内存页,来获得足够空间分配干净页,支持优先级更高的工作。数据同步在任意时刻都有可能触发,页回收则是在物理内存...

2015-03-12 13:27:41

阅读数:3202

评论数:0

计算机底层知识拾遗(六)理解页缓存page cache和地址空间address_space

在这篇计算机底层知识拾遗(五)理解块IO层 中讲了块缓存buffer cache块缓存,这篇说说页缓存page cache以及相关的地址空间address_space的要点。 在Linux 2.4内核中块缓存buffer cache和页缓存page cache是并存的,表现的现象是同一份文件的数据...

2015-03-11 10:48:54

阅读数:9871

评论数:3

提示
确定要删除当前文章?
取消 删除
关闭
关闭