摘要: 每次有一个新连接到来,服务器都会fork一个子进程去处理该连接,而自己则继续等待下次连接 阅读全文
posted @ 2016-07-18 16:05 丨核桃牛奶 阅读(229) 评论(0) 推荐(1) 编辑
摘要: 从概念上来讲:虚拟存储器被组织为一个存放在磁盘上的N个连续的字节大小的单元组成的数组。 磁盘上数组的内容被缓存到主存中 1. 读写内存的安全性 物理内存本身是不限制访问的,任何地址都可以读写,而操作系统要求不同的页面具有不同的访问权限,这是利用CPU模式和MMU的内存保护机制实现的。例如,Text 阅读全文
posted @ 2016-07-17 11:12 丨核桃牛奶 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 进程轮流使用处理器 父进程调用fork来创建一个新的子进程 回收子进程 waitpid/wait 非本地跳转: 阅读全文
posted @ 2016-07-17 08:51 丨核桃牛奶 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 链接:将各种代码和数据部分收集起来并组合成为单一文件的过程,这个文件可被加载到存储器并执行。 在运行时,和一个在存储器中的程序链接起来 二、静态链接库与动态链接库 静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模 阅读全文
posted @ 2016-07-16 20:47 丨核桃牛奶 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1. 2. 3. 存储器山 阅读全文
posted @ 2016-07-16 15:40 丨核桃牛奶 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 编写高效的程序需要:1.选择合适的数据结构和算法 2.编译器能够有效优化以转换为高效可执行代码的源代码 3.利用并行性 优化编译器的局限性 程序示例: combine3的汇编代码: load->mul load->mul load load mul mul 加载:从存储器读到寄存器 存储:从寄存器写 阅读全文
posted @ 2016-07-15 15:25 丨核桃牛奶 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 栈在处理过程调用中起到至关重要的作用,栈向下增长,栈顶元素的地址是所有栈中元素最小的。栈指针%esp保存着栈顶元素的地址 控制: 重点: 基于条件数据传送的代码比基于条件控制转移(预测错误惩罚比较高)的代码性能好 阅读全文
posted @ 2016-07-08 22:11 丨核桃牛奶 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 整数表示: 反码和原码都会有正零和负零 有符号整数和无符号整数之间的转换 反之 扩展一个数字的位级表示 截断操作 无符号加法的益处 补码的加法 规格化的值:E=e-bias 其中e是无符号数,而bias=2的k-1次方-1 尾数M=1+f; 非规格化的值: E=1-bias,M=f; 阅读全文
posted @ 2016-07-08 10:32 丨核桃牛奶 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 预处理器+编译器+汇编器+链接器=编译系统 运行hello程序 操作系统: 无论是在单核还是多核系统中,一个CPU看上去都在并发的执行多个进程,这是通过处理器在进程间切换来实现的,也就是上下文切换 一个进程由多个称为线程的执行单元构成,每个线程都运行在进程的上下文中,并共享同样的代码和 阅读全文
posted @ 2016-07-07 20:18 丨核桃牛奶 阅读(113) 评论(0) 推荐(0) 编辑
摘要: TCP/IP 连接 三次握手 TCP/IP 四次分手 @TODO TIME_WAIT 状态 有三种状态可以进入此状态 1.由FIN-WAIT-2,双方不同时发起FIN,主动关闭的一方在完成自身发起的关闭请求后,接收到被动关闭一方的FIN后进入的状态。 2.由CLOSING,双方同时发起关闭,都做了发 阅读全文
posted @ 2016-07-03 11:51 丨核桃牛奶 阅读(92) 评论(0) 推荐(0) 编辑