操作系统
一年盛夏
出去走走?
展开
-
《Operating Systems:Three Easy Pieces》第九章课后习题解答
9.11.计算 3 个工作在随机种子为 1、2 和 3 时的模拟解。答:① 随机数种子为1随机数序列为:651593,788724, 93859, 28347,835765,432767,762280,2106,445387,721540,228762,945271根据作业长度及随机数序列推得作业票号变化:Job 0(0-83) Job 1(84-108) Job 2(109-152)Job 0(null) Job 1(0-24) Job 2(25-68)Job 0(null原创 2020-09-30 22:12:53 · 873 阅读 · 0 评论 -
《Operating Systems:Three Easy Pieces》第八章课后习题解答
8.11.只用两个工作和两个队列运行几个随机生成的问题。针对每个工作计算 MLFQ 的执行记录。限制每项作业的长度并关闭 I/O,让你的生活更轻松。答:python3 mlfq.py -n 2 -j 2 -m 15 -M 0 -s 50参数设置-n 2代表2个队列,-j 2 代表2个作业,-m 15 表示随机生成的作业最大运行时间为15,-M 0 表示随机生成的作业最大I/O频率为0,即关闭I/O,-s 20 设置随机种子为50。最后随机生成的情况为每队列时间片为10,Job 0: startTime原创 2020-09-30 22:13:08 · 857 阅读 · 3 评论 -
《Operating Systems:Three Easy Pieces》第七章课后习题解答
7.11.使用 SJF 和 FIFO 调度程序运行长度为 200 的 3 个作业时,计算响应时间和周转时间。答:① SJF:因为SJF是shortest job first,当进程同时到达CPU时,优先执行运行时间最少的进程,但是SJF是非抢占式调度策略,不会在一个进程未执行完时进行切换到另一个进程。所以运行长度为200的3个作业时,因为运行长度一样,所以一个接一个地执行。周转时间、响应时间、等待时间如下表:响应时间 周转时间 等待时间作业1 0 200 0作业原创 2020-09-30 22:13:19 · 1694 阅读 · 0 评论 -
《Operating Systems:Three Easy Pieces》第五章课后习题解答
5.11.编写一个调用 fork()的程序。谁调用 fork()之前,让主进程访问一个变量(例如 x) 并将其值设置为某个值(例如 100)。子进程中的变量有什么值?当子进程和父进程都改变 x 的值时,变量会发生什么?答:根据终端的输出结果我们可以看到一共有两个命令提示符出现,说明确实是运行了两个进程。父进程子进程首先就分别输出本进程中x的值,随后进行不同的修改。可以看到先执行的是父进程输出x初始值,再输出了父进程的改变的x的值。随后执行的子进程输出的又是x初始值,不是父进程改变后的x值,最后输出子原创 2020-09-30 22:13:29 · 1559 阅读 · 2 评论 -
《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表原创 2020-09-30 22:13:44 · 864 阅读 · 1 评论