
进程调度算法的课程设计
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本课程设计深入探讨操作系统中关键的进程调度算法,旨在通过实践项目增强学生对多种调度策略的理解与应用能力。
使用C语言或C++来实现对N个进程的优先算法及轮转算法调度。
每个表示进程的进程控制块PCB应包含以下字段:
1. 进程标识ID,其中0为闲逛进程(idle),用户进程的标识数从1开始递增。
2. 进程优先级Priority,闲逛进程的优先级设为0,而用户进程中随机产生的数值大于零,并且数字越大表示优先级越高。
3. CPU时间CPUtime,在每次运行时累积增加4个单位的时间。
4. 总共需要执行的时间Alltime,由随机函数生成确定。
5. 进程状态:0代表就绪态,1代表运行态,2代表阻塞态。
6. 队列指针next用于将多个进程控制块PCB链接为队列。
优先数调整规则如下:
- 在就绪队列中每等待一个时间片,优先级增加1。
- 每次执行一个时间片后,优先级也相应地增加1。
在调度开始前,系统中的进程数量(即进程控制块的数量)PCB_number需要通过键盘输入确定。初始化完成后,所有进程控制块将链接成就绪队列。
为了清晰展示各个进程中每个时间段的运行情况,在程序中应该显示每一个时间片内各进程的状态信息。
全部评论 (0)
还没有任何评论哟~


