《Operating Systems:Three Easy Pieces》第四章课后习题解答

4.1

答:./process-run.py -l 5:100,5:100 命令行要执行的操作是CPU运行两个进程,而且每个进程都包含了5条指令,每条指令的CPU占用率都是100%。所以CPU的利用率一直会是100%。
在这里插入图片描述

4.2

答:完成这两个进程需要10单位的时间。首先我们可以知道命令行./process-run.py -l 4:100,1:0中的4:100,1:0表示CPU中一共有两个进程,先运行的进程4:100一共有4条指令,每条指令的CPU占用率都是100%,一共耗去4单位时间。随后的进程1:00表示仅有一条I/O指令,又因为README.md文档已经提示每条I/O指令的默认运行时长为5单位时间(包括了CPU发出指令即将进行I/O操作阻塞进程占去的1单位时间,实际I/O操作等待了4单位时间)。最后I/O操作完毕CPU再解除该进程的阻塞耗去1单位时间。综上一共需要10单位时间。
在这里插入图片描述

4.3

答:如果交换了进程顺序那么完成两个进程占去的时间以及CPU占用率和I/O设备占用率都会发生改变。因为process-run.py代码明确指出当未使用参数-S SWITCH_ON_END修饰命令行时,那么默认为SWITCH_ON_IO,当一个进程发出I/O请求时CPU不会去等待它运行结束,而是会切换到下一个进程以此达到更大效率。所以,PID:0进程发起I/O指令,CPU阻塞这个进程占去1个单位时间。随后CPU切换到PID:1进程在等待I/O运行完成的4个单位时间内完成PID:1进程的4个指令。最后I/O执行完成CPU解

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值