操作系统:分页存储管理方式

  1. 页式存储管理中,主存空间按页分配,可用一张“位示图”构成主存分配表。假设主存容量为2M字节,页面长度为512字节,若用字长为32位的字作主存分配的“位示图”需要多少个字?如页号从1开始,字号和字内位号(从高位到低位)均从0开始,试问:第2999页对应于何字何位;99字19位又对应于第几页?

解:

(1)内存总块数=2MB/512B=4096

位示图需要字数=4096/32=128

(2)字号=(2999-1)/32=93

位号=(2999-1)%32=22

即第2999内存页对应于位示图中93字的22位。

(3)99*32+19+1=3188

即位示图99字19位对应于内存的3188页

  1. 某系统对主存采用页式管理,供用户使用的主存区域共640K字节,被分成160块,块号为0,1,…,159。现有一作业的地址空间共占4页,其页号为0,1,2,3,被分配到主存的第2,4,1,5块中。请回答:

(1)作业每一页的长度为多少字节?

(2)写出该作业被装入主存时,其对应的页表。

(3)把该作业的每一页在主存中的起始地址(用16进制表示)填在下表中:

页号

起始地址

0

1

2

3

解:

(1)因为640K/160块 = 4K/块,作业每一页的长度为4K字节

(2)作业被装入主存是,其对应的页表为

页号

主存块号

0

2

1

4

2

1

3

5

(3)该作业的每一页在主存中的起始地址(用16进制表示)如下表所示

页号

起始地址

0

2000H

1

4000H

2

1000H

3

5000H

注:

第0页起始地址为:4K×2=8K = 2×1000H

第1页起始地址为:4K×4=16K = 4×1000H

第2页起始地址为:4K×1=4K = 2×210 = 212 = 1000000000000 = 1000H

第3页起始地址为:4K×5=20K = 5×1000H

  1. 假定某采用分页存储管理的系统中,主存容量为4MB,被分成1024块,块号为0,1,2,…,1023。某作业的地址空间占4页,其页号为0,1,2,3,被分配到主存的第28,26,12,57块中。回答:

(1)主存地址应该用多少位来表示?

(2)作业每一页的长度为多少?逻辑地址中的页内地址(页内偏移/页的大小/页的长度)应占多少位?

(3)把作业中每一页分配到主存块中的起始地址填入下表:

页号

起始地址

页号

起始地址

0

2

1

3

答:(1)因为4M = 22×220 = 222 ,所以主存地址应该用22位二进制来表示。

(2)作业每一页的长度为4MB/1024=4KB

由4K = 22×210 = 212 知逻辑地址中页内地址应占12位。

(3)该作业各页被分配到主存的块号用十六进制表示,分别为1C、1A、0C、39,故各页分配到主存块中的起始地址如下表:

页号

起始地址

页号

起始地址

0

1C000H

2

0C000H

1

1A000H

3

39000H

注:4K×1=4K = 2×210 = 212 = 1000000000000 = 1000H

第0页起始地址为:4K×28 = 28×1000H = 1C000H

第1页起始地址为:4K×26 = 26×1000H = 1A000H

第2页起始地址为:4K×12 = 12×1000H = 0C000H

第3页起始地址为:4K×57 = 57×1000H = 39000H

由页长为4KB我们得知:4KB等于2的12次方,页内偏移量在操作系统上的表示每一页的大小,那么这里这个页面大小为12位,也就是通俗的页偏移为12位,用十六进制数来表示即低位3位为0,如**000H。

  1. 某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节,请问,若使用一级页表的分页存储管理,逻辑地址结构为:

 

  1. 页的大小是多少字节?页表最大占用多少字节?
  2. 页表如下所示,某进程的逻辑地址为2D16H。该地址经过变换后其物理地址是什么?

页号

物理块号

0

1

1

3

2

4

3

6

解:(1)因为逻辑地址结构图中所示的页内偏移量是12位,所以页大小为4KB,页表项数为232/4K=220×4B,由于页表项大小为4字节,该一级页表最大占用字节数为220×4B=4MB。

(2)因为页面大小为4K,所以在32位逻辑地址中的低12位是页内地址,把逻辑地址2D16H转成二进制:0010 1101 0001 0110,其中低12位部分 1101 0001 0110部分表示页内地址,高位0010表示页号,因此可知页号为2,对应的物理块号为4,将4写成二进制为0100。因为物理块大小与逻辑页面大小一致,因此逻辑地址中的页内地址也就是物理块内的地址偏移,所以物理地址为0100 1101 0001 0110,转换为16进制就是4D16H.

  1. 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB,页表项大小为4字节。
  1. 页内偏移是多少位?页表最大占用多少字节?
  2. 假定某时一用户页表中已调入内存的页面的页号和物理块号的对照表如下表所示,则逻辑地址0A5C(H)所对应的物理地址是多少?

页号

物理块号

0

3

1

7

2

11

3

8

解:

(1)每页为1KB,即一页的大小为1KB,由1KB = 210,可知页内偏移是10位,即逻辑地址中低位10位是用来编码页内地址的。

因此可知逻辑地址中高位编码页面地址有22位,页表项大小为4字节,那么页表大小为222×4B = 22 ×220×4B = 16MB,即页表最大占用字节为16MB。

(2)将逻辑地址0A5C(H)转换成二进制表示为  0000 1010 0101 1100

由页面大小为1KB知逻辑地址0000 1010 0101 1100的后10位 10 0101 1100是页内地址,

逻辑地址的剩余6位高位000010是页面地址,转化为十进制是2,根据查找页表可知,2页对应的物理块号为11,将十进制的11转换为二进制为1011,因此6位高位为001011,与低位地址相拼接后可得物理地址为0010 11 10 0101 1100,转换为十六进制为2E5C(H)

因此,逻辑地址0A5C(H)所对应的物理地址是2E5C(H)。

  • 57
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 基于LRU(最近最少使用)页面置换算法的请求分页存储管理方式是指,系统在内存中维护一个页表,记录每个页的状态信息,如是否被修改、是否在内存中等。当应用程序请求一个页面时,系统会根据页表信息判断该页面是否已经在内存中。如果在内存中,系统直接返回该页面的物理地址;如果不在内存中,则需要将该页面从磁盘中读入到内存中,并进行页面置换。 在基于LRU页面置换算法的请求分页存储管理方式中,系统会根据页表中记录的页面最近被使用的时间戳来判断哪些页面最近最少使用。当需要进行页面置换时,系统会选择最近最少使用的页面进行置换,以保证内存中的页面都是当前应用程序最需要的页面,从而提高系统性能。 ### 回答2: 随着计算机技术的不断发展,数据的处理和存储需求不断增加,如何高效地管理和优化内存资源成为了重要的问题。请求分页存储管理方式是其中一种比较常见且经典的内存管理方式,它采用了LRU页面置换算法,可以更加有效地管理内存和优化资源利用。 请求分页存储管理方式,是指将程序的地址空间分为若干个大小相同的页面,并将程序的每一个页面调入内存中,形成存储系统。当程序需要访问某个页面时,通过内存地址映射技术找到该页面在内存中的位置,如果该页面在内存中,则直接对该页面进行操作;如果该页面不在内存中,则需要将该页面从外存中调入内存中,并将原来存在于内存中的某个页面置换出去。这个过程中,就需要使用到页面置换算法。 在请求分页存储管理方式中,采用的置换算法是LRU(Least Recently Used)算法,即最近最少使用算法。在这个算法中,每次访问页面时,系统会记录下这个页面的访问时间。当需要置换出内存中的一个页面时,就会选取最久未被访问的那个页面进行置换。这样可以保证内存中存储的页面是最近经常被访问的,提高了访问效率,并避免了频繁置换引起的额外开销和性能损失。 总之,请求分页存储管理方式基于LRU页面置换算法所采用的存储方式,可以更加高效地管理和优化内存资源。通过统计页面的访问时间,并置换最久未被访问页面,可以有效提高内存的利用率和系统性能的表现。 ### 回答3: 基于LRU页面置换算法的请求分页存储管理方式,是一种基于最近最少使用算法实现的页置换方式。在这种存储管理方式下,系统将虚拟内存分成较小的页,然后把程序的进程按照逻辑结构划分为一页一页的,每个进程只占用部分内存空间,并在需要使用时,调入内存。 在这种方式下,当发生页的置换时,系统将会优先替换掉最近最少使用的页面。在运行进程中,频繁使用的页面将会保留在内存中,而较少使用的页面则可能会被替换出去。这种方式下,可以通过在页面内设置标志位,来记录页面的访问频率,以便在页置换时,更加准确地判断哪些页面需要置换出去。 基于LRU页面置换算法的请求分页存储管理方式,可以提高内存使用效率,减少因内存不足而导致的程序响应时间过长的现象。同时,通过精确地记录页面的访问历史,系统可以更好地适应不同程序的运行情况,并实现优先保留常用页面的效果。 总之,基于LRU页面置换算法的请求分页存储管理方式,是一种非常实用的存储管理方式,可以提高系统的运行效率和程序的响应速度。但是在实际应用中,需要根据具体情况进行调整和优化,以保证系统的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空心木偶☜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值