41本章知识点欢迎光临舟山广播电视大学.docx

上传人:b****1 文档编号:1916787 上传时间:2023-05-02 格式:DOCX 页数:15 大小:81.51KB
下载 相关 举报
41本章知识点欢迎光临舟山广播电视大学.docx_第1页
第1页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第2页
第2页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第3页
第3页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第4页
第4页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第5页
第5页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第6页
第6页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第7页
第7页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第8页
第8页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第9页
第9页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第10页
第10页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第11页
第11页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第12页
第12页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第13页
第13页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第14页
第14页 / 共15页
41本章知识点欢迎光临舟山广播电视大学.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

41本章知识点欢迎光临舟山广播电视大学.docx

《41本章知识点欢迎光临舟山广播电视大学.docx》由会员分享,可在线阅读,更多相关《41本章知识点欢迎光临舟山广播电视大学.docx(15页珍藏版)》请在冰点文库上搜索。

41本章知识点欢迎光临舟山广播电视大学.docx

41本章知识点欢迎光临舟山广播电视大学

41本章知识点-欢迎光临舟山广播电视大学

第4章存储管理辅导与自测

4.1本章知识点

存储器是计算机系统中的关键资源,对内存如何处理在很大程度上将影响整个系统的性能。

存储管理即对内存的管理,存储管理目前仍是人们研究操作系统的中心问题之一,以至操作系统的命名也往往取决于存储管理的策略。

本章的主要知识点为:

(1)本章的重要概念

本章涉及到的概念比较多,主要有:

内存、外存、逻辑地址/相对地址、物理地址/绝对地址、逻辑地址空间/地址空间、内存空间/物理空间/绝对空间、重定位、静态重定位、动态重定位、对换技术、碎片、紧缩、虚拟存储器、页面抖动。

存储器作为计算机系统中最主要的组成部分,按照速度、容量和成本划分一个层次结构,分别是寄存器、高速缓存、内存、磁盘和磁带。

用户程序必须装入到内存才能运行。

进程的地址空间不同于内存的物理空间。

经过重定位可以把逻辑地址转变为内存的物理地址。

重定位分为静态和动态两种方式,现在的计算机系统中都采用动态重定位方法。

对换技术可以利用外存来解决内存不足的问题。

现在Linux系统中还采用这种技术。

(2)分区管理技术

分区分配是为支持多道程序运行而设计的一种最简单的存储管理方式,可分为固定分区法和动态分区法。

固定分区就是内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。

每个分区只可装入一个进程。

动态分区是在进程要进入内存时才建立的,使其大小恰好适应进程的大小。

动态分区法常用的分配策略有两种:

最先适应算法(First-fit)和最佳适应算法(Best-fit),前者空闲表按位置排列,后者空闲表以空闲分区的大小为序。

具有固定大小分配单元的系统,如MFT(具有固定任务数的多道程序设计)或分页系统,会产生内部碎片;而具有可变大小分配单元的系统,如MVT(具有可变任务数的多道程序设计),会出现外部碎片。

为了有效解决碎片问题,实现的方法是移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。

这种技术称为紧缩。

采用紧缩技术的分区方法称为可重定位分区法。

动态重定位由硬件实现,包括基址寄存器和限长寄存器,对CPU生成的所有地址进行合法性检查,并映像到物理地址。

(3)分页技术

除了用紧缩技术解决碎片问题,还可以使用分页技术,即允许程序的存储空间不一定连续,可以把一个进程分散地放在各个空闲的内存块中。

分页存储管理的基本方法是:

逻辑空间分页,内存空间分块,块与页的大小相等。

页连续而块离散,用页号查页表,由硬件作转换。

分页存储管理可以实现页面的共享,但是这样做并不实际,因为逻辑上相对完整的内容不见得存在于一个或几个完整的页面中(段式存储管理更便于共享)。

此外,还可以在页表中设置存取控制字段,进行页面保护,禁止非法访问。

(4)虚拟存储管理

虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。

虚拟存储技术允许把大的逻辑地址空间映射到较小的物理内存上,这样就提高了多道程序并发执行的程度,增加了CPU的利用率。

虚拟存储器的特性包括:

虚拟扩充、部分装入、离散分配和多次对换等。

使用虚拟存储技术的页式管理为请求分页式存储管理。

它是根据实际程序执行的顺序,动态申请存储块。

并不是把所有页面都放入内存。

对一个程序的第一次访问将产生缺页中断,转入操作系统进行相应处理。

操作系统依据页表确定页面在外存上的位置,然后找一个空闲块,把该页面从外存上读到内存块中。

同时,修改页表有关项目,以反映这种变化,产生缺页中断的那条指令被重新启动执行。

这种方式允许一个程序即使它的整个存储映像并没有同时在内存中,也能正确运行。

只要缺页率足够低,其性能还是很好的。

请求分页可用来减少分配给一个进程的块数,这就允许更多进程同时执行,而且允许程序所需内存量超出可用内存总量。

(5)常用页面置换算法

当总内存的需求量超出实际内存量时,为释放内存块给新的页面,需要进行页面置换。

有各种页面置换算法可供使用。

先进先出法(FIFO)是最容易实现的,但性能不是很好。

最佳置换法(OPT)需要未来知识,仅有理论价值。

最近最少使用置换法(LRU)是OPT的近似算法,但实现时要有硬件的支持和软件开销。

最近未使用置换法(NUR)是LRU的近似算法。

置换算法的好坏直接影响系统的性能。

好的页面置换算法能够适当降低页面更换频率(减少缺页率),尽量避免系统“抖动”。

(6)Linux系统的存储管理技术

Linux采用对换和请求分页存储管理技术,页面置换采用LRU算法。

对换任务是由内核的对换守护进程kswapd完成,以保证系统中有足够的空闲内存页。

Linux系统采用三级页表的方式,以节省内存资源。

采用位图和链表两种方法来管理内存页。

4.2典型例题解析

【例1】在目标程序装入内存时,一次性完成地址修改的方式是().

A.静态重定位B.动态重定位C.静态连接D.动态连接

答案A

分析回答这道题需要清楚静态重定位和动态重定位的不同。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。

对每个程序来说,这种地址变换只是在装入时一次完成,在程序运行期间不再进行重定位。

按照静态重定位方式,一个程序A装入内存时的情况就变成图4.1所示的样子。

  从图中可以看出,经过静态重定位,原100号单元中的指令放到内存5100号单元,该指令中的相对地址500相应变成5500。

以后程序A执行时,CPU是从绝对地址5500号单元中取出数据12345,装入到寄存器A中。

静态重定位的优点是无须增加硬件地址转换机构,便于实现程序的静态连接。

在早期计算机系统中大多采用这种方案。

它的主要缺点是程序的存储空间只能是连续的一片区域,而且在重定位之后就不能再移动,这不利于内存空间的有效使用;另外各个用户进程很难共享内存中的同一程序的副本。

 

 

  动态重定位是在程序执行期间每次访问内存之前进行重定位。

这种变换是靠硬件地址变换机构实现的。

通常采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。

动态重定位的过程如图4.2所示。

  这时,操作对象的绝对地址就是重定位寄存器中的内容+操作对象的相对地址。

 

动态重定位的主要优点是程序占用的内存空间动态可变,也不必连续存放在一处;比较容易实现几个进程对同一程序副本的共享使用。

它的主要缺点是需要附加的硬件支持,增加了机器成本,而且实现存储管理的软件算法比较复杂。

与静态重定位相比,动态重定位的优点突出。

所以现在一般计算机系统中都采用动态重定位方法。

【例2】动态分区分配按进程的需求量分配内存分区,所以()。

A.分区的长度是固定的

B.分区的个数是确定的

C.分区的长度和个数都是确定的

D.分区的长度不是预先固定的,分区的个数是不确定的

答案D

分析分区法分为固定分区和动态分区。

其中,固定分区内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。

动态分区在最初时,除了操作系统占用的分区外,全部内存对用户进程都是可用的。

分区是在进程要进入内存时才建立的,按照进程的需求量划分内存分区,根本无法预测分区的长度和个数。

本题的选项A、B、C是针对固定分区而言的,只有选项D是描述动态分区的。

【例3】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:

(1)逻辑地址需要多少二进制位表示?

(2)物理地址需要多少二进制位表示?

解因为页面数为8=23,故需要3位二进制数表示。

每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。

32个物理块,需要5位二进制数表示(32=25)。

(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。

(2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。

分析在分页存储管理中,逻辑地址结构如下图所示。

它由两个部分组成:

前一部分表示该地址所在页面的页号p;后一部分表示页内地址(页内位移)d。

页号的地址位数决定了页的多少,假设页号有20位,则地址空间中最多可容纳的页面数为220,即1MB个页面。

页内地址位数确定了每页的大小,若页内地址为12位,则每页大小为212,即2KB。

同理,物理地址中块号的地址位数决定了块的多少,由于页式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。

【例4】若在一分页存储管理系统中,某作业的页表如下所示。

已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。

页号

块号

0

1

2

3

2

3

1

6

解本题中,为了描述方便,设页号为p,页内位移为d,则:

(1)对于逻辑地址1011,p=int(1011/1024)=0,d=1011mod1024=1011。

查页表第0页在第2块,所以物理地址为1024⨯2+1011=3059。

(2)对于逻辑地址2148,p=int(2148/1024)=2,d=2148mod1024=100。

查页表第2页在第1块,所以物理地址为1024+100=1124。

(3)对于逻辑地址4000,p=int(4000/1024)=3,d=4000mod1024=928。

查页表第3页在第6块,所以物理地址为1024⨯6+928=7072。

(4)对于逻辑地址5012,p=int(5012/1024)=4,d=5012mod1024=916。

因页号超过页表长度,该逻辑地址非法。

分析页式存储管理的地址结构是一维的,即逻辑地址/物理地址只用一个数值即可表示。

若给定的逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得:

p=int(A/L)d=AmodL

其中,int是取整函数(取值的整数部分),mod是取余函数(取值的余数部分)。

图4.3显示了页式管理系统的地址转换机构。

 

页表的作用是实现从页号到物理块号的地址映射。

以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中。

这样,物理块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。

【例5】判断:

虚拟存储器实际上是一种设计技巧,使主存物理容量得到扩大。

答案错误。

分析根据程序执行时的互斥性和局部性两个特点,可以只将作业的一部分装入主存,其余的部分放在辅存(如磁盘等)上,当需要的时候,再从辅存调入主存,这样用户编制程序时可以不必考虑主存的实际容量,允许用户的逻辑地址空间大于主存的绝对地址空间,对用户来说,好像计算机具有一个容量很大的主存,这就是“虚拟存储器”。

虚拟存储器实际上是为扩大主存容量而采用的一种设计技巧。

它与实际的主存物理容量无关,而是大小比主存大得多的假想空间,使用户感觉到所能使用的“主存空间”非常大。

【例6】与虚拟存储技术不能配合使用的是()。

A.分区管理B.页式存储管理

C.段式存储管理D.段页式存储管理

答案A

分析采用页式、段式、段页式管理可以实现虚拟存储器,但对固定分区、可变分区方式都不能实现虚拟存储器。

我们知道实现虚拟存储技术的物质基础是二级存储结构(主存与辅存)和动态的地址转换机构(动态重定位)。

固定分区方式没有硬件地址转换机构。

可变分区方式管理主存也不能实现虚拟存储。

因为在这种管理方式下,每次必须将作业完整地调入主存,并要求连续存放,这不符合虚拟存储器的基本原理;另外,虽然可变分区方式有硬件地址转换机构,但它把绝对地址超出限定范围按出错处理,而不是产生“缺分区中断”。

虚拟存储器的特征可以归结为以下16个字:

虚拟扩充(并非真正扩充了主存容量)、部分装入(每个作业不是全部一次性地装入内存,而是分成若干部分)、离散分配(装入内存的作业部分不必占有连续的内存空间,而是“见缝插针”)、多次对换(作业运行时,程序和数据多次在主存和辅存之间对换)。

【例7】考虑下述页面走向:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?

解使用FIFO算法,缺页次数是16;使用LRU算法,缺页次数是15;使用OPT算法,缺页次数是11。

分析所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。

当内存块数量为3时:

FIFO1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

块11114446663332226

块2222111222777111

块333355511166633

缺页⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯

因此,FIFO算法发生缺页中断的次数为16。

在FIFO算法中,先进入内存的页面被先换出。

例如,当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4、…,可见4为最先进入内存的,本次应换出,然后把页6调入内存。

LRU1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

块1111445551177222

块222222666333333

块33311122226616

缺页⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯

因此,LRU算法发生缺页中断的次数为15。

在LRU算法中,最近最少使用的页面被先换出。

例如,当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2、…,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。

OPT1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

块111111133336

块22222227222

块3345666611

缺页⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯

因此,OPT算法发生缺页中断的次数为11。

在OPT算法中,在最远的将来才被访问的页面被先换出。

例如,当页6要调入时,内存的状态为1、2、5,考查页6后面要调入的页面,分别为2、1、2、…,可见5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。

4.3练习题

一、选择题(选择一个正确答案的代码填入括号中)

1.通常,用户编写的程序中所使用的地址是()。

A.逻辑地址B.物理地址

C.绝对地址D.内存地址

2.可由CPU调用执行的程序所对应的地址空间为()。

A.符号名空间B.虚拟地址空间

C.物理空间D.逻辑地址空间

3.把逻辑地址转变为内存物理地址的过程称作()。

A.编译B.连接C.运行D.重定位

4.经过(),目标程序可以不经过任何改动而装入物理内存单元。

A.静态重定位B.动态重定位

C.编译或汇编D.存储扩充

5.动态重定位是在程序()期间,每次访问内存之前教学重定位。

A.执行B.编译C.装入D.修改

6.在分时系统中,可将进程不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据,称为()。

A.覆盖技术B.对换技术

C.虚拟技术D.物理扩充

7.分区管理中进行分区的是主存的()。

A.系统区域B.用户区域

C.程序区域D.整个区域

8.分区管理要求对每一个作业都分配()的内存单元。

A.地址连续B.若干地址不连续

C.若干连续的页面D.若干不连续的页面

9.固定分区中各分区的大小是()。

A.相同的B.相同或者不同,但预先固定

C.根据进程要求确定D.随进程个数而定

10.动态分区管理方式下,分配作业的主存空间根据()。

A.一张分区说明表

B.一张分区说明表和一张空闲分区表

C.一张“位示图”构成的分区说明表

D.由系统自定

11.在存储管理中,为实现地址映射,硬件应提供两个寄存器,一个是基址寄存器。

另一个是()。

A.控制寄存器B.程序状态字寄存器

C.限长寄存器D.通用寄存器

12.可重定位分区存储管理采用的地址转换公式是()。

A.绝对地址=界限寄存器值+逻辑地址

B.绝对地址=下限寄存器值+逻辑地址

C.绝对地址=基址寄存器值+逻辑地址

D.绝对地址=块号⨯块长+页内地址

13.最先适应分配算法把空闲区()

A.按地址顺序从小到大登记在空闲区表中

B.按地址顺序从大到小登记在空闲区表中

C.按长度以递增顺序登记在空闲区表中

D.按长度以递减顺序登记在空闲区表中

14.最容易形成很多小碎片的可变分区算法是()。

A.最先适应算法B.最佳适应算法

C.位示图法D.以上都不是

15.下列存储管理方案中,不采用动态重定位的是()。

A.页式管理B.可变分区

C.固定分区D.段式管理

16.在分页存储管理系统中,从页号到物理块号的地址映射是通过()实现的。

A.段表B.页表C.PCBD.JCB

17.在页式存储管理系统中,整个系统的页表个数是()个。

A.1个B.2个

C.与页面数相同D.和装入主存的进程个数相同

18.虚拟存储技术是()。

A.扩充内存空间的技术B.扩充相对地址空间的技术

C.扩充外存空间的技术D.扩充输入输出缓冲区的技术

19.虚拟存储器的容量是由计算机的地址结构决定的,若CPU有32位地址,则它的虚拟地址空间为()。

A.100KB.640KC.2GD.4G

20.在请求分页虚拟存储管理中,若所需页面不在内存中,则会引起()。

A.输入输出中断B.时钟中断

C.越界中断D.缺页中断

21.下列存储管理方案中,不要求将进程全部调入并且也不要求连续存储空间的是()。

A.固定分区B.可变分区

C.页式存储管理D.请求分页式存储管理

22.存储管理中,页面抖动是指()。

A.使用机器时,屏幕闪烁的现象

B.被调出的页面又立刻被调入所形成的频繁调入调出现象

C.系统盘有问题,致使系统不稳定的现象

D.由于主存分配不当,偶然造成主存不够的现象

23.在页式虚拟存储管理系统中,LRU算法是指()。

A.最早进入内存的页先淘汰

B.近期最长时间以来没被访问的页先淘汰

C.近期被访问次数最少的页先淘汰

D.以后再也不用的也先淘汰

二、判断题(正确的划√,错误的划×。

1.在现代操作系统中,不允许用户干预内存的分配。

()

2.CPU可以直接访问外存(如磁盘)上的数据。

()

3.固定分区存储管理的各分区的大小不可变化,这种管理方式不适合多道程序设计系统。

()

4.可重定位分区存储管理可以对作业分配不连续的内存单元。

()

5.采用动态重定位技术的系统,目标程序可以不经任何改动,而装入物理内存。

()

6.动态存储分配时,要靠硬件地址变换机构实现重定位。

()

7.在页式存储管理方案中,为了提高内存的利用效率,允许同时使用不同大小的页面。

()

8.虚拟存储器是利用操作系统产生的一个假想的特大存储器,是逻辑上扩充了内存容量,而物理内存的容量并未增加。

()

9.虚拟存储方式下,程序员编制程序时不必考虑主存的容量,但系统的吞吐量在很大程度上依赖于主存储器的容量。

()

10.虚拟存储空间实际上就是辅存空间。

()

11.在虚拟存储系统中,操作系统为用户提供了巨大的存储空间。

因此,用户地址空间的大小可以不受任何限制。

()

12.页式存储管理系统不利于页面的共享和保护。

()

三、简答题

四、应用题

请同学们解答参考教材137页的课后习题。

参考答案:

一、ACDBABBABBCCABCBDBDDDBB

二、1,5,6,8,9,12是正确的。

2.(×)。

CPU不能直接访问外存上的数据,需要放入内存后才可以存取。

3.(×)。

固定分区管理方式支持多道程序设计。

4.(×)。

分区存储管理要求对作业分配连续的内存单元。

7.(×)。

页式存储管理中使用的页面均大小相同。

10.(×)。

虚拟存储空间不是一个实际存在的存储空间,是操作系统对逻辑内存的扩充。

11.(×)。

虚拟存储器的容量不是无限大的,它受到指令的地址字长和外存容量的限制。

三和四、见本章教材习题解答。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2