习题46章第四版_第1页
习题46章第四版_第2页
习题46章第四版_第3页
习题46章第四版_第4页
习题46章第四版_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题第46章 Chap 4 存储管理存储管理P1522.可采用哪几种方式将程序装入内存?可采用哪几种方式将程序装入内存? 它们分别适它们分别适用于何种场合?用于何种场合? 答:答:a. a. 首先由编译程序将用户源代码编译成若干目标模块首先由编译程序将用户源代码编译成若干目标模块, ,再由链接程序将编译后形成的目标模块和所需的库函数再由链接程序将编译后形成的目标模块和所需的库函数链接在一起链接在一起, ,组成一个装入模块组成一个装入模块, ,再由装入程序将装入模再由装入程序将装入模块装入内存块装入内存; ; b. b. 装入模块的方式有装入模块的方式有: : 绝对装入方式绝对装入方式, ,可重

2、定位方式和可重定位方式和动态运行时装入方式动态运行时装入方式; ; c. c. 绝对装入方式适用于单道程序环境下,编译时,知绝对装入方式适用于单道程序环境下,编译时,知道程序将驻留在内存的什么位置;道程序将驻留在内存的什么位置; d. d. 可重定位方式适用于多道程序环境下,程序在内存可重定位方式适用于多道程序环境下,程序在内存的起始地址确定,地址变换是在装入时一次完成的;的起始地址确定,地址变换是在装入时一次完成的; e. e. 动态运行时装入方式也适用于多道程序环境下,程动态运行时装入方式也适用于多道程序环境下,程序在内存的首地址不固定,地址变换是在程序真正要运序在内存的首地址不固定,地址

3、变换是在程序真正要运行时才进行的。行时才进行的。7. 为什么要引入动态重定位? 如何实现?答:答: a. a. 为了允许程序在执行过程中为了允许程序在执行过程中, ,在内存中在内存中移动位置,每当访问指令或数据时移动位置,每当访问指令或数据时, ,将要访问将要访问的程序或数据的逻辑地址转换成物理地址的程序或数据的逻辑地址转换成物理地址, ,引引入了动态重定位;入了动态重定位; b. b. 可在系统中增加一对寄存器可在系统中增加一对寄存器, ,用来装入用来装入( (存放存放) )程序在内存中的起始地址和长度程序在内存中的起始地址和长度, ,程序程序在执行时在执行时, ,真正访问的内存地址是相对地

4、址真正访问的内存地址是相对地址(若没有越界)与重定位寄存器中的地址相(若没有越界)与重定位寄存器中的地址相加而形成的加而形成的, ,从而实现动态重定位。从而实现动态重定位。9. 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况 ?答:答:a. a. 回收区与插入点的前一个分区相邻接回收区与插入点的前一个分区相邻接, ,此时可此时可将回收区与插入点的前一分区合并将回收区与插入点的前一分区合并, ,不再为回收分区不再为回收分区分配新表项分配新表项, ,而只修改前邻接分区的大小而只修改前邻接分区的大小; ; b. b. 回收分区与插入点的后一分区相邻接回收分区与插入点的后一分区相

5、邻接, ,此时合并两此时合并两区区, ,然后用回收区的首址作为新空闲区的首址然后用回收区的首址作为新空闲区的首址, ,大小为大小为两者之和两者之和; ; c. c. 回收区同时与插入点的前后两个分区邻接回收区同时与插入点的前后两个分区邻接, ,此时将此时将三个分区合并三个分区合并, ,使用前邻接分区的首址使用前邻接分区的首址, ,大小为三区之大小为三区之和和, ,取消后邻接分区的表项取消后邻接分区的表项; ; d. d. 回收区没有邻接空闲分区回收区没有邻接空闲分区, ,则应为回收区单独建立则应为回收区单独建立一个新表项一个新表项, ,填写回收区的首址和大小填写回收区的首址和大小, ,并根据其

6、首址并根据其首址, ,插入到空闲链中的适当位置。插入到空闲链中的适当位置。补补. 何谓静态链接及装入?何谓装入时何谓静态链接及装入?何谓装入时动态链接和运行时的动态链接?动态链接和运行时的动态链接? 答:答: a.a.静态链接是指事先进行链接形成一个静态链接是指事先进行链接形成一个完整的装入模块完整的装入模块, ,以后不再拆开的链接方式以后不再拆开的链接方式; ; b.b.装入时动态链接是指目标模块在装入装入时动态链接是指目标模块在装入内存时内存时, ,边装入边链接的链接方式边装入边链接的链接方式; ; c.c.运行时的动态链接是将某些目标模块运行时的动态链接是将某些目标模块的链接推迟到执行时

7、才进行。的链接推迟到执行时才进行。19.什么是页表?页表的作用?什么是页表?页表的作用?答:系统为每个进程建立一张页面映射表,答:系统为每个进程建立一张页面映射表,用来给出逻辑地址页号和内存物理块号对用来给出逻辑地址页号和内存物理块号对应的关系。通过页表,能够查找到页面放应的关系。通过页表,能够查找到页面放置在内存的位置。置在内存的位置。20.为实现分页存储管理为实现分页存储管理,需要哪些硬件支持?需要哪些硬件支持?答:地址变换机构,页表及页表寄存器。答:地址变换机构,页表及页表寄存器。24.在具有快表的段页式存储管理方式中,如何实现地址变换?答:b1 l1越界中断越界中断段表长度段表长度Cl

8、比较比较s p b快表快表段页号段页号 块号块号段表始址段表始址Cb+段号段号s 段内页号段内页号p 页内地址页内地址dbd物理地址寄存器物理地址寄存器段表寄存器段表寄存器逻辑地址逻辑地址段表段表01.比较比较b01.+S段页表段页表26.分页和分段有何区别 ?答:答: a. a. 分页和分段都采用离散分配的方式分页和分段都采用离散分配的方式, ,且都要通且都要通过地址映射机构来实现地址变换过地址映射机构来实现地址变换, ,这是它们的共同点这是它们的共同点; ; b. b. 对于它们的不同点有三对于它们的不同点有三, ,第一第一, ,从功能上看从功能上看, ,页页是信息的物理单位是信息的物理单

9、位, ,分页是为实现离散分配方式分页是为实现离散分配方式, ,以以消减内存的外零头消减内存的外零头, ,提高内存的利用率提高内存的利用率, ,即满足系统即满足系统管理的需要管理的需要, ,而不是用户的需要而不是用户的需要; ;而段是信息的逻辑而段是信息的逻辑单位单位, ,它含有一组其意义相对完整的信息它含有一组其意义相对完整的信息, ,目的是为目的是为了能更好地满足用户的需要了能更好地满足用户的需要; ; c. c. 页的大小固定且由系统确定页的大小固定且由系统确定, ,而段的长度却不而段的长度却不固定固定, ,决定于用户所编写的程序决定于用户所编写的程序; ; d. d. 分页的作业地址空间

10、是一维的分页的作业地址空间是一维的, ,而分段的作业而分段的作业地址空间是二维的。地址空间是二维的。 补充:补充:有一系统采用页式存有一系统采用页式存储管理,有一进程大小是储管理,有一进程大小是8KB,页大小为,页大小为2KB,依次,依次装入内存的第装入内存的第7、9、10、5块,试将虚地址块,试将虚地址7145,3412转换成内存地址。转换成内存地址。 答:答:7145/2048=3页号0123 补充:有一系统采用页式存储管理,有一作业补充:有一系统采用页式存储管理,有一作业大小是大小是8KB8KB,页大小为,页大小为2KB2KB,依次装入内存的第,依次装入内存的第7 7、9 9、1010、

11、5 5块,试将虚地址块,试将虚地址71457145,34123412转换成内转换成内存地址。存地址。虚地址 3412P3412 / 2048 1W 3412 mod 2048 1364MR=9*2048+1364=19796虚地址3412的内存地址是:19796页号0123虚地址 7145P7145 / 2048 3W7145 mod 2048 1001MR=5*2048+1001=11241虚地址7145的内存地址是:11241页号块号071921035页式地址变换虚地址结构页式地址变换虚地址结构虚地址结构虚地址结构(程序字程序字) 虚地址是用户程序中的逻辑地址,它包括页号和页内地址虚地址是

12、用户程序中的逻辑地址,它包括页号和页内地址(页内位移)。(页内位移)。 区分页号和页内地址的依椐是页的大小,页内地址占虚区分页号和页内地址的依椐是页的大小,页内地址占虚地址的低位部分,页号占虚地址的高位部分。地址的低位部分,页号占虚地址的高位部分。 假定页面大小假定页面大小1024字节,虚地址共占用字节,虚地址共占用2个字节个字节(16位位) 页号页号 页内地址(位移量)页内地址(位移量) P W 15 10 9 0页式地址变换页式地址变换 虚地址结构虚地址结构页式地址映射页式地址映射页式地址映射页式地址映射1. 1. 虚地址(逻辑地址、程序地址)以十六进制、八进制、虚地址(逻辑地址、程序地址

13、)以十六进制、八进制、二进制的形式给出二进制的形式给出将虚地址转换成二进制的数;将虚地址转换成二进制的数;按页的大小分离出页号和位移量按页的大小分离出页号和位移量(低位部分是位移量,高位(低位部分是位移量,高位部分是页号);部分是页号);根据题意产生页表根据题意产生页表;将位移量直接复制到内存地址寄存器的低位部分;将位移量直接复制到内存地址寄存器的低位部分;以页号查页表,得到对应页装入内存的块号以页号查页表,得到对应页装入内存的块号,并将块号转换,并将块号转换成二进制数填入地址寄存器的高位部分,从而形成内存地成二进制数填入地址寄存器的高位部分,从而形成内存地址址。页式地址映射页式地址映射2.2

14、.虚地址以十进制数给出虚地址以十进制数给出 页号虚地址页号虚地址/ /页大小页大小 位移量虚地址位移量虚地址 mod mod 页大小页大小根据题意产生页表;根据题意产生页表;以页号查页表,得到对应页装入内存的块号以页号查页表,得到对应页装入内存的块号内存地址块号内存地址块号页大小位移量页大小位移量页式地址映射页式地址映射例:有一系统采用页式存储管理,有例:有一系统采用页式存储管理,有一作业大小是一作业大小是8KB8KB,页大小为,页大小为2KB2KB,依,依次装入内存的第次装入内存的第7 7、9 9、A A、5 5块,试将块,试将虚地址虚地址0AFEH0AFEH,1ADDH1ADDH转换成内存

15、地址。转换成内存地址。虚地址虚地址0AFEH0AFEH0000 10000 1010 1111 1110010 1111 1110P P1 W1 W010 1111 1110010 1111 1110MRMR0100 10100 1010 1111 1110010 1111 1110 4AFEH4AFEH页式地址映射页式地址映射虚地址虚地址1ADDH1ADDH0001 10001 1010 1101 1101010 1101 1101P P3 3W W010 1101 1101010 1101 1101MRMR0010 10010 1010 1101 1101010 1101 11012ADD

16、H2ADDH 分段管理分段管理对所示段表,给出逻辑地址对所示段表,给出逻辑地址0,430;1,10;2,500;3,400;4,112;求所对应的物理地址(用十进制;求所对应的物理地址(用十进制表示)。表示)。段 号始 地 址长 度0256600110245002204820032304700440964000,430:430600256+4301,10:10200越界3,400:4007002304+4004,112:112f.sizeB、将r合并到f2, r.addr;r.size+r.size=f2.sizeC、f1、r、f2 合并到f1, f1.addr; f1.size+r.size+f2.size=f1.size 撤消f2空闲区D、r作为一个空闲区,并插入到空闲区表的适当位置。几种分配算法一、首次适应算法 首次适应算法的表是按空闲区首址升序的(即空闲区表是按空闲区首址从小到大)方法组织的。 二、最佳适应算法最佳适应算法的空闲区表按空闲区大小升序方法组织。分配时,按申请的大小逐个与空闲区大小进行比较,找到一个满足要求的空闲区,就说明它是最适合的(即最佳的)。这种算法最大的缺点是分割后的空闲区将会很小,直至无法使用,而造成浪费。三、最坏适应算法最坏适应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论