一、语言及软件环境:Java、Windows 11, JDK1.8,IntelliJ IDEA
二、课程设计内容和要求:
1、提交一批作业(>=10),按先来先服选择一部分作业(最多5个)进入内存。
2、为每个作业创建一个进程,并分配内存(用户内存:0—1024K,采用可变连续分配方式)。
3、进程调度功能(时间片轮转)。
4、随机阻塞进程,并在一段时间后唤醒进程(选做)。
5、显示相关信息:后备作业队列、内存分配情况、进程信息、完成作业情况。
6、这些功能要有机地连接起来。
三、设计需求分析:
1、使用随机数初始化10个作业,放入到后备队列中,然后使用先来先服务(FCFS)进行作业调度,最多只能有5个作业同时进入内存。
2、假设阻塞状态的进程仍然在内存中,则处于就绪、运行,阻塞三种状态的进程总数目最多为5个,即并发进程总数最多为5个,在进程结束后,就会被调出内存,同时继续使用先来先服务算法从后备队列中调入新的作业。
3、在内存中的几个非阻塞状态的进程使用时间片轮转(RR)算法进行调度。而作业在进入内存之前,先使用首次适应(FF)算法申请内存,从空闲分区链中找到合适的空闲分区并分配。