操作系统导论-课后作业-ch8

2024-01-17 21:28

本文主要是介绍操作系统导论-课后作业-ch8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对应异步社区资源HW-MLFQ:
在这里插入图片描述

1.

根据需要设置两个队列和两个任务,此处可用软件方式进行模拟,结果如下:
在这里插入图片描述

2.

2.1 单个长工作(图8.2)

在这里插入图片描述
在这里插入图片描述

2.2 来了一个短工作(图8.3)

在这里插入图片描述
在这里插入图片描述
从图中可见新来的短工作明显先执行

2.3 如果有I/O呢(图8.4)

加上-S表明只要有IO发生便维持当前任务在当前优先级:
在这里插入图片描述
结果可见最终任务2仍然在优先级2下:
在这里插入图片描述

2.4 提升优先级

2.4.1 图8.5左

在这里插入图片描述
可以看到当job1和job2出现后,job0得不到运行而只能在等待了:
在这里插入图片描述

2.4.2 图8.5右

加入-B设置boost时间为50
在这里插入图片描述

可以看到通过boost的方法,job0在job1和job2出现后的一段时间内依然能得到运行。
在这里插入图片描述

2.5 更好的计时方式

2.5.1 图8.6左

在这里插入图片描述
可见每9ms执行一次I/O,刚好卡在10ms内,这样导致结果如下:
在这里插入图片描述

即直到最后此任务依然处在优先级2。

2.5.2 图8.6右

只要把-S标签去掉就能模拟此场景了:
在这里插入图片描述
可见此时统计的是总的运行时间了,触发I/O依旧不影响。

2.6 MLFQ调优

通过加入-Q修改不同队列的长度即可进行模拟:
在这里插入图片描述

3.

将 -n 队列数设置为1即可

4.

此处参考2.5.1节:
在这里插入图片描述
可见job0可“愚弄”调度系统,始终保持在高优先级队列中。

5.

5%也就是20分之一,要想确保,需要设置-B 200,也即每200ms确保此任务能运行10分钟

6.

-I表示单次I/O所需时间
在这里插入图片描述
通过上图的模拟,我们可以看到,I/O结束后当前任务是放置在同等级队列的后面,也就是job0还需要等待job1运行才能继续执行。
在这里插入图片描述
从上图可见,修改为大写的-I之后,完成I/O后的任务会被放置在队列的最前端,从而直接执行。

这篇关于操作系统导论-课后作业-ch8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617257

相关文章

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启

操作系统是怎么为不同的程序分配所需的内存空间的

操作系统为不同的程序分配内存空间的过程涉及多个关键步骤,确保每个程序都有其所需的内存资源,同时避免程序之间的冲突。以下是操作系统如何为程序分配内存空间的详细过程: 1. 内存管理的基础概念 虚拟内存:现代操作系统使用虚拟内存机制来为程序提供隔离的内存空间。每个程序运行在其独立的虚拟地址空间中,这使得程序间的内存互不干扰。物理内存:实际的 RAM(随机存取存储器),由操作系统和硬件共同管理。虚拟

C语言程序与设计第四版课后习题 - 1~8章大合集

前言 本文章是一个大合集,按照课后习题的命名方式命名,方便寻找,只需要在目录上点相对应的题号即可在这里插入图片描述 第一章课后习题 1.1 编写一个C程序 题目概述: 请参照本章例题,编写一个C程序,输出一下信息: *****************************Very good!***************************** 代码实现: #define

Java高级Day38-网络编程作业

112.网络编程作业 //1.使用字符流的方式,编写一个客户端程序和服务器端程序//2.客户端发送"name",服务器端接收到后,返回"我是nova"//3.客户端发送"hobby",服务器端接收到后,返回"编写java程序"//4.不是这两个问题,回复"你说啥呢"​​===============//客户端//===============public class SocketT

操作系统安全保护

操作系统安全概述 概念:满足安全策略要求,具有响应安全机制及安全功符合特定安全标准,在一定约束条件下 能抵御常见网络安全威胁,保障自身安全运行及资源安全 安全等级:根据安全功能和安全保障要求分为 用户自主保护级  系统审计保护级 安全标记保护级 结构化保护级 访问验证保护级 操作系统作用: 负责计算系统的资源管理、支撑和控制各种应用程序运行,为用户提供计算机系统管理接口 是构成网络信息

Linux操作系统命令集(一)

最近开了操作系统的课,弄着虚拟机的linux系统命令学学 文件和目录操作命令: ls:列出目录内容 示例:ls -l 以长格式列出目录内容cd:切换目录 示例:cd /home/user 切换到 /home/user 目录mkdir:创建目录 示例:mkdir new_directory 创建名为 new_directory 的目录rmdir:删除空目录touch:创建空文件或更新文件的时间戳

操作系统分页式存储管理

每次输入地址后,计算出页号,若页号越界,则给出错误提示。否则依次调用FIFO和LRU算法,这里值得注意的是,由于我们的FIFO算法先于LRU算法被调用,那么当在处理FIFO算法时,我们暂且不将位视图相应位置做变化,留到处理LRU算法再做处理。 对于FIFO、LRU算法的缺页,我们分两种情况考虑,第一种是模拟栈内还有空间,那么直接将其入栈。第二种是模拟栈内无空间,要发生置换。发生置换时把模拟栈最底

linux定时监听ssh服务是否启动-------麒麟操作系统永久关闭swap

linux监听ssh服务是否启动 1、监听脚本2、定时任务3、麒麟操作系统,永久关闭swap 1、监听脚本 #在/usr/local/bin目录下新建脚本文件 cd /usr/local/bintouch check_sshd.sh#给可执行权限chmod +x /usr/local/bin/check_sshd.sh 脚本内容如下: #!/bin/bashs