gittee:Process Scheduling Simulator: 一个简单的操作系统进程调度模拟器 (gitee.com)
项目介绍
该项目实现了一个简单的进程调度模拟器,
- 进程调度规则
- 每个进程具有优先级,优先级高的优先被调度
- 每个进程一次运行一个时间片,时间片用完后如果没有执行完成,需要回到就绪队列重新被调度且优先级会降低
- 内存分配规则
当前采用的是最简单的首次适应分配法。每个进程分配的内存都是连续的。 - 其他
- 可以单独添加一个进程,也可以选择批量添加进程。批量添加系统会自动随机生成一批进程(主要是优先级和所需内存量随机)
- 支持添加同步进程。目前的同步进程含义较为简单,就是具有前驱后继关系的一组进程。只有前驱进程执行完毕后后继进程才能得到调度
- 支持手动挂起/解挂进程。对于已经分配好内存并进入就绪队列的进程,可以选择将其挂起放入挂起队列,之后可以解挂,再次放回就绪队列。挂起的进程不会释放持有的内存资源
- 时间片大小,内存大小,cpu核心数等参数支持通过配置文件(ps.properties)进行调整
- 采用纯净JDK17开发,无任何三方依赖,适合新手入门
使用说明
拉取项目到idea,运行后在交互区上进行操作。可在pss.properties中进行个性化配置。单个时间片大小(默认200ms),内存大小(默认128),CPU核心数(默认4)会显著影响调度节奏
如果你发现了问题或者有好的建议,欢迎给我留言
如果觉得这个项目对你有帮助,请用你的小手給我点点⭐