题目:设计一个按优先数调度算法实现处理器调度的程序(可以自己定义进程的数量)
提示:
(1)假定系统有5个进程,每个进程用一个PCB来代表。PCB的格式为: 进程名、指针、要求运行时间、优先数、状态。 进程名——P1~P5。
指针——按优先数的大小把5个进程连成队列,用指针指出下一个进程PCB的首地
址。
要求运行时间——假设进程需要运行的单位时间数。
优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。
状态——假设两种状态,就绪,用R表示,和结束,用E表示。初始状态都为就绪
状态。
(2) 每次运行之前,为每个进程任意确定它的“优先数”和“要求运行时间”。
(3) 处理器总是选队首进程运行。采用动态改变优先数的办法,进程每运行1次,优先数减1,要求运行时间减1。 (4) 进程运行一次后,若要求运行时间不等于0,则将它加入队列,否则,将状态改为“结束”,退出队列。
(5) 若就绪队列为空,结束,否则,重复(3)。
2.流程图:
(1)主程序流程图:
开 始
调用初始化子程序
调用运行子程序 结 束
(2)子程序init()流程图:
开 始 定义i i=0 i (3) 子程序max_pri_process()流程图: 开始 定义i,key,max=100 i=0 i (4)子程序show()流程图: 开始 定义i 输出提示 i=0 i (5)子程序run()流程图: 开始 定义i,j,t j=0 j
设计一个按优先数调度算法实现处理器调度的程序(可以输入进程的数量)
题目:设计一个按优先数调度算法实现处理器调度的程序(可以自己定义进程的数量)提示:(1)假定系统有5个进程,每个进程用一个PCB来代表。PCB的格式为:进程名、指针、要求运行时间、优先数、状态。进程名——P1~P5。指针——按优先数的大小把5个进程连成队列,用指针指出下一个进程PCB的首地址。要求运行时间——
推荐度:
点击下载文档文档为doc格式