# Process Scheduling Simulator **Repository Path**: liziyi200381/ProcessSchedulingSimulator ## Basic Information - **Project Name**: Process Scheduling Simulator - **Description**: 一个简单的操作系统进程调度模拟器 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2024-07-21 - **Last Updated**: 2025-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, GUI ## README # 简单的进程调度模拟器 ![输入图片说明](https://foruda.gitee.com/images/1722678413652482279/4b8245b4_10054680.gif "动画 (15).gif") ## 项目介绍 该项目实现了一个简单的进程调度模拟器, 1. **进程调度规则** - 每个进程具有优先级,优先级高的优先被调度 - 每个进程一次运行一个时间片,时间片用完后如果没有执行完成,需要回到就绪队列重新被调度且优先级会降低 2. **内存分配规则** 当前采用的是最简单的**首次适应分配法**。每个进程分配的内存都是连续的。 3. **其他** - 可以单独添加一个进程,也可以选择批量添加进程。批量添加系统会自动随机生成一批进程(主要是优先级和所需内存量随机) - 支持添加同步进程。目前的同步进程含义较为简单,就是具有前驱后继关系的一组进程。只有前驱进程执行完毕后后继进程才能得到调度 - 支持手动挂起/解挂进程。对于已经分配好内存并进入就绪队列的进程,可以选择将其挂起放入挂起队列,之后可以解挂,再次放回就绪队列。挂起的进程不会释放持有的内存资源 - 时间片大小,内存大小,cpu核心数等参数支持通过配置文件(ps.properties)进行调整 - 采用纯净JDK17开发,无任何三方依赖,适合新手入门 ## 使用说明 拉取项目到idea,运行后在交互区上进行操作。可在pss.properties中进行个性化配置。单个时间片大小(默认200ms),内存大小(默认128),CPU核心数(默认4)会显著影响调度节奏 ![输入图片说明](https://foruda.gitee.com/images/1722678443949622534/4baa1849_10054680.png "image-20240803171907810.png") 如果你发现了问题或者有好的建议,欢迎给我留言 如果觉得这个项目对你有帮助,请用你的小手給我点点⭐