Symbol Who
Preview Image

linux内核笔记(八)vmalloc、持久映射、固定映射

vmalloc、持久映射、固定映射 回顾一下第五、六章的内容:在32位的内核虚拟地址空间中, 只有$1G$的可用空间 (总共$2^{32} = 4G$ - 用户空间$3G$),如果物理内存超出$1G$, 那么kernel将无法寻址超出的那部分物理内存 (即高端内存 HIGH_MEMORY), 为了解决这个问题,kernel将内核空间分了两部分:可直接线性映射物理内存的$896MiB$普通内...

Preview Image

linux内核笔记(七)伙伴系统(Buddy System)

伙伴系统 在内核初始化完成后,内存管理的责任由伙伴系统(Buddy System)承担。它是基于一种相对简单效率的算法的高效的内存管理技术,一直到最新版本都还在使用。 伙伴系统的基本思想是将内存或资源分成大小相等的块(称为伙伴),每个块可以被分配给一个进程或线程使用。当一个进程或线程请求内存或资源时,系统会搜索一个空闲的伙伴来满足请求,如果找到了一个空闲的伙伴,系统会将其分配给请求者,并...

Preview Image

linux内核笔记(六)启动时的内存初始化

启动时的内存初始化 涉及硬件架构相关的功能均以i386结构为例 (经典的x86 且有高端内存的处理逻辑) 系统引导时,内核在物理内存中的结构 引导将内核载入到内存中,并跳转到相应的内存地址开始执行内核代码,在ia32架构下,内核在内存中的架构如上。 _text、_etext、_edata、_end的具体地址在编译后的System.map下,以线性地址表示,如: ...

Preview Image

linux内核笔记(三)进程的调度

进程的调度 概念 内存中保存了对每个进程的唯一描述,并通过若干结构与其他进程连接起来。内核必须提供一种方法,在各个进程之间尽可能公平地共享CPU时间,而同时又要考虑不同的任务优先级,而这就是调度器的目标。 调度器的一般原理是,按所能分配的计算能力,向系统中的每个进程提供最大的公平。如果通过轮流运行各个进程来模拟多任务(现实情况是CPU数目总比要运行的进程数目少),那么当前运行的进程,其...

Preview Image

linux内核笔记(一)概念

概念 操作系统 整个系统中负责完成最基本功能和系统管理的那些部分。应该包括:内核、设备驱动、启动引导、shell、文件管理和系统功能 内核 技术层面上,内核是硬件与软件之间的中间层,其作用是将应用程序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。系统其他部分必须依靠内核提供的服务(管理设备、分配系统资源)。一般包含中断服务程序、管理多进程任务的调度程序、管理...

Preview Image

《Get Things Done 搞定-无压工作的艺术》

 愿你拥有更加精彩的人生 关于我们的人生   你的价值观是什么?   你目前对于自己的生活、工作是什么样的态度?   你愿意为你的人生付出多少的努力?   任何人都应该时常思考一下这三个问题,它关乎了你的物质和精神的质量,给予你改变做事风格的动机;不管是处于热情、平和、迷惘、颓废、空虚或还是其他状态中,都应该自我剖析,针对理想状态与现状的差距做一次测量与矫正。针对于想要不断提...