一、用户态、内核态和中断处理过程 系统调用是用户通过库函数方式:库函数帮我们把系统调用封装起来。 内核态:高级别执行,可以使用特权指令,访问任意的物理地址。 用户态:低级别执行,代码范围受到限制。 CS寄存器的最低两位表明了当前代码的特权级。 在linux中,0xc0000000以上的地址空间只能在 Read More
一、计算机的三个法宝 存储程序计算机,函数调用堆栈,中断二、操作系统的两把剑:1.中断上下文的切换,保存现场和恢复现场2.进程上下文的切换。 三、linux内核源代码的分析: ·arch/目录保存支持多种CPU类型的源代码,重点是x86·init目录:含有main.c,内核启动相关的代码基本都在in Read More
银雪纯 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、计算机是如何工作的 存储程序计算机工作模型是计算机系统最基础的逻辑结构 函数调用堆栈是高级语言得以运行的基础 中断时多道程序操作系统 Read More
我使用的c语言代码是: int g(int x) { return x + 1; } int f(int x) { return g(x); } int main(void) { return f(6) + 3; } 使用实验楼的linux环境得到的汇编代码如下: 1 g: 2 pushl %ebp Read More
一、读书笔记链接第一周:http://www.cnblogs.com/echo178905/articles/4824668.html(第一周发错了发成了文章而不是随笔)第二周:http://www.cnblogs.com/echo178905/p/4842567.html第三周:http://ww... Read More
第9章 虚拟存储器虚拟存储器提供了三个重要的能力: 1、将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式高效使用了主存。 2、为每个进程提供了一致的地址空间,简化了存储器管理。 3、保护了每个进程的地址空间不被其他进... Read More