基于Java实现的操作系统核心原理演示系统,包含进程调度、内存管理等核心模块的模拟实现
- 抢占式优先级调度算法
动态调整进程优先级,支持实时队列状态可视化 - 进程状态管理(就绪/运行/阻塞)
- 时间片轮转机制
- 优先级动态衰减策略
- LRU页面置换算法
实现位移寄存器模拟访问频次统计 - 分页式内存管理
- 缺页中断处理
- 物理块分配策略
+-- org.example
+-- entity
│ ├── Order.java # 指令实体(READ/WRITE/INPUT/OUTPUT)
│ ├── PageTable.java # 页表管理(页号/块号/状态位)
│ └── PCB.java # 进程控制块(优先级/指令集/页表)
+-- simulate
│ └── Simulate.java # 系统主控模块
+-- util
├── InitUtil.java # 内存&进程初始化
├── RunUtil.java # 调度算法实现
└── ShowUtil.java # 系统状态可视化
组件 | 技术实现 |
---|---|
编程语言 | Java 17 |
调度算法 | 抢占式优先级调度 |
内存管理 | LRU页面置换算法 |
开发工具 | IntelliJ IDEA |
------------------------Time Slice 5------------------------
Ready Processes:
-------------------------------------------------------------
PID Process Name Priority Status Running Time
0 p1 52 READY 2
1 p2 33 READY 1
Running Process:
-------------------------------------------------------------
PID Process Name Priority Status Running Time
2 p3 11 RUNNING 3
Page Table:
-------------------------------------------------------------
Page Number Block Number Status Access
0 25 1 0
1 -1 0 0
[SYSTEM] Process p3 executed WRITE operation on page 2
[ALERT] Page fault occurred, replacing page 1 with page 2