操作系统原理之存储问题

 1. 某个OS采用可变分区分配方法管理,用户主存512KB,自由区由可用空区表管 理。若分配时采用分配自由区的低地址部分的方案,假设初始时全为空。对于 下列申请顺序: 申请(300KB), 申请(100KB), 释放(300KB), 申请(150KB),申请 (30KB),申请(40KB),申请(60KB),释放(30KB)。 回答下列问题: ( 1) 采用首次适应( FF),自由空区中有哪些空块(给出地址和大小)? ( 2) 若采用最佳适应( BF),回答( 1)中的问题。 ( 3) 如果再申请100KB,针对( 1)和( 2)各有什么结果?

1)如图

  

 

空闲区: 起始地址: 150K     280K     400K

                 大小:  30K      20K     112K

 

(2)如图

                      

 

空闲区: 起始地址: 210K     400K     470K

                  大小:  90K      30K      42K

 

(3)        针对(1) 可分配在400K位置

            针对(2) 无法分配

 

2. 考虑下面的页访问串: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 假定有4,5,6个页块, 应用下面的页面替换算法,计算各会出现多少次缺页中断。注意,所给定的页 块初始均为空,因此,首次访问一页时就会发生缺页中断。

( 1) LRU ( 2) FIFO ( 3) Optimal

 

(1) LRU

 

 4个页块:

 

页面

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

内存块

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

 

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

 

 

1

2

3

4

2

1

5

6

6

1

2

3

7

6

3

3

1

2

 

 

 

1

1

3

4

2

1

5

5

6

1

2

2

7

6

6

6

1

缺页

y

y

y

y

 

 

y

y

 

 

 

y

y

y

 

 

y

 

 

 

 

可得共出现缺页中断10次

 

步骤同上图可得5个页块共出现缺页中断8次,6个页块共出现缺页中断7次

 

(2) FIFO

 

4个页块:

 

页面

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

内存块

1

2

3

4

4

4

5

6

2

1

1

3

7

6

6

2

1

1

3

3

 

1

2

3

3

3

4

5

6

2

2

1

3

7

7

6

2

2

1

1

 

 

1

2

2

2

3

4

5

6

6

2

1

3

3

7

6

6

2

2

 

 

 

1

1

1

2

3

4

5

5

6

2

1

1

3

7

7

6

6

缺页

y

y

y

y

 

 

y

y

y

y

 

y

y

y

 

y

y

 

y

 

 

可得共出现缺页中断14次

 

步骤同上图可得5个页块共出现缺页中断10次,6个页块共出现缺页中断10次

 

(3) Optimal

 

4个页块:

 

页面

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

内存块

1

2

3

4

4

4

5

6

6

6

6

6

7

7

7

7

1

1

1

1

 

1

2

3

3

3

3

3

3

3

3

3

6

6

6

6

6

6

6

6

 

 

1

2

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

 

 

 

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

缺页

y

y

y

y

 

 

y

y

 

 

 

 

y

 

 

 

y

 

 

 

 

可得共出现缺页中断8次

 

步骤同上图可得5个页块共出现缺页中断8次,6个页块共出现缺页中断7次

 

3. 一台计算机有4个页块,装入时间、上次引用时间、它们的R(读)与M(修改) 位如下表所示(时间:滴答),请问NRU、 FIFO、 LRU和第二次机会算法将替 换那一页?

NRU算法将替换0类编号页页0;

FIFO算法将替换最早装入页页2

LRU算法将替换最近未被使用页页1

第二次机会算法将替换载入时间早且R位为零的页页0。

 

4. 有一页式系统,其页表存放在主存中。

( 1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问时的存取时间是 多少?

( 2)如果系统加有快表且平均命中率为85%,而页表项在快表中的查找时间忽略为 0,试问此时的存取时间为多少?

 

(1)需要两次访问内存:

 

第一次是访问页表,从而找到线性地址对应的物理地址;

 

第二次是利用找到的物理地址来访问实际的内存页面。

 

所以共需要3微秒。

 

(2)在快表中得到物理地址到主存找的概率是85%,需要1.5微秒;页表不在快表中在主存的概率是15%,需要3微秒,所以存取时间为1.5*0.85+3*0.15=1.725微秒。

 

 

5. 已知某系统页面长4KB,页表项4B,采用多层分页策略映射64位虚拟地址空间。 若限定最高层页表占1页,问它可以采用几层分页策略。

 

页面大小为4KB,总共有212位信息,其中只有210位信息是所需要的信息,而另外4字节的内容是管理这张页表的信息。64位地址空间,事实上每页只能存放10位的容量,去掉作为页内地址的12位空间,将有252页表,将这些页表按每页存放10位容量计算,则需要[52/10]=6层,故必须采取6层分页策略。

 

6. 在一个段式存储管理系统中,其段表如表1所示。试求表2所示中的逻辑地址所 对应的物理地址。

(1)由于第0段的内存始址为210,段长为500,故逻辑地址[0,430]是合法地址。逻辑地址[0,430] 对应的物理地址为210+430=640。

 

(2)由于第1段的内存始址为2350,段长为20,故逻辑地址[1,10]是合法地址。逻辑地址[1,10]对应 的物理地址为2350+10=2360。

 

(3)由于第段起始地址为100,段长为90,所给逻辑地址[2,500]非法。

 

(4)由于第3段的内存始址为1350,段长为590,故逻辑地址[3,400]是合法地址。逻辑地址[3,400] 对应的物理地址为1350+400=1750 。

 

(5)由于第4段的内存始址为1938,段长为95,所给逻辑地址[4,112]非法。

 

(6)由于系统中不存在第5段,所给逻辑地址[5,32]非法。

 

7. 请求分页管理系统中,假设某进程的页表内容如下表所示:

页面大小为 4KB,一次内存的访问时间是 100ns,一次快表(TLB)的访问时间是10ns, 处理一次缺页的平均时间 10^8 ns(已含更新 TLB 和页表的时间),进程的驻留集大小固定为 2,采用最近最少使用置换算法(LRU)和局部淘汰策略。

假设( 1) TLB 初始 为空;( 2) 地址转换时先访问 TLB,若 TLB 未命中,再访问页表(忽略访问页表之后 的 TLB 更新时间);( 3) 有效位为 0 表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、 1565H、 25A5H,

请问: (1)依次访问上述三个虚地址,各需多少时间?给出计算过程。

(2)基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。

 

(1)根据页式管理工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则得到页内位移占虚地址12位,页号占剩余高位。可得三个虚地址的页号P如下: 

 

2362H: P=2,访问快表10ns,因初始为空,访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10ns+100ns+100ns=210ns。 

 

1565H:P=1,访问快表10ns,落空,访问页表100ns,落空,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10ns+100ns+108ns+100ns≈108ns。 

 

25A5H:P=2,访问快表,因第一次访问已将该页号放入块表,因此花费10ns便可合成物理地址,访主存100ns,共计10ns+100ns=110ns。

 

(2)当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应页框号为101H。由此可得1565H物理地址为101565H。 

 

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

当该进程执行到时刻 260 时,要访问逻辑地址为 17CAH 的数据。请回答下列问题:

(1) 该逻辑地址对应的页号是多少?

(2) 若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。

(3) 若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程 (设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,示意图如下) 。

(1)17CAH=(0001 0111 1100 1010)2。页大小为1K,所以页内偏移地址为10位,于是前6位是页号,所以得到页号为:5。

(2)若采用FIFO算法,则被置换的页面所在页框为7,所以对应的物理地址为(0001 1111 1100 1010)2=1FCAH。

(3)若采用时钟算法,第一次循环时访问位都置为0,又当前指针指向2号页框,故第二次循环将置换2号页框对应的页,所以对应的物理地址为(0000 1011 1100 1010)2=0BCAH。

 

posted @ 2015-11-19 14:16  马列神教  阅读(7460)  评论(0编辑  收藏  举报