- 5
- 0
- 约3.38千字
- 约 7页
- 2018-03-07 发布于河南
- 举报
操作系统报告一
实验1 进程调度模拟实验一、实验目的理解进程的概念,熟悉进程的组成;用高级语言编写和调试一个进程调度程序,以加深对进程调度算法的理解。二、实验准备几种进程调度算法短进程优先调度算法高优先权优先调度算法先来先服务调度算法基于时间片的轮转调度算法进程的组成进程控制块(PCB)程序段数据段进程的基本状态就绪W(Wait)执行R(Run)阻塞B(Block)三、实验内容例题设计一个有 N个进程共行的进程调度程序。进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。调度算法的流程图实验题目编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。“最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等。编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。简单轮转法的基本思想是:所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。四、相关代码#include stdio.h #include stdlib.h #include conio.h #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 struct pcb { /* 定义进程控制块PCB */ char name[10]; char state; int super; int ntime; int rtime; struct pcb* link; }*ready=NULL,*p; typedef struct pcb PCB; void sort() /* 建立对进程进行优先级排列函数*/ { PCB *first, *second; int insert=0; if((ready==NULL)||(p-ntime-p-rtime)(ready-ntime-ready-rtime)) /*所需运行时间最小者,插入队首*/ { p-link=ready; ready=p; } else /* 进程比较优先级,插入适当的位置中*/ { first=ready; second=first-link; while(second!=NULL) { if((p-ntime-p-rtime)(second-ntime-second-rtime)) /*若插入进程所需运行时间比当前进程所需运行时间小*/ { /*插入到当前进程前面*/ p-link=second; first-link=p; second=NULL; insert=1; } else /* 插入进程优先数最低,则插入到队尾*/ { first=first-link; second=second-link; } } if(insert==0) first-link=p; } }void input() /* 建立进程控制块函数*/ { int i,num; //clrscr(); /*清屏*/ printf(\n 请输入进程号?); scanf(%d,num); for(i=0;inum;i++) { printf(\n 进程号No.%d:\n,i); p=get
您可能关注的文档
- 教案 3.1数控系统的组成.doc
- 如何搞好校本研修-专题作业3.doc
- 19.3.3梯形.ppt
- C12001上市公司治理答案(100分).docx
- 豆腐乳做法 PDF.pdf
- 北师大版 三视图 几何体 直观图 练习题不带答案精品试题.doc
- 买卖中出现魅力惠退货方法解决.doc
- 初二数学第十一周假期作业.doc
- 2013年最新思想汇报.docx
- 粘结指数的测定(修改).doc
- 2026江西南昌市市场监督管理执法稽查局招聘仓库管理人员1人备考题库及一套参考答案详解.docx
- 2026江苏省常州市体育运动学校招聘排球教练1人备考题库及完整答案详解.docx
- 2026江苏苏州张家港农商银行寒假实习招募备考题库及完整答案详解一套.docx
- 2026浙江台州银行1月份招聘备考题库及完整答案详解一套.docx
- 2026江苏扬州市侨城社区(筹)公益性岗位招聘1人备考题库及完整答案详解.docx
- 2026广西桂林市象山区政府招聘编外聘用人员2人备考题库精编答案详解.docx
- 2026江苏南京江北新区退役军人服务中心招聘编外人员6人备考题库及参考答案详解1套.docx
- 2026广西玉林市博白县公安局第一次招聘警务辅助人员29人备考题库及一套完整答案详解.docx
- 2026广西玉林市福绵区樟木供销合作社招聘财务人员2人备考题库精编答案详解.docx
- 2026春季梦想靠岸招商银行西宁分行校园招聘备考题库及答案详解(新).docx
最近下载
- 地下车位租赁协议书通用版.docx VIP
- nsr621rf-d电容器保护测控装置技术使用说明书.pdf VIP
- 19G518-3_门式刚架轻型房屋_钢结构_有吊车_.docx VIP
- 2025公安大学警务硕士真题及答案.docx VIP
- 火电厂烟气脱硫工程调整试运及质量验收评定规程.PDF VIP
- 帝人芳纶应用介绍.doc VIP
- 《黄酒酿造工艺》课件.ppt VIP
- 深度解析(2026)《JBT 8521.2-2025编织吊索 安全性 第2部分:一般用途合成纤维圆形吊装带》:构筑新时代工业安全的核心支柱与前瞻指南.pptx VIP
- 2026房东直租房屋租赁合同.docx VIP
- V03英国深海控制器DSE5220模块操作說明書.pdf
原创力文档

文档评论(0)