【操作系统导论】第22章课后习题解答

前言

内容仅作记录,解答有参考别人的地方,请谨慎参考

22.1

题目描述

在这里插入图片描述

分析及解答

FIFO

输入命令:
./paging-policy.py -s 0 -n 10 -p FIFO
进行程序模拟,追踪策略为:FIFO
在这里插入图片描述
在FIFO策略决定替换哪个页面时将选择第一个进入的页进行替换
访问顺序为:8、7、4、2、5、4、7、3、4、5,cache能容纳3个页
具体访问过程如下:
在这里插入图片描述

输入命令:
./paging-policy.py -s 0 -n 10 -p FIFO -c查看模拟程序的结果
在这里插入图片描述
可以看到模拟结果与分析结果一致。

输入另外两个FIFO策略命令:
./paging-policy.py -s 1 -n 10 -p FIFO -c
./paging-policy.py -s 2 -n 10 -p FIFO -c
在这里插入图片描述
在这里插入图片描述

LRU

输入命令:
./paging-policy.py -s 0 -n 10 -p LRU
进行程序模拟,追踪策略为:LRU
在这里插入图片描述
LRU策略决定替换哪个页将基于“局部性原则”,根据历史近期访问决定替换哪个页
访问顺序为:8、7、4、2、5、4、7、3、4、5
具体访问过程如下:
在这里插入图片描述

输入命令:
./paging-policy.py -s 0 -n 10 -p LRU -c查看模拟程序的结果
在这里插入图片描述
可以看到模拟结果与分析结果一致。

输入另外两个LRU策略命令:
./paging-policy.py -s 1 -n 10 -p LRU -c
./paging-policy.py -s 2 -n 10 -p LRU -c
在这里插入图片描述
在这里插入图片描述

OPT

输入命令:
./paging-policy.py -s 0 -n 10 -p OPT
进行程序模拟,追踪策略为:OPT
在这里插入图片描述
OPT最优策略决定替换哪个页将基于未来的访问情况,将未来最远访问的页替换掉
访问顺序为:8、7、4、2、5、4、7、3、4、5
具体访问过程如下:
在这里插入图片描述

输入命令:
./paging-policy.py -s 0 -n 10 -p OPT -c查看模拟程序的结果
在这里插入图片描述
可以看到模拟结果与分析结果一致。

输入另外两个OPT策略命令:
./paging-policy.py -s 1 -n 10 -p OPT -c
./paging-policy.py -s 2 -n 10 -p OPT -c
在这里插入图片描述
在这里插入图片描述

22.2

题目描述

在这里插入图片描述

分析及解答

最差情况的地址引用序列为:1、2、3、4、5、6这样的序列,要访问的页各不相同,且高速缓存大小不够大,每次访问都会导致未命中,要提高性能则需要将缓存大小增加到与序列的个数一样才行

22.3

题目描述

在这里插入图片描述

分析及解答

该题需要编写python程序生成一个随机的序列并写入1.txt文件中
如何在linux下写python:
1、首先使用touch Random.py创建py文件
2、使用编辑器编写代码,比如:vim Random.py
[注意:第一行加上:#!/usr/bin/env python,再开始写代码]
3、写完并保存后修改Random.py的权限:chmod 777 Random.py
4、输入命令./Random.py就可以运行代码了

编写模拟程序如下:
在这里插入图片描述
随机生成10个从0到9的数
运行程序:
在这里插入图片描述
预期:OPT策略下的命中率最高,FIFO策略和LRU策略的命中率相对低一些
使用如下命令:
./paging-policy.py -f 1.txt -p FIFO -c
./paging-policy.py -f 1.txt -p LRU -c
./paging-policy.py -f 1.txt -p OPT -c
对不同的策略进行测试:
FIFO策略
在这里插入图片描述
LRU策略
在这里插入图片描述
OPT策略
在这里插入图片描述

可以看到模拟的结果与预期结果基本一致,测试数据量更大的情况下,这一结果将更加明显,三种策略的命中率差距将更大。

22.4

题目描述

在这里插入图片描述

分析及解答

编写能够生成具有一定局部性序列的程序:
在这里插入图片描述
[注意代码缩进一致:IndentationError: unexpected indent这个错误就是缩进不一致导致]

修改程序的权限:chmod 777 Random.py
运行程序生成随机序列:
在这里插入图片描述
分别使用不同的策略进行测试:
./paging-policy.py -f 1.txt -p LRU -c
./paging-policy.py -f 1.txt -p RAND -c
./paging-policy.py -f 1.txt -p CLOCK -c
模拟程序运行结果如下:
LRU多次测试:
在这里插入图片描述
RAND多次测试:
在这里插入图片描述
CLOCK多次测试:
在这里插入图片描述
从多次的测试结果可以看出,LRU的表现是比RAND略好一些的。

使用命令:
./paging-policy.py -f 1.txt -b x -p CLOCK -c测试不同时钟位的表现:
[其中x为时钟位数量]
时钟位为1:
在这里插入图片描述
时钟位为2:
在这里插入图片描述
时钟位为3:
在这里插入图片描述
从模拟结果可以看出,时钟位为1时CLOCK表现最差,提高时钟位,CLOCK的表现好于RAND。

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
操作系统导论》是一本关于操作系统基本概念和原理的教材。操作系统是计算机系统中最核心的软件之一,它管理和控制计算机硬件资源,并提供给用户和应用程序一个简单易用、高效稳定的接口。 《操作系统导论》主要内容包括操作系统的历史、发展背景,以及操作系统的基本概念、功能和特性等。通过对操作系统的研究,读者能够了解操作系统的架构和组成,掌握操作系统的重要原理和算法,并能够利用这些知识进行操作系统的设计和开发。 在《操作系统导论》中,读者将深入学习操作系统的各个模块,比如进程管理、内存管理、文件系统等。通过对这些模块的学习,读者能够理解操作系统的核心功能,并能够掌握操作系统的基本工作原理。此外,书中还介绍了操作系统的各种经典算法和策略,如调度算法、页面置换算法等,这些算法是实现操作系统功能的基础。 除了基本概念和原理外,《操作系统导论》还涵盖了一些研究热点和前沿技术,如分布式系统、虚拟化技术和云计算等。通过深入了解这些新领域的内容,读者可以了解到操作系统在不同领域的应用和发展趋势。 总之,《操作系统导论》是一本系统介绍操作系统的教材,内容丰富、深入浅出,适合计算机科学与技术相关专业的学生和从业人员阅读使用。通过学习这本书,读者能够全面了解操作系统的基本概念和原理,提高操作系统的设计和开发能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鱼树C

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

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

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

打赏作者

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

抵扣说明:

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

余额充值