1、1内存管理第一部分:重点难点1地址重定位2分区分配;(固定分区,动态分区) ,动态分区算法3分页与分段存储管理4段页式存储管理5虚拟存储器6请求分页存储管理7页面置换算法8请求分段存储管理9交换与覆盖10碎片问题总结:各种存储管理方式的:基本原理(存储管理方法) ,数据结构,地址映射,特点比较。第二部分:内存管理举例:1、某段表内容如下:段号 段首地址 段长度0 120K 40K1 760K 30K2 480K 20K3 370K 20K一逻辑地址为(2,154)的实际物理地址是多少?480K + 154 = 480*1024+154=注意越界中断:22、某虚拟存储器的用户编程空间共 32 个
2、页面,每页为 1KB,内存为 16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号 物理块号0 31 72 43 8则逻辑地址 0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。 解:页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共 32 个页面”,可知页号部分占 5 位;由“每页为 1KB”, 1K=210,可知内页地址占 10 位。由“内存为 16KB”,可知有 16 块,块号为 4 位。 逻辑地址 0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码
3、 “000 10” 为页号,表示该逻辑地址对应的页号为 2。查页表,得到物理块号是 4(十进制),即物理块地址为:01 00 ,拼接块内地址 10 0101 1100,得 01 0010 0101 1100,即 125C(H)。3对一个将页表存放在内存中的分页系统(1) 如果访问内存需要 0.2us,有效访问时间是多少?(2) 如果增加一快表,且假定在快表中找到页表项的几率为 90%,则有效的访问时间又是多少?(不考虑查找快表所需时间)解:(1)有效访问时间为 2 * 0.2=0.4 us (两次访问内存:页表+内存) (2)有效访问时间为 0.9 * 0.2 + (1- 0.9) * 2 *
4、 0.2 =0.22 us,4、对于如下的页面访问序列:1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5当内存块数量分别为 3 和 4 时,试问:使用 OPT、FIFO、LRU 置换算法产生的缺页中断是多少?(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断)5、某采用页式存储管理的系统,接收了一个共 7 页的作业,作业执行时依次访问的页为:1、2、3、4、2、1、5、6、2、1、2、3、7。当内存块数量为 4 时,请分别用先进先出(FIFO )调度算法和最近最少使用(LRU)调度算法,计算作业执行过程中会产生多少次缺页中断?写出依次产生缺页中断后应淘汰的页。(
5、所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断。要求写出计算过程) 6、考虑一个由 8 个页面,每页有 1024 个字节组成的逻辑空间,把它装入到有 32 个物理块的存储器中,问:(1)逻辑地址需要多少位表示?(二进制)(2)物理地址需要多少位表示?(二进制)3解(1)13 位(2 3*210) ;(2)15 位(2 5*210) ;7、设有一个采用请求页式存储管理的计算机系统,其内存(实存)容量为 512KB,虚存容量(给用户的最大地址空间)为 2048KB,页面大小为 2KB,试问:(1)内存物理地址应设多少位?(2)内存中有多少个物理块?(3)最大块号是多少?(4)虚存地址
6、应设多少位?(5)地址空间最多可以有多少页?(6)页内的最大位移量是多少?(7)页内的最小位移量是多少?解:(1)内存物理地址应设多少位?19 位(512*2 10 = 29 *210)(2)内存中有多少个物理块? 256 块(512KB / 2KB)(3)最大块号是多少? 255(4)虚存地址应设多少位? 21 位(2048KB=2*2 10*210)(5)地址空间最多可以有多少页?1024(2048KB=1024*2 KB)(6)页内的最大位移量是多少?1023(7)页内的最小位移量是多少?08、为什么说分段系统较之分页系统更易于实现信息共享和保护?解:a. 对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,故需要建立大量的页表项;b. 而对于分段系统,每个段都从 0 开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应。