日期:2014-05-16 浏览次数:20663 次
1.进程管理。
??????? 本章主要是介绍进程的一个静态的状态,包括系统如何组织进程。创建,启动,到最后死亡的一个概念性认识,没有更加深刻的知识。
2.进程调度。
????????本章比较重要。
???????????1.? 抢占式调度策略。
???????????2. 俩进程间上下文切换? 有俩函数 switch_mm 和 switch_to俩函数完成此功能。(具体细节需要阅读其他书籍)
?3.系统调用。
???????????1.系统调用处于进程上下文(此概念很模糊,大概的意思是说,内核代表进程在运行)
???????????2.陷入内核 是一个重要的概念(如何重要,没有讲,知识说linux陷入内核特别快。)
? 4.中断和中断处理,以及下半部。(驱动程序一般分为上半部和下半部,讲得很浅薄)
???????????? 1? .中断 不会被当前中断? 抢占(原因不详)
???????????? 2. 软中断不会被所有软中断抢占(原因不详)
? 5.内核同步(讲得很浅薄)
????????????? 1.需要保护什么很重要也很难。一条规则是几乎所有的内核数据结构都需要加锁。【:只要别的代码能访问到】
????????????? 2.死锁。(悲催 十字路口车辆问题,都在等其他车,结果两辆车都走不动)
? 6.内核同步方法(想到特殊的volatile修饰符)
???????????? 1.原子操作
?????????????2.顺序性
???????????? 3.自旋锁
?????????????4.信号量
?????????????5.完成变量
???????????? 6.禁止抢占 来保持高效,(有时候不需要自旋锁(注解:本身会禁止抢占),只需要禁止抢占就够了)
???????????? 7.顺序和屏障
?7.内存管理
???????????? 1.MMU以page为单位进行管理
???????????? 2.三种区 DMA区(内存地址固定的硬件使用),普通区,高端内存(无法访问)
8.块I/O层,就是说 块设备
??????????? 1.块和扇区。块必须是扇区的大小(512Byte)的整数倍,但是小于页面大小。
???????????? 2.用bio来管理。
???????????? 3.电梯调度程序
9.进程地址空间
??????????? 1.代码段,数据段(已经初始化),未初始化的全局变量(0页)。
???????????? 2.进程的用户空间栈
??????????? 3.各种库的内存映射
??????????? 4.内存映射文件
??????????? 5.共享内存段
??????????? 6.malloc分配的匿名内存映射。
10.页高速缓存和页回写
??????????? 1.主要是缓存磁盘的。临时局部原理。
??????????? 2.同时也可以缓存 磁盘本身的IO缓冲区。
11.模块(未阅读)