# 模拟进程管理系统 **Repository Path**: markchen7788/process_manager ## Basic Information - **Project Name**: 模拟进程管理系统 - **Description**: 《操作系统》课程设计 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 15 - **Forks**: 0 - **Created**: 2020-08-02 - **Last Updated**: 2024-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 模拟进程管理系统 #### 课程设计内容 * **实验目的与要求** 要求设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有进程创建、撤销、阻塞、唤醒;进程的同步控制。进程调度算法可以选择优先级调度,时间片轮转,短进程优先等。每个进程用一个PCB表示,其内容根据具体情况设置,系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察进程的运行过程及系统的管理过程。 #### 技术路线 * **需求分析** 1. 实现n个进程并发运行; 2. 实现进程创建、撤销、阻塞、唤醒; 3. 实现进程的同步; 4. 实现优先级调度、时间片轮转、短进程优先等调度算法; 5. 系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况; * **系统设计** 1. 针对需求1、2: 为实现多个进程并发运行需要建立管理对象和进程对象的联系以便对运行的进程进行管理,故可以在管理对象中设置就绪、阻塞、运行队列来容纳进程,从而方便的进行管理; * ①创建:初始化刚建立的进程对象,并插入就绪队列; * ②撤销:根据获取的交互信息在队列中查找要删除的进程,将对象移除即可; * ③阻塞、唤醒:利用系统提供的线程类模仿进程,直接启动相关的系统调用即可使线程暂停或恢复,从而达到阻塞和唤醒的目的; 2. 针对需求3 :通过编写P、V原语来实现进程的同步; 3. 针对需求4:为进程管理器类编写调度函数,调度函数中内置上述三种算法,进程管理对象根据交互得到的信息决定使用哪一种调度算法; 4. 针对需求5:为了能够及时的表征程序运行状态和提供良好的交互接口,可以利用Java.awt图形用户接口来编写一个动态的可视化交互界面。 ### 更多详情可查看[设计报告](./设计报告.pdf)