第二题[提示](1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。
进程控制块的格式为:进程名指针要求运行时间已运行时间状态其中,进程名----作为进程的标识,假设五个进程的进程名分别是Q1,Q2,Q3,Q4,Q5。
指针----进程按顺序排成循环队列,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指出第一个进程的进程控制块首地址。
要求运行时间----假设进程需要运行的单位时间数。
已运行时间----假设进程已经运行的单位时间数,初始值为“0”。
状态----有两种状态,“就绪”状态和“结束”状态,初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态变为“结束”,用“E”表示。
(2) 每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“要求运行时间”。
把五个进程按顺序排成循环队列,用指针指出队列连接情况。
另用一标志单元记录轮到运行的进程。
(3) 处理器调度总是选择标志单元指示的进程运行。
由于本实验是模拟处理器调度的功能,所以,对被选中的进程并不实际启动运行,而是执行:已运行时间+1来模拟进程的一次运行,表示进程已经运行过一个单位的时间。
请注意:在实际的系统中,当一个进程被选中运行时,必须置上该进程可以运行的时间片值,以及恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行满一个时间片。
在这里省去了这些工作,仅用“已运行时间+1”来表示进程已经运行满一个时间片。
(4) 进程运行一次后,应把该进程的进程控制块中的指针值送到标志单元,以指示下一个轮到运行的进程。
同时,应判断该进程的要求运行时间与已运行时间,若该进程要求运行时间≠已运行时间,则表示它尚未执行结束,应待到下一轮时再运行。
若该进程的要求运行时间=已运行时间,则表示它已经执行结束,应把它的状态修改为“结束”(E)且退出队列。
此时,应把该进程的进程控制块中的指针值送到前面一个进程的指针位置。
(5) 若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进程都成为“结束”状态。
(6) 在所设计的称序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进称对列的变化。
(7) 为五个进程任意确定一组“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。
1
欧几里得是数论中的一个最初步的概念,它用来判断两个数的最大公因子,扩展的欧几里得能够进一步实现在两个数互素情况下的乘法可逆元。
求可逆元是一些算法的基础。
2024/8/31 16:30:48 741B extend Euclid
1
咳咳...本牛X程序使用小8+小5开发q^0^p(vs2008+sql2005)!程序用三层结构实现了做网站最基本的添删改查功能,感觉比较适合入门者,因为考虑到新人学习之用所以就不写存储过程和数据工厂了!只是普通的三层!希望能对三层苦手的朋友有帮助吧!一般来说三层结构的中间层(BLL)应该只用来返回数据,收集错误和做判断,而不应该写入任何有关SQL的东东的!考虑到如果不那么写的话,中间层就没东西写了!所以就把SQL语句写到中间层了,大家明白就行了!最后就是工厂三层在实际大型项目团队开发的时候才会用得比较多,而单个人做中小项目的时候用工厂三层会很难做的,开发进度慢不说而且到后期客户要求修改的时候,会改到你想脱裤子去日经理的.......如果客户要求一定要用三层的话,这个时候MVC三层就是你的最佳解决方案了!程序目录:/App_Code/BLL中间层DAL数据层Model数据实体/App_Data/数据库Default.aspx主页Edit.aspx修改页Login.aspx登陆页登陆:Admin密码:Admin
2024/8/30 4:16:33 1.05MB 三层架构 实例 入门 ASP.NET
1
汽车有6个属性,每个属性都有几种类别,根据这6个属性来判断汽车的性价比Classvalue如何, ClassValues有以下几种情况unacc,acc,good,vgoodbuying(vhigh,high,med,low) maint(vhigh,high,med,low) doors(2,3,4,5more) persons(2,4,more) lug_boot(small,med,big) safety(low,med,high) ClassValues(unacc,acc,good,vgood)
2024/8/25 10:03:01 11KB 朴素贝叶斯
1
JAVA简易计算器(可判断运算符的优先级),没用到太复杂的算法,比较容易看懂!^_^
1
实现一个简单的在线答题页面(卷面有5道多选题)。
要求:点击“提交按钮”后能判断答题是否正确并给出得分(每题20分)。
2024/8/24 10:53:10 3KB asp.net c# 答题
1
《编译原理(E)》实验项目代码实验1DFA化简1实验2DFA模拟程序3实验3LL(1)文法判断程序4实验4基于预测分析表法的语法分析程序(1)5实验5基于预测分析表法的语法分析程序(2)6
2024/8/23 13:23:18 3.38MB DFA化简 DFA模拟 LL(1) 预测分析表
1
判断两个句子是不是同一个意思,文本匹配的问题。
"id","qid1","qid2","question1","question2","is_duplicate"
2024/8/20 14:35:19 57.73MB NLP
1
IAR中用库函数实现STM8S003单片机单IO口多按键判断的功能。
将多个按键接到一个IO口上,然后用单片机的AD功能读取这个IO口上的电压,从而判断是哪个按键按下。
实现一个IO口判断多个按键,本例子中一个IO口判断6个按键。
2024/8/20 6:07:05 243KB STM8S003 ADC IO口 多按键
1
一副牌,除了大小王之外还有52张,从1到13每个数目各有四张。
要求设计一个程序,对于任意给出52张牌中的四张,运用+-×÷四种运算来判断能否每个数只能用一次,但不能不用,算出24来。
注意,给出的4个数是无序的。
2024/8/19 9:29:54 1008B 快算24
1
共 770 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡