欢迎来到天天文库
浏览记录
ID:32679942
大小:454.93 KB
页数:15页
时间:2019-02-14
《广工操作系统课设5》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计课程名称课程名称操作系统题目名称多用户多级目录文件系统的实现学生学院计算机学院专业班级学号学生姓名指导教师林穗2016年1月12日广东工业大学课程设计任务书目录1、设计思想说明1.1设计环境1.2设计思想2、系统结构3、数据结构的说明4、算法流程图5、测试与分析6、用户使用说明1、设计思想说明1.1设计环境Eclipse+java1.2设计思想木课程设计要求模拟实现一个的多道批处理系统的两级调度。通过貝体的作业调度、进程调度、内存分配等功能的实现,加深对多道批处理系统的两级调度模型和实现过程的理解。要求作业从进入系统到最后完成,要经历两级调度:作业调
2、度和进程调度。作业调度是高级调度,它的主要功能是根据一定的算法,从输入井屮选屮若干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。进程调度是低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列屮的一个进程。2.系统结构增加进程自动运行单步运行程序暂停3数据结构的说明首先将作业和进程都抽象为一个类,即ProcessBean类,将进程调度和作业调度由Algorithm类来实现,界而设计由View_Main类实现,最后让ProcessList类来实现对公共资源如磁带机数量、内存空闲容量和系统时间的控制Algorithm.java
3、publicbooleannextFromMemory(){booleanmark=false;inttime=ProcessList.getTimeO;if(!well.isEmpty()){LinkedListwelltest二newLinkedList(well);for(inti=0;!welltest.isEmpty()&&i〈welltest,size()&&ProcessList.getCapacity()>0;i++){ProcessBeanmemoryProcess=welltest,ge
4、t(i);〃求出输入井屮需要运行时间最短的作业for(ProcessBeanbean:welltest){if(memoryProcess.getServiceTime()>bean.getServiceTime()&&bean.getlnWellTime()<=time){memoTyProcess=bean;}}welltest,remove(memoryProcess);//输入井队列移去最短作业〃如果作业能够获得所需资源,则调入内存if(memor^^Process.getCapacity()〈二ProcessList.getCapacity()&&
5、memoryProcess.getWage()<=ProcessList.getTage()&&memoryProcess.getlnWellTime()<=time){ProcessList.setCapacit)^(ProcessList.getCapaci()-memoryProcess.getCapacity());ProcessList.setTage(ProcessList.getTage()-memoryProcess.getWage());memoryProcess.setlnMemoryTime(time);memory,add(memor
6、yProcess);well,remove(memoryProcess);}}mark=true;}if(!memory,isEmpty()){ProcessBeanrunProcess=memory,get(0);〃求出内存就绪队列中优先级最高的进程for(ProcessBeanbean:memory){if(runProcess.getProsuper()7、(time);run.add(runProcess);}//如果求得的最短进程优先级比止在运行的进程高,则抢占CPUelseif(run.get(0).getProsuper()8、ime()-5<0){run.remove(proc
7、(time);run.add(runProcess);}//如果求得的最短进程优先级比止在运行的进程高,则抢占CPUelseif(run.get(0).getProsuper()8、ime()-5<0){run.remove(proc
8、ime()-5<0){run.remove(proc
此文档下载收益归作者所有