![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解计算机系统
文章平均质量分 88
Thank_T_F
这个作者很懒,什么都没留下…
展开
-
《深入理解计算机系统》笔记---(2)异常控制流
异常: 就是控制流的突变,用来响应处理器状态中的某些变化。比如发生虚拟内存错误,算法溢出或系统定时器产生信号等等,这就发生异常,系统需要去运行相对应的处理程序。处理完异常有三种结果: 1.处理程序将控制返回给当前指令 Icurr ,即当事件发生时正在执行的操作。 2.处理程序将控制返回给Inext,如果没有发生异常将会执行的下一条指令。 3.处理程序终止被...原创 2018-03-15 15:41:48 · 310 阅读 · 0 评论 -
《深入理解计算机系统》笔记---(3)虚拟内存
虚拟内存是一种操作系统对主存的抽象概念,提供了三个重要能力:1. 它将主存看作是一个存储在磁盘上地址空间的高速缓存,并根据需要在主存和磁盘之间来回切换数据。2. 它为每个进程提供了一致的地址空间,从而简化了内存管理。3. 它保护了每个进程的地址空间不被其他进程破坏。额,这些概念可能看着有点难以理解,别急。我们先来了解一些基本概念:物理和虚拟寻址;地址空间。在计算机早期,PC机上使用的就是物理寻址,...原创 2018-03-17 15:14:09 · 763 阅读 · 0 评论 -
深入理解计算机系统 csapp.c 和csapp.h 使用
步骤如下:1.把csapp.h csapp.c文件放到/usr/include2.在csapp.h里面最后一行#end if之前添加:#include <csapp.c>其实这样就没有必要写csapp.c文件了,直接把csapp.c的文件内容拷贝到csapp.h 最后一行的#end if之前。但是这样就不能遵守接口和实现分离的原则。3.csapp.c文件中有关于线程中部分,gcc编译...转载 2018-03-19 15:16:43 · 1382 阅读 · 0 评论 -
《深入理解计算机系统》笔记---(1)链接
链接器在软件开发中扮演一个重要的角色,因为它使得分离编译成为可能。我们不用将一个大型的应用程序组织成为一个巨大的源文件,而是可以把他分解为更小的,更好管理的模块,可以独立的修改和编译这些模块。当我们改变这些模块的一个时,只需简单的重新编译它,并重新链接应用,而不必重新编译其他文件。 要想了解链接的机制,需要知道一个程序从编辑完代码到运行的过程(C语言程序)。以下方的c程序为例...原创 2018-03-13 16:14:11 · 249 阅读 · 0 评论