Pascal模拟实现按优先数进行处理机调度_05539.docVIP

  • 1
  • 0
  • 约4.15千字
  • 约 7页
  • 2017-10-27 发布于江苏
  • 举报

Pascal模拟实现按优先数进行处理机调度_05539.doc

Pascal模拟实现按优先数进行处理机调度_05539

实习作业:设计一个实现按优先数进行处理机调度的方案 设计时间:2001年10月2日 功能说明: 采用静态优先数个调读策略,是不可抢占的; 数据结构说明:对每一个进程的PCD,采用记录类型。此纪录包括进程名(name,字符串型)优先级数(priority整数型)状态(status枚举类型)进程地址(address数型)相关信息(messages数型)及指向下一进程PCB的指针(link指针类型); 进程调度的实现: 对每一个进程的就绪对列固定进程个数(此处为三个)共有若干(此处为两个)就绪对列。就绪对列由子程序(create)自动生成,为进程调度算法作好准备; 每一个进程的优先级数是事先确定下来的(此处用随机函数产生一个1-100的整数); 当进程调度开始后,利用查寻子程序(find)找出就绪队列中优先级数最大的进程,并把其从就绪队列删除;在进程进入处理机过程中,它可以调用阻塞原语,使自己处于等待状态,同时把它插入等待对列,由waitp子程序实现,同时进程的优先级数被改变。当然,进程也可以不用阻塞厚语,当一个就绪队列的的所有进程执行过后,把刚插入等待对列(whead)中的进程再插入的当前就绪队列,直到当前对列的所有进程全部运行结束再转入下一就绪对列的处理。 程序流程图:(如图1) 设计总结:本设计只是简单的模拟了按优先数进行处理机调度的方案,不能动态的,完美的进行演示,因此还需进一步

文档评论(0)

1亿VIP精品文档

相关文档