摘要: 1. 给定rand3()能随机生成整数1到3的函数,写出能随机生成整数1到7的函数rand7();用3*(rand3() - 1) + rand3()生成1-9的数。然后再从1-9中生成1到7.这种思想是基于,rand()产生[0,N-1],把rand()视为N进制的一位数产生器,那么可以使用ran... 阅读全文
posted @ 2014-10-16 22:24 linyx 阅读(530) 评论(0) 推荐(0) 编辑
摘要: buddy算法是用来做内存管理的经典算法,目的是为了解决内存的外碎片。避免外碎片的方法有两种:1,利用分页单元把一组非连续的空闲页框映射到非连续的线性地址区间。2,开发适当的技术来记录现存的空闲连续页框块的情况,以尽量避免为满足对小块的请求而把大块的空闲块进行分割。基于下面三种原因,内核选择第二种避... 阅读全文
posted @ 2014-10-16 12:58 linyx 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念1.1 地址(1)逻辑地址:指由程序产生的与段相关的偏移地址部分。在C语言指针中,读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址。(2)线性地址:段中的偏移地址(逻辑地址),加上相应段的基地址就生成了一个线性地址。(3)物理地址: 放在寻址总线... 阅读全文
posted @ 2014-10-16 10:54 linyx 阅读(474) 评论(0) 推荐(0) 编辑