摘要: (一)Unix IO概述 所有的IO设备,如网络、磁盘和终端,都被模型化为文件,(一个Unix文件就是一个m个字节的序列),而所有的输入和输出都被当做对相应文件的读和写来执行。这种将设备优雅地映射为文件的方式,允许Unix内核引出一个简单、低级的应用接口,称为Unix IO: 打开文件。一个应用程序 阅读全文
posted @ 2016-12-22 10:59 wangyanphp 阅读(482) 评论(0) 推荐(0) 编辑
摘要: (一)虚拟存储器简介 虚拟存储器提供三个功能: 1. 将主存看成是一个存储在磁盘上地址空间的高速缓存,在主存中只保存活动区域;并根据需要在磁盘和主存之间来回传递数据。 2. 为每个进程提供一致的地址空间,从而简化存储器管理; 3. 保护了每个进程的地址空间不被其他进程破坏。 CPU通过生成一个虚拟地 阅读全文
posted @ 2016-12-21 17:12 wangyanphp 阅读(717) 评论(0) 推荐(0) 编辑
摘要: (一)异常 还有一些细节需要补充: 1. 事件什么时候发生? 事件可能与当前指令的执行直接相关,比如虚拟储存器缺页、算术溢出,除以0;也可能和当前指令没有关系,如IO请求、定时器信号。 2. 跳转到异常处理程序与过程调用有什么不同? 1)过程调用时,处理器要讲返回地址压栈。然而,根据异常的类别,返回 阅读全文
posted @ 2016-12-14 21:25 wangyanphp 阅读(345) 评论(0) 推荐(0) 编辑
摘要: (一)静态链接器干了什么 以此程序为例,编译器+汇编器会把main.c和swap.c翻译成两个可重定位目标文件(relocatable object file)main.o和swap.o。 链接器ld会将main.o和swap.o以及一些必要的系统目标文件组合起来,创建一个可执行目标文件(execu 阅读全文
posted @ 2016-12-12 11:42 wangyanphp 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储设备的层次结构。 (一)存储设备的种类 (二)访问主存 读写操作由CPU上的总线接口电路发起。 根据上图中的数据流,对于读操作: 1.CPU将地址A放到系统总线上,然后I/O桥将信号传递给存储器总线; 2.主存感觉到存储 阅读全文
posted @ 2016-12-07 21:53 wangyanphp 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 前一章叙述了c语言如何转化为汇编程序,如何使用汇编程序。但是,汇编程序具体是如何执行的呢?例如(add %eax %edx)这条指令,我们知道它的功能,处理器是何如执行指令来获得想要的结果?——这是本章的主题。 (一)Y86指令集体系结构 为了简化问题,我们不使用Intel和ATT的指令集体系结构, 阅读全文
posted @ 2016-12-04 17:14 wangyanphp 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: 我们会使用数学分析为算法成本建立简洁模型并使用实验数据验证这些模型。 (一) 第一个挑战是:决定如何定量测量程序的运行时间? ...... 一般来说,数学模型中的对数项是不能忽略的,但在倍率假设中它在预测性能的公式中的作用并不那么重要。 对于编写的每个程序,你都需要能够回答这个基本问题:“该程序能在 阅读全文
posted @ 2016-09-20 17:08 wangyanphp 阅读(439) 评论(0) 推荐(0) 编辑
摘要: template class Vector { public: /** *默认构造函数 */ Vector(){} /** *拷贝控制 */ Vector(const Vector &s) { auto newdata = alloc_n_copy(s.begin(), s.end()); ... 阅读全文
posted @ 2016-09-18 10:48 wangyanphp 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 函数模板 编译器通常用函数实参来为我们推断模板实参。 编译器用推断出的模板参数来为我们实例化(instantiate)一个特定版本的函数。生成的版本通常被称为模板的实例。 我们可以在模板中定义非类型参数(nontype parameter)。一个非类型参数表示一个值而非一个类型。模板实参必须是常量表 阅读全文
posted @ 2016-09-11 19:53 wangyanphp 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 购物篮程序:模拟虚拷贝 文本查询程序(2):允许单词的逻辑组合查询如:fiery&bird|wind 分析: 我们只需要对于TextQuery,定义operator~(),operator|(TextQuery1,TextQuery2),operator&(TextQuery1,TextQuery2 阅读全文
posted @ 2016-09-09 10:53 wangyanphp 阅读(177) 评论(0) 推荐(0) 编辑