ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:145.33KB ,
资源ID:19522457      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19522457.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(linux实验进程管理时间片轮转和管道分析Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

linux实验进程管理时间片轮转和管道分析Word文件下载.docx

1、grepivr_tr的执行结果-内容2、终端命令:无名管道 “|”题目1:如何一个屏幕一个屏幕地查看 /etc 目录的内容,并解释其含义:题目2:利用一个管道 :列出带有licq字符的RPM包,并解释其含义:题目3:利用多个管道 :计算passwd文件中含有“/bin/bash”的行数。并解释其含义: 三、实验原理、方法和手段在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。采用某种算法合理有效地把处理机分配给进程,其调度算法应尽可能地提高资源利用率,减少处理机的空闲时间。常用的调度算法有:先来先服务、时

2、间片轮转、优先级等算法。本实验要求学生模拟后两种算法。时间片轮转法是系统把所有就绪进程按先后次序排队,处理机总是优先分配给就绪队列中的第一个就绪进程,并分配它一个固定的时间片。当该运行进程用完规定的时间片时,被迫释放处理机给下一个处于就绪队列中的第一个进程,并分配给这个进程相同的时间片。每个运行完时间片的进程,当未遇到阻塞时,就回到就绪队列的尾部,并等待下次轮到它时再投入运行。因此,只要是处于就绪队列中的进程,按次种算法总可以分得处理机投入运行。优先级法分为优先占有法和优先剥夺法。优先占有法的原理是:一旦某个最高优先级的就绪进程分得处理机之后,只要不是自身的原因被阻塞而不能继续运行时,就一直运

3、行下去,直至运行结束。优先剥夺法的原理是:当一个正在运行的进程其时间片未用完时,无论什么时候,只要就绪队列中有一个比它优先级高的进程,优先级高的进程就可以取代目前正在运行的进程,投入运行。而被剥夺的进程重新回到就绪队列中,等待时机成熟再次投入运行。这就意味着,无论任何时刻,运行进程的优先级高于或等于就绪队列中的任何一个进程。本实验中的优先级法采用运行中的进程每运行一个时间片,其优先级减1。然后按照各进程再次按照新的优先级次序进行调度。四、实验组织运行要求该实验采用集中授课形式。1.学生在进行实验前必须进行充分的预习,熟悉实验内容,写出实验步骤,特别是算法流程;2.学生严格遵守实验室的各项规章制

4、度,注意人身和设备安全,配合和服从实验室人员管理;1教师在学生实验过程中予以必要的辅导,独立完成实验;2教师审查、分析学生实验方案和实验结果;3综合评定学生的实验成绩。五、实验条件实验机器要求安装Visual C+ 6.0编程平台;实验要求一人一机。六、实验步骤(一)时间片轮转法:设计要求及流程图:(1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进程控制块的格式为:进程名指针要求运行时间已运行时间状态其中,进程名作为进程的标识,假设五个进程的进程名分别为Q1,Q2,Q3,Q4,Q5。指针进程按顺序排成循环队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程的指针指出

5、第一个进程的进程控制块首地址。要求运行时间假设进程需要运行的单位时间数。已运行时间假设进程已经运行的单位时间数,初始值为“0”。状态有两种状态,“就绪”和“结束”,初始状态都为“就绪”,用“R”表示。当一个进程运行结束后,它的状态为“结束”,用“E”表示。(2) 每次运行所设计的处理器调度程序前,为每个进程任意确定它的“要求运行时间”。(3) 把五个进程按顺序排成循环队列,用指针指出队列连接情况。另用一标志单元记录轮到运行的进程。例如,当前轮到P2执行,则有:标志单元 , K2 K1Q1 K2Q2 K3Q3 K4Q4 K5Q5K2K3K4K52314RPCB1PCB2PCB3PCB4PCB5(

6、4) 处理器调度总是选择标志单元指示的进程运行。由于本实习是模拟处理器调度的功能,所以,对被选中的进程并不实际的启动运行,而是执行:已运行时间+1来模拟进程的一次运行,表示进程已经运行过一个单位的时间。请同学注意:在实际的系统中,当一个进程被选中运行时,必须置上该进程可以运行的时间片值,以及恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行满一个时间片。在这时省去了这些工作,仅用“已运行时间+1”来表示进程已经运行满一个时间片。(5) 进程运行一次后,应把该进程的进程控制块中的指针值送到标志单元,以指示下一个轮到运行的进程。同时,应判断该进程的要求运行时间与已运行时间,若该进程的要求运

7、行时间已运行时间,则表示它尚未执行结束,应待到下一轮时再运行。若该进程的要求运行时间=已运行时间,则表示它已经执行结束,应指导它的状态修改成“结束”(E)且退出队列。此时,应把该进程的进程控制块中的指针值送到前面一个进程的指针位置。(6) 若“就绪”状态的进程队列不为空,则重复上面的(4)和(5)的步骤,直到所有的进程都成为“结束”状态。(7) 在所设计的程序中应有显示或打印语句,能显示或打印每次选中进程的进程名以及运行一次后进程队列的变化。(8) 为五个进程任意确定一组“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中的进程名以及进程控制块的动态变化过程。typedef st

8、ruct PNode / PCB struct PNode *next; / 定义指向下一个节点的指针 char name10; / 定义进程名,并分配空间 int All_Time; / 定义总运行时间 int Runed_Time; / 定义已运行时间 char state; / 定义进程状态 Ready / End* Proc; / 指向该PCB的指针int ProcNum; / 总进程个数(2)源代码:#include cstdlibusing namespace std;/ 初始化就绪队列void InitPCB(Proc &H) coutProcNum; / 进程总个数 int N

9、um=ProcNum; H=(Proc)malloc(sizeof(PNode); / 建立头节点 H-next=NULL; Proc p=H; /定义一个指针总进程个数为 ProcNumnext=(Proc)malloc(sizeof(PNode);进程名 总运行时间 已运行时间 :p-nameAll_TimeRuned_Time; p-state=R next=H-next;/输出运行中的进程信息void DispInfo(Proc H) Proc p=H- do if (p-state != E) /如果该进程的状态不是End的话 进程名:namet总运行时间:All_Time t已运行

10、时间:Runed_Timet状态:state while (p != H-next); / 整个进程链条始终完整,只是状态位有差异/ 时间片轮转法void SJP_Simulator(Proc &endlAll_Time Runed_Time) / 即未结束的进程 round+;Round roundRuned_Time) / 并判断该进程是否结束 flag-; 进程已运行结束,进程被删除!n while (flag &Runed_Time) / 跳过先前已结束的进程-END-nvoid main() Proc H; InitPCB(H); / 数据初始化 / 输出此刻的进程状态 SJP_Si

11、mulator(H); / 时间片轮转法 system(pause);(3)程序执行结果:1、解释ps解释:是列出所有进程名中带有ivr_tr字符串的进程ps -aux 列出当前正在运行的所有进程。然后将输出的结果通过管道传递给后面的grep命令,grep 命令过滤出含有ivr_tr的行。2、终端命令:如何一个屏幕一个屏幕地查看 /etc 目录的内容,并解释其含义ls -l /etc | less 试试,就可以按照自己的需求上下翻页来查看了,按“q”可退出。“|”符号是“Shift + ”产生的。列出带有licq(由于没有,使用bin)字符的RPM包,并解释其含义:# rpm -qa|grep

12、 bin*这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。# cat /etc/passwd | grep /bin/bash | wc -l这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin/bash”的所有行;第二个管道将grep的输入送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。七、思考题1.比较实验中两个算法的特点及优缺点。2.操作系统中还有哪些进程调度算法?请分别进行描述。 .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1