常熟理工操作系统论文.docx

上传人:b****1 文档编号:2412910 上传时间:2022-10-29 格式:DOCX 页数:9 大小:66.93KB
下载 相关 举报
常熟理工操作系统论文.docx_第1页
第1页 / 共9页
常熟理工操作系统论文.docx_第2页
第2页 / 共9页
常熟理工操作系统论文.docx_第3页
第3页 / 共9页
常熟理工操作系统论文.docx_第4页
第4页 / 共9页
常熟理工操作系统论文.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

常熟理工操作系统论文.docx

《常熟理工操作系统论文.docx》由会员分享,可在线阅读,更多相关《常熟理工操作系统论文.docx(9页珍藏版)》请在冰豆网上搜索。

常熟理工操作系统论文.docx

常熟理工操作系统论文

分页式存储管理中的实用技术

刘浩数学系,应数软件101,040410118

目录

摘要......................................................2

关键词....................................................2

正文......................................................2

1.分页式存储管理.......................................2

1.1如何分页和分块...................................3

1.1.1页表的构造与作用...............................3

1.1.2快表的构造与作用...............................3

2.要解决的问题.........................................3

3.缺页处理过程.........................................6

3.1简单阐述.........................................6

3.1具体操作.........................................6

4.分页式存储管理中存储块的分配与回收...................8

4.1位图法...........................................8

4.2链表法...........................................9

5.存储保护.............................................9

6.总结.................................................9

 

摘要:

分页式存储管理的基本思想是把内存空间分成大小相等、位置固定的若干个小分区,每个小分区称为一个存储块,简称块,并依次编号为0,1,2,3,……,n块,每个存储块的大小由不同的系统决定,一般为2的n次幂,如1KB,2KB,4KB等,一般不超过4KB。

而把用户的逻辑地址空间分成与存储块大小相等的若干页,依次为0,1,2,3,……,m页。

当作业提出存储分配请求时,系统首先根据存储块大小把作业分成若干页。

每一页可存储在内存的任意一个空白块内。

此时,只要建立起程序的逻辑页和内存的存储块之间的对应关系,借助动态地址重定位技术,原本连续的用户作业在分散的不连续存储块中,就能够正常投入运行。

采用页式管理,使主存空间充分利用,页不必为了得到连续空间而进行移动。

可以提高系统效率。

关键词:

分页式存储管理,实用技术

分页式存储管理:

分页式存储管理的概况描述:

在可变分区存储管理系统中,要求一个作业必须装入内存某一连续区域内。

这样,经过一段时间的运行,随着多个作业的进入与完成,内存中容易产生许多分散的、比较小的外部碎片。

解决这一问题的一个方法是采用紧凑技术,但紧凑技术比较花费处理机时间。

为此,人们考虑另一种解决方法,即打破一个作业必须装入内存连续区域的限制,可把一个作业分配到几个不连续的区域内,从而不需移动内存原有的数据,就可有效地解决碎片问题。

这一思想的应用就是分页式存储管理。

分页式存储管理是在大型机操作系统中被广泛采用的一种存储管理方案。

分页存储管理概念:

存储器管理中,连续分配方式会形成许多“碎片”,这是将一个进程直接分散地装入到许多不相邻的分区中,这种离散方式的基本单位是页,则称之分页式存储管理。

分页存储管理的基本原理是:

将主存空间和辅存空间分别等分为大小相等的若干页,页的大小为个字节,如(1KB),(2KB),(4KB)等,并且为每个页按顺序指定一个页号,即0页、1页、2页、…。

为了叙述方便,把主存的页(物理页或绝对页)称为页面。

如何分页和分块:

页式存储管理中有两个名词:

“页”和“块”,其中的“块”是针对硬件来说的,就是把存储器分成若干相等大小的区,每个区就称为一个块。

对应的,在程序中,逻辑地址进行“分页”,其大小和每个块相一致。

事实上,页面的大小是由块的大小自然决定的。

对于程序来说,其逻辑地址还是和原来一样采用连续的地址。

只是按照块的位数取其前面数位做为页号.

分配空间时,根据作业长度可以确定它的页面数,根据这个页面数在主存中分配相应的块数,只要是空闲块就可以放入,即使不是相邻的。

并把分配情况记在“页表”中,根据页表可以找到相对应的页号与块号,就得出绝对地址了。

页表的构造与作用

每个被装入主存的作业都有一张页表,指出该作业逻辑地址中的页号与所占用的主存块号之间的对应关系。

页表的长度由作页拥有的页面数决定,行号对应为页号,行中记录的是主存中的块号。

页表是硬件进行地址转换的依据,每执行一条指令时按逻辑地址中的页号查找页表并转换成绝对地址。

在多道程序设计系统中,进入主存的每个作业都有一张页表,由一个硬件“页表控制寄存器”来记录每个作业的页表所在位置和长度以便作业转换时同时转换页表。

快表的构造与作用

快表就是页表的一部分克隆,每行中有页号及其对应的块号,整个快表存放在一个小容量的高速缓存中,访问时快表和内存同时进行查找,因为快表速度很快,而常用的页都登记在快表中,因此可以大大加快执行速度。

需要解决的关键问题是:

选择哪一个物理页存放调入的逻辑页?

如何将线性地址转换为物理地址?

为了解决这些问题,系统为每一个页建立一个页表,保存在主存中,存放页的若干信息,如页号、容量、是否装入主存、存放在主存的哪一个页面上等。

  页表在存储器中的位置由页表地址寄存器定位。

页表中记录的状态信息为:

第1项页号指示逻辑页;第2项特征位记录该逻辑页是否装入主存,“0”表示未装入,“1”表示已装入;第3项记录该逻辑页装入主存所存放的物理页的页面号,即1号逻辑页从辅存调入主存后,存放在第7号物理页面上。

CPU访问某页时,首先要查找页表,判断要访问的页是否在主存,若在主存为命中,否则为未命中。

然后将未命中的页按照某种调度算法由辅存调入主存,并根据逻辑页号和存放的物理页面号的对应关系,将线性地址转换为物理地址。

分页存储管理的地址转换甲乙图

  存储单元的物理地址由页面号和页内地址两部分组成,如图(a)所示。

8KB主存的页内地址由地址线A9~A0提供,可寻址1KB的页内存储空间,地址范围为0~1023;页面号由高3位地址线A12~A10提供,8个页面的页面号为0~7。

由此可以看出,页面存储单元的物理地址为。

  物理地址=页的大小×页面号+页内地址。

  线性地址的确定方法与物理地址的确定方法完全相同,也是由页号和页内地址两部分组成,如图(b)所示。

16KB辅存空间可分为16页,页内地址由地址线A9~A0提供,其页号0~15由高4位地址线A13~A10提供。

151190

页号

页内地址

(甲)物理地质结构

图(a)

161190 

页号

页内地址

(乙)线性地址结构

图(b)

  在进行地址转换时,由于逻辑页和物理页的大小相等,它们的页内地址是相同的,所不同的是页号,只要将线性地址的页号转换为物理地址的页面号即可。

在图5.36中,给出1号逻辑页中某条指令访问数据的逻辑地址为1024×1+452=1476,它存入主存7页面上所对应的物理地址为1024×7+452=7620。

功能:

.分页式存储管理中的地址重定位是非常重要的,要使不连续的、分散的用户程序能正常运行,须采用动态地址重定位。

.通常可在内存中为每个作业开辟一块特定区域,建立起作业的逻辑页与存储块之间的对应表格关系,这种表常称为页面映象表,简称页表。

对当前运行作业的页表由一个专用的控制寄存器——页表始址寄存器来指定。

.逻辑地址由硬件分成的两部分页号p和页内地址w是系统自动进行的,对用户是透明的。

页内地址的长度由页大小决定,逻辑地址中除去页内地址所占的低位部分外,其余高位部分为页号。

假定一个系统的逻辑地址为16位,页大小为1KB,则逻辑地址的低10位(210=1KB),被解释成页内地址w,而高6位则为页号p,地址结构如下:

15100

号P(6位)

页内地址W(10位)

现在我们举例说明动态地址重定位的实现过程。

比如,现有一个系统,内存容量共256k,存储块的大小为1k,共有256块,编号为0~255。

第0~4块为操作系统所使用。

现有2个用户作业,作业1和作业2,其逻辑地址空间分别占2k和2.5k,进入系统后,按块的大小划分分别占2页和3页(因内存是以块为单位分配的),它们的分页情况如图(c)所示。

页号P页内地址W

内存

作业20

0页表起始

地址寄存器W-1C4H

块号b块内地址W

1KBP=2

2KB10

29C4H

3KB-1

页号页块256KB-1

图(c)

分析:

为了提高查表的速度,人们在分页地址变换机构中,加入一组高速缓冲存储器,用来存放当前作业的最常用的页号和与之相应的物理块号。

一般称这样的寄存器组为快表或联想存储器。

采用联想存储器和内存中页表相结合的分页地址变换过程。

应用联想存储器和页表相结合的方式,可有效地提高系统动态地址转换的速度,是一种行之有效的方法。

分页式存储管理中的存储信息保护可从两个方面实现,一个方面是在进行地址变换时,产生的页号应小于页表长度,否则视为越界访问,这类似于基址—限长存储保护;另一方面,可在页表中增加存取控制和存储保护的信息,对每一个存储块,可允许四种保护方式:

①禁止做任何操作;②只能执行;③只能读;④能读/写。

当要访问某页时,先判断该页的存取控制和存储保护信息是否允许。

添加了存取控制信息的页表。

缺页处理过程:

简单阐述如下:

①根据当前执行指令中逻辑地址中的页号查页表,判断该页是否在主存储器中,若该页标志为“0”,形成缺页中断。

中断装置通过交换PSW让操作系统的中断处理程序占用处理器;

②操作系统处理缺页中断的方法就是查主存分配表,找一个空闲主存块;若无空闲块,查页表,选择一个已在主存的页面,把它暂时调出主存。

若在执行过程中该页被修改过,则需将该页信息写回磁盘,否则不必写回;

③找出该页的磁盘位置,启动磁盘读出该页信息,把磁盘上读出的信息装入第2步找到的主存块,修改页表中该页的标志为“1”;

④由于产生缺页中断的那条指令没有执行完,所以页面装入后应重新执行被中断的指令。

当重新执行该指令时,由于要访问的页面已在主存中,所以可正常执行。

关于第②步的查找装入新页面的主存块的处理方式,不同系统采用的策略可能有所不同,这里采用局部置换算法,就是每个作业分得一定的主存块,只能在分得的主存块内查找空闲块,若无空闲主存块,则从该作业中选择一个页面淘汰出主存。

具体操作如下:

(1)分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页装入主存且启动执行。

为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式如图(d):

页号

标志

主存块号

在磁盘上的位置

图(d)作业页表格式

主要数据结构设计

structinfo

{

boolflag;

longblock;

longdisk;

}pagelist[SizeOfPage];

(2)作业执行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存

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

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1