操作系统内存分配管理相关习题4

2021

7
某系统采用页式存储管理方法,主存储器容量为256MB,分成64K个块。
某用户作业有4页,其页号依次为0,1,2,3被分别放在主存块号为2,4,1,6
的块中。要求:

  1. 写出该作业的页表
  2. 指出该作业总长度的宇节(Btye)数
  3. 分别计算相对地址【0,100】和【2,0】对应的绝对地址
    (方括号内的第一元素为页号,第二元素为页内地址)

页号页框
02
14
21
36

存储空间256MB,分块的数量为64K个
块的大小:
256 M B 64 K B = 2 8 M B 2 6 K B = 2 2 ⋅ 2 10 B = 4 K B \frac{256MB}{64KB}=\frac{2^{8}MB}{2^{6}KB}=2^{2} \cdot 2^{10}B=4KB 64KB256MB=26KB28MB=22210B=4KB
作业一共有四页,页面大小是4KB。作业总长度16KB
3.
计算逻辑地址对应的物理地址
页号是0,对应的物理块号是2,
物理块号x物理块的大小+页内偏移量
2 x 4KB + 100 = 2 x 4 x 1024 + 100 = 8292
在基本分页存储管理方式当中,页面大小等于物理块大小,是4KB

页号是2,对应的物理块号是1
1 x 4KB + 0 = 1 x 4 x 1024 + 0 = 4096

2017

2
假定某计算机系统配置的主存容量为2GB,当采用页式虚拟存储管理时提供给用户使用的逻辑地址空间为4GB,页面大小为4KB。
访问主存的时间为100ns,访问高速缓存的时间为20ns,高速缓存为16个单元时,查快表的命中率为90%,试问:

  1. 画出该系统的逻辑地址空间结构示意图;
  2. 用户作业最多可以有多少页?
  3. 主存空间一共被划分成多少块?
  4. 计算按相对地址转换成绝对地址进行存取的平均时间是多少?
  5. 如不使用快表,按相对地址转换成绝对地址进行存取的时间下降的百分比是多少?

配置的主存容量为2GB,也就是实际内存,物理大小是2GB, 2 31 B 2^{31}B 231B
虚拟的地址空间大小是4GB, 2 32 B 2^{32}B 232B
所以逻辑地址一共有32位
页面大小是4KB,也就是 2 12 B 2^{12}B 212B,也就是页内地址
剩下20位给页号
![[Pasted image 20241201141251.png]]

访问主存的时间为100ns,高速缓存的时间为20ns,高速缓存就是Cache,就是快表
高速缓存为16个单元时,查快表的命中率是90%
2.
问页的数量,由于页号是20位
页号反应页面数量,就是有 2 20 B = 1 M 2^{20}B=1M 220B=1M的页面
3.
总的主存空间2GB,去除以物理块的大小
页式存储管理方式中,物理块大小等于页面大小等于4KB
因此分块数量为
2 31 2 12 B = 2 19 B = 512 K B \frac{2^{31}}{2^{12}}B=2^{19}B=512KB 212231B=219B=512KB
4.
概率论的01分布问题
命中的概率是90%,需要访问一次高速缓存20ns,再去访问一次目标单元的主存空间100ns
不命中的概率是10%,访问快表20ns,但是没有找到,找内存中的页表100ns,再访问一次目标单元的主存100ns
存取时间的数学期望,概率乘以时间的值
90 100 ⋅ ( 20 + 100 ) + 10 100 ⋅ ( 20 + 100 + 100 ) = 130 n s \frac{90}{100}\cdot (20+100)+\frac{10}{100}\cdot(20+100+100)=130ns 10090(20+100)+10010(20+100+100)=130ns
5.
如果不使用快表,那么每次都需要访问一次页表,一次目标单元,访问两次主存,时间为200ns
平均下降的时间百分比
下降百分比 = 不使用快表时的访问时间 − 使用快表时的平均访问时间 不使用快表时的访问时间 下降百分比=\frac{不使用快表时的访问时间-使用快表时的平均访问时间}{不使用快表时的访问时间} 下降百分比=不使用快表时的访问时间不使用快表时的访问时间使用快表时的平均访问时间
= 200 n s − 130 n s 200 n s = 70 200 = 36 =\frac{200ns-130ns}{200ns}=\frac{70}{200}=36% =200ns200ns130ns=20070=36

例题

某分段存储管理中采用如下段表

段号段的长度内存起始地址
038095
120525
21053300
3660860
4501800
将虚地址(0 260),(2 200),(4 42)变换为物理地址
存取内存中的一条指令或数据至少要访问几次内存

第一个段号是0,段内地址260,起始地址是95,物理地址就是95+260=355
第二个段号是2,段内地址是200,200>105,产生越界中断
第三个段号是4,段内地址是42,1800+42=1842
至少要访问2次内存

3

设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(Page Frame)。在时刻260前的该进程访问情况如下表所示(访问位即使用位)

页号页框号装入时间访问位
071301
142301
222001
391601
当进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题:
  1. 该逻辑地址的对应的页号是多少?
  2. 若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程
  3. 若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,示意图如下)
    ![[Pasted image 20241204133529.png]]

页的大小是1KB, 2 10 B 2^{10}B 210B,页面地址就是有10个bit
17CA H
0001 0111 1100 1010 B
进行划分
页号000101 页面地址1111001010
101对应5
2.
需要置换,换出装入时间最短的0号页
把5号页装入,对应的物理块号是7,对应的是0111
000111 1111001010
转为16进制:1FCA H
3.
访问位都是1,当前页面是2,访问位为1,不能淘汰,将访问为置为0,指针指向下一个
页面1访问位也是1,置为0,指向下一个;把0号页的1置为0,指向下一个;把3号页置为0,指向下一个;又回到2号页,发现访问位是0,淘汰2号页
调入5号页,对应的页框是2
000010 1111001010B,转换为16进制,0BCA H

2015

系统为某进程分配了三个物理块,对应的页面引用串如下:
5,0,3,2,1,0,4,3,0,5
试绘出利用FIFO页面置换算法时的置换图


![[Pasted image 20241204140424.png]]

9 10 = 90 % \frac{9}{10}=90\% 109=90%

2014

系统为某进程分配了三个物理块,对应的页面引用串如下:
5,0,3,2,1,0,4,3,0,5
试绘出利用LRU页面置换算法时的置换图


![[Pasted image 20241204141001.png]]

2019

在页式虚拟存储管理系统中,若某进程依次访问的页面为
2,3,2,1,5,2,4,5,3,2,5,2
分配3块主存块,开始三页也算缺页,采用页号队列的方法,分别填写下表,并计算缺页次数和缺页率

FIFO

访问页面232152453252
222231552243
33315224435
152443352
是否缺页×××
缺页次数
缺页次数9,缺页率
$$
\frac{9}{12}=75%
$$

LRU

访问页面232152453252
223321524533
32215245325
152453252
是否缺页×××××
缺页次数
缺页次数7,缺页率
$$
\frac{7}{12}=58.33%
$$
简述时钟页面置换算法(CLOCK)的基本思想?它有什么特点

时钟页面置换算法是一种近似于LRU(最近最少使用)的页面置换算法。它试图找到最长时间未被访问的页面进行置换。
基本思想:

  1. 循环链表:所有页面被组织在一个循环链表中。
  2. 指针:使用一个指针(时钟手)沿着链表移动,每次移动到一个页面时,该页面的访问位被清除。
  3. 访问位:每个页面有一个访问位,当页面被访问时,访问位被设置。
  4. 置换条件:当需要置换页面时,指针移动到链表的开始。如果指针指向的页面的访问位为0,则进行置换;如果访问位为1,则清除访问位,并将指针移动到下一个页面。
    特点:
  5. 简单高效:算法实现简单,且性能接近LRU。
  6. 近似LRU:虽然不是精确的LRU,但通常能很好地模拟最近最少使用的原则。
  7. 低开销:不需要维护完整的访问历史记录,减少了开销。
  8. 循环扫描:通过循环链表和指针的方式,实现高效的页面扫描。
简述请求分页存储管理技术的基本思想

请求分页存储管理技术是一种内存管理技术,它结合了分页和请求调页的概念。基本思想为:

  1. 分页:逻辑地址空间被划分为固定大小的页面。
  2. 请求调页:只有当程序需要访问某个页面时,该页面才被调入内存。
  3. 页面置换:如果内存中没有足够的空间来装入新页面,操作系统会根据某种页面置换算法选择一个页面调出内存,以便调入新的页面。
  4. 虚拟内存:通过使用磁盘空间作为虚拟内存,可以使得程序的逻辑地址空间大于实际的物理内存

设某分页存储管理系统中,主存容量为64MB,共有16K个物理块,物理块从0开始编号。主存按字节编址。某进程的逻辑地址空间占8页,页面从0开始编号
其中第1,3,5,7页被分配到主存的第12,24,31,45号物理块。写出这些页面在主存中的起始地址。


某分页存储管理系统中页面在主存中的起始地址
由于主存按字节编址,我们需要计算每个物理块的起始地址。每个物理块的大小等于主存容量除以物理块的数量:
物理块大小=主存容量÷物理块数量
64 ⋅ 2 20 16 ⋅ 2 10 = 2 6 ⋅ 2 20 2 4 ⋅ 2 10 = 2 12 B = 2 2 K = 4 K \frac{64\cdot 2^{20} }{16 \cdot 2^{10} }=\frac{2^{6} \cdot 2^{20} }{2^{4} \cdot 2^{10} }= 2^{12}B=2^{2}K=4K 1621064220=2421026220=212B=22K=4K

  1. 第1页被分配到第12号物理块: 起始地址=12×2^12=48KB=0xC0000
  2. 第3页被分配到第24号物理块:起始地址=24×2^12=96KB=0x180000
  3. 第5页被分配到第31号物理块: 起始地址=31×2^12=124KB=0x1F8000
  4. 第7页被分配到第45号物理块: 起始地址=45×2^12=180KB=0x2D0000
2020

解释请求分页系统中的页表项的每个字段
![[Pasted image 20241204144350.png]]

在请求分页系统中,页表项包含了以下字段:

  1. 页号:表示逻辑地址中的页号。
  2. 物理块号:表示该页在物理内存中对应的块号。
  3. 状态位P:表示该页是否在内存中。如果状态位为1,则表示页面在内存中;如果为0,则表示页面不在内存中。
  4. 访问字段A:用于记录页面最近是否被访问过,通常用于页面置换算法中。
  5. 修改位M:表示该页自从被调入内存后是否被修改过。如果为1,则表示页面已被修改;如果为0,则表示页面未被修改。
  6. 外存地址:表示该页在磁盘上的地址,用于页面置换时从磁盘调入或调出页面
7

采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是


24-8=16表示段内地址,每段的最大长度就是段内地址的位数 2 16 2^{16} 216

5

在一请求分布系统中,假如一个作业的页面走向为4、3、2、1、4、3、5、4、 3、2、1、5,当分配给该作业的物理块数为4时(开始时没有装入页面),采用LRU 页面淘汰算法将产生几次缺页中断。


  1. 装入页面4,缺页中断1次。
  2. 装入页面3,缺页中断1次。
  3. 装入页面2,缺页中断1次。
  4. 装入页面1,缺页中断1次。
  5. 访问页面4,页面4最近被访问,无需置换。
  6. 访问页面3,页面3最近被访问,无需置换。
  7. 装入页面5,淘汰页面2(因为页面2是最近最少被访问的),缺页中断1次。
  8. 访问页面4,页面4最近被访问,无需置换。
  9. 装入页面3,淘汰页面1(因为页面1是最近最少被访问的),缺页中断1次。
  10. 装入页面2,淘汰页面5(因为页面5是最近最少被访问的),缺页中断1次。
  11. 装入页面1,淘汰页面4(因为页面4是最近最少被访问的),缺页中断1次。
  12. 装入页面5,淘汰页面3(因为页面3是最近最少被访问的),缺页中断1次。
    因此,总共会有7次缺页中断
2013

什么是请求分页存储管理?给出一个请求分页存储管理的主存页面分配和回收的方法


请求分页存储管理是一种内存管理技术,它允许程序在执行时动态地加载和卸载页面到内存中。这种方法结合了分页和请求调页技术,使得程序可以比实际物理内存大。
请求分页存储管理的主要特点:

  1. 动态分配:系统根据需要动态地将页面加载到内存中。
  2. 局部性原理:程序倾向于使用最近访问过的页面。
  3. 页面置换:当内存中没有足够的空间来加载新页面时,系统会替换掉一些页面。
    主存页面分配方法:
  4. 分配请求:当程序运行时,如果需要的页面不在内存中,操作系统会发出页面分配请求。
  5. 查找空闲页面:操作系统查找可用的空闲页面。
  6. 页面调入:将所需的页面从磁盘调入内存。
    页面回收方法:
  7. 页面置换:当内存中没有足够的空间来加载新页面时,操作系统会根据某种页面置换算法选择一个或多个页面进行置换。
  8. 写回磁盘:被选中的页面会被写回到磁盘的交换区。
  9. 更新页表:操作系统更新页表,以反映页面的新位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值