《计算机操作系统》

计算题2*7

  1. 若磁头的当前位置为100磁道,磁头正向磁道号增加方向移动。现有一个磁盘读写请求队列:23、376、205、132、19、61、190、398、29、4、18、40。若采用最短寻道时间优先算法,试计算出平均寻道长度为多少?

:

采用最短寻道时间优先磁盘调度算法,进行调度的情况为(100磁道开始)

移臂路线图如下:

100-132-190-205-61-40-29-23-19-18-4-376-398

平均寻道长度(32+58+15+144+21+11+6+4+1+14+372+22) /12=58.3

  1. 若磁盘转速为6000 转/分,每个磁道包含1000 个扇区,则访问一个扇区的平均存取时间是多少?

  1. 一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5 ms到达。它们的计算和I/O操作顺序如下:

P1:计算60 ms,I/O 80 ms,计算20 ms

P2:计算120 ms,I/O 40 ms,计算40 ms

I/O设备需要互斥使用。若不考虑调度和切换时间,则完成两个作业需要的时间最少是多少?

260ms

  1. 设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和磁盘数据块大小均为256字节,则可表示的单个文件的最大长度是多少K字节?

因每个磁盘索引块和磁盘数据块大小均为256字节,所以4个直接地址索引指向的数据块大小为4×256字节。2个一级间接索引共包括2×(256/4)个直接地址索引,既其指向的数据块大小为2×(256/4)字节。1个二级间接地址索引所包含的直接地址索引数为(256/4)×(256/4)×256,即其所指向的数据块大小为(256/4)×(256/4)×256字节。

即7个地址项所指向的数据块总大小为

4×256 2×(256/4)×256 (256/4)×(256/4)×256=1082368字节=1057KB。

4个地址项为直接地址索引,其指向的数据块大小4×256B=1KB,

一级间接地址索引可以索引256/4=64个直接地址索引,

故2个一级间接地址索引指向的数据块大小为2×64×256B=32KB,

二级间接地址索引为256/4×256/4=4096个直接地址索引,

故1个二级间接地址索引指向的数据块大小为4096×256B=1024KB,共计1KB 32KB 1024KB=1057KB。

  1. 在单CPU 多道程序系统中并发运行两道程序P1和P2,它们的执行轨迹如下:

P1:输入机(80ms)、CPU(10ms)、磁带机1(30ms);

P2:磁带机2(20ms)、CPU(20ms)、行式打印机(100 ms);

两道程序所需设备均为可用状态。系统按照非抢占调度方式调度两道程序,(1)绘制各道程序、各硬件工作时序图;(2)计算每个程序从投入到完成分别所需的时间(周转时间);(3)计算两道程序从投入到完成CPU的利用率;(4)如果单道运行,则两道程序运行完毕需要多长时间?

(1)时序图如下所示:

(2)周转时间是指从作业投入运行开始到作业完成退出为止的时间间隔。

P1 的周转时间=80ms+10ms+30ms=120ms

P2 的周转时间=20ms+20ms+100ms=140ms

(3)CPU的利用率是指CPU处于忙状态的工作时间与总时间的比值。因此,两道程序从投入到完成CPU的利用率为:

总执行时间:140ms

CPU执行时间:10ms + 20ms = 30ms

利用率:30ms / 140ms ≈ 0.214 = 21.4%

(4)如果单道运行,即每次只有一个程序在运行,那么运行时间将会更长。由于每一道程序都需要先用完CPU再用其他IO设备,所以,P1的运行时间为:80+10+30=120ms,P2的运行时间为:20+20+100=140ms,所以单道运行则两道程序运行完毕需要120+140=260ms的时间。

  1. 在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向为1、2、3、4、2、1、5、6、2、1、2、3、7、6、3、2、1、2、3、6。若给程序分配3个物理块,请用LRU(最近最久未使用页面置换)算法分析页面置换情况,计算缺页中断次数。

若需要淘汰页面,可以逆向检查此时在内存中的几个页面号。在逆向扫描过程中最后一个出现的页号就是要淘汰的页面。

缺页中断次数为:15

缺页中断率:15 / 20 = 75%

  1. 在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIFO和LRU两种算法计算出程序访问缺页率。

缺页率=缺页次数/总页数

置换率=置换次数/总页数

置换次数=缺页次数-物理块数

采用先进先出(FIFO)淘汰算法产生的缺页为9次。

先进先出(FIFO)更新算法:缺页次数9次,置换次数6次

缺页率=缺页次数/总页数=9/12=75%

置换率=置换次数/总页数=6/12=50%

采用最近最少使用(LRU)淘汰算法产生的缺页次数为7次。

最近最久未使用(LRU)更新算法:缺页次数7次,置换次数4次

缺页率=缺页次数/总页数=7/12=58.3%(约等于)

置换率=置换次数/总页数=4/12=33.3%(约等于)

  1. 两个并发执行的程序P和Q共享初值为1的变量x。P对x加1,Q对x减1。加1和减1操作的指令序列分别如下所示。

程序P:

①load R1,x   //取x值到寄存器R1中

②inc R1      //R1增1

③store x, R1  //将R1的内容存入x

程序Q:

①load R2,x

②dec R2     //R2减1

③store x, R2

写出P、Q并发执行时所有可能的指令顺序和该顺序执行后的x值。使用类似P①表示相应程序的指令。

有以下几种可能:

依次执行P1,P2,P3,Q1,Q2,Q3 得结果x=1,

依次执行P1,P2,Q1,Q2,Q3,P3得结果x=2,

依次执行Q1,Q2,P1,P2,P3,Q3得结果x=0。

  1. 一作业在时刻a到达系统,估计运行时间为b。若时刻c开始执行该作业,其响应比是多少?

在时刻 c 开始执行该作业,其等待时间为ca,,运行时间为 b。

因此,响应比=1+作业等待时间/需要CPU时间=1+(c-a)/b

  1. 在具有一级页表的分页存储管理系统中,若页面大小设置为4MB,地址总线宽度为40位,则

(1)页内位移为多少位?

(2)页号为多少位?

(3)逻辑地址(124E20)16的页号是多少?页内偏移是多少?

(4)若该页被装进物理块1024中,则物理地址是多少?

(1) 页面大小设置为4MB,即4KK=2^2*2^10*2^10=2^22,所以页内位移为22位。

(2) 地址总线宽度为40位,减去页内位移22位,剩下的18位为页号。页号为18位。

(3) 逻辑地址124E20转换为二进制为:0001 0010 0100 1110 0010 0000,

01 0010 0100 1110 0010 0000=ox024E20

其中前22位低22位,024E20为页内位移。高位的(00)=0为页号

(4) 该页被装进物理块1024中,1024=ox400=0100 0000 0000

物理地址=0100 0000 0000 01 0010 0100 1110 0010 0000

        =01 0000 0000 0001 0010 0100 1110 0010 0000 =(100024E20)16

  1. 某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为:

页目录号

页号

页内偏移量

逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是多少?

地址空间分为逻辑地址空间和物理地址空间。 页的大小为2^10字节,

页大小为2^10B,页表项大小为2B,采用二级页表,一页可存放2^9个页表项,逻辑地址空间大小为2^16页,要使表示整个逻辑地址空间的页目录表中包含的个数最少,则需要2^16/2^9=2^7=128个页面保存页表项,即页目录表中包含的个数最少为128。

  1. 一个32位计算机系统使用二级页表,虚地址被分为9位顶级页表、11位二级页表和页内位移。计算:页面长度是多少?虚地址空间共有多少个页面?

段长为 2^32 = 4MB

由于9位作顶级域,11位作二级页表域,剩余32-(9+11)=12位作偏移

所以页面长度是2^12=4094=4KB

虚地址空间页面数 2^32 / 2^12 = 2^20 =1048576

  1. 某时刻进程的资源使用情况如下所示。

进程

已分配资源

尚需资源

可用资源

R1 R2 R3

R1 R2 R3

R1 R2 R3

P1

2  0    0

0  0    1

0  2    1

P2

1  2    0

1  3    2

P3

0  1    1

1  3  1

P4

0  0    1

2  0  0

此时是否存在安全序列?若存在,则写出安全序列。给出分析计算过程。

安全序列就是指系统如果按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就处于安全状态。

当前可用资源为(0,2,1),只能满足P1,故分配资源给P1,P1运行结束后将资源返回系统,可用资源为(2,2,1)。此时只能满足P4,故分配资源给P4,P4运行结束后将资源返回系统,可用资源为(2,2,2)。此时不能满足剩余进程,故不存在安全序列。

  1. 假设有一台计算机,拥有1M内存,操作系统占用200K,每个用户进程也占用200K。用户进程等待I/O的时间为80%,若增加1M内存,则CPU的利用率将提高多少?

设每个进程等待I/O 的百分比为P ,则n 个进程同时等待I/O 的概率是P n ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-P n 。

支持用户进程数(1M-200K)/200K=(1024k-200k)/200K=4.12

所以可同时运行4个用户进程。

由于4个用户进程等待I/O 的时间为80%,故:

CPU利用率=1-P=1-(80%)^4 = 0.59=59%

若再增加1MB 内存,系统中可同时运行(2*1024K-200K)/200K=9.24

所以可同时运行9个用户进程。

此时:CPU利用率=1-(80%)^9 = 0.87=87%

87%/59%-1=147 %-100 % = 47 %

故增加IMB 内存使CPU 的利用率提高了47 % :

  1. 在单CPU 多道程序系统中并发运行两道程序P1和P2,它们的执行轨迹如下:

P1:I1(25ms)、CPU(12ms)、O1(10ms);

P2:I2(20ms)、CPU(10ms)、O2(20 ms);

P3:CPU(30ms)、I1(20ms)、CPU(10ms)、I1(10ms);

两道程序所需设备均为可用状态,系统对CPU采用时间片轮换调度方法,时间片为5ms,对设备采用非剥夺调度方式。系统按照非抢占调度方式调度两道程序。对于等待使用同样资源的多个进程,按照最新等待的先后顺序分配资源。如果最新等待顺序相同,则按照P1、P2、P3的顺序分配资源。(1)绘制各道程序、各硬件工作时序图;(2)计算每个程序从投入到完成分别所需的时间(周转时间)和三道程序全部运行结束花费的总时间;(3)计算三道程序从投入到完成CPU的利用率;(4)如果单道运行,计算每道程序运行完毕花费的时间和三道程序全部运行结束需要花费的总时间。

(1)各道程序、各硬件工作时序图

  1. 在分页存储管理系统中,若页面大小设置为4KB,地址总线宽度为32位,某进程的页表如下:

页号

物理块号

0

0x87

1

0x41

2

0x32

试求物理地址(十六进制)0x32845对应的页面的页号、页内偏移和逻辑地址。

页面大小为4096Byte=2^12,则页内

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值