欢迎来到天天文库
浏览记录
ID:33955531
大小:178.52 KB
页数:12页
时间:2019-03-02
《广工操作系统课设8》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计课程名称操作系统题目名称多用户多级目录文件系统的实现学生学院计算机学院专业班级学号学生姓名指导教师林穗2015年1月2日一、课程设计的内容本课程设计要求模拟实现一个的多道批处理系统的两级调度。通过具体的作业调度、进程调度、内存分配等功能的实现,加深对多道批处理系统的两级调度模型和实现过程的理解。二、课程设计的要求与数据1.要求作业从进入系统到最后完成,要经历两级调度:作业调度和进程调度。作业调度是高级调度,它的主要功能是根据一定的算法,从输入井屮选屮若干个作业,分配必要的资源,如主存、外设等,为它们建立初始
2、状态为就绪的作业进程。进程调度是低级调度,它的主耍功能是根据一定的算法将CPU分派给就绪队列中的一个进程。2.假定某系统可供用户使用的主存空间共100KB,并有4台磁带机。主存分配采用可变分区分配方式且主存屮信息不允许移动,对磁带机采用静态分配策略,作业调度分别采用先來先服务算法和最小作业优先算法,进程调度采用先来先服务和最短进程优先算法。(能增加实现更多的调度算法则可以获得加分)。3.假定“预输入”程序已经把一批作业的信息存放在输入井了,并为它们建立了相应作业表。测试数据如下:作业到达时间估计运行时间内存需要磁带
3、机需要J0B110:0025分钟15K2台J0B210:2030分钟60K1台J0B310:3010分钟50K3台J0B410:3520分钟10K2台JOB51():4015分钟30K2台4.分别在不同算法控制下运行设计的程序,依次显示被选中作业、内存空闲区和磁带机的情况。比较不同算法作业的选中次序及作业平均周转时间。5.选用程序设计语言:C、C++等。一、设计目的:课程设计要求达到的目的要求作业从进入系统到最后完成,要经历两级调度:作业调度和进程调度。作业调度是高级调度,它的主要功能是根据定的算法,从输入井小选中
4、若T个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。进程调度是低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。二、环境1.计算机及操作系统:PC机,Windows8系统2.程序设计使用工具:MicrosoftVisualC++6.03.程序设计语言:C语言三、设计内容:课程设计要求完成的任务。1、假定某系统可供用户使用的主存空间共100KB,并有4台磁带机。主存分配采用可变分区分配方式「L主存中信息不允许移动,对磁带机采用静态分配策略,作业调度分別采用先来先服务
5、算法,进程调度采用可抢占的最短进程优先算法。2、假定“预输入”程序己经把一批作业的信息存放在输入井了,并为它们建立了相应作业表。测试数据如作业到达时间估计运行时间内存需要磁带机需要JOB110:0025分钟15K2台JOB210:2030分钟60K1台JOB310:3010分钟50K3台JOB41():3520分钟10K2台JOB510:4015分钟30K2台3、分别在不同算法控制下运行设计的程序,依次显示被选小作业、内存空闲区和磁带机的情况。比较不同算法作业的选中次序及作业平均周转时间。四、设计步骤:(1)需求分
6、析1、川C语言编写的含冇先來先服务算法(作业调度),最短进程优先算法(进程调度)2、测试程序功能所需的数据文档(2)概要设计:本次课程设计釆用假定“预输入”程序已经把一•批作业的信息存放在输入井了,并为它们建立了相应作业表。作业调度采用先来先服务算法,进程调度采用可抢占式优先算法。系统对输入系统的作业进行两级调度(作业调度,进程调度)。分别在不同算法控制下运行设计的程序,依次显示被选屮作业、内存空闲区和磁带机的情况,输出不同算法作业的选中次序及作业周转时间。作业的数据初始化输入通过读取文件这种方式进行导入。系统运行
7、是通过设置指针来循环运作。作业调度分别采用先来先服务算法:按照作业进入输入井的先后次序來挑选作业,先进入输入井的作业优先被挑选,当系统屮现有分配资源不能满足先进入输入井作业时,那么按顺序挑选后面的作业。流程图如下:开J]进程调度采用可抢占的最短进程优先算法:总是按进程耍求运行吋间来选择进程,每次挑选要求运行吋间最短的先分配CPU执行,当后进来的进程运行吋间比正在进行的进程吋间短,后进来的进程可以抢断正在运行的进程优先运行。流程图如下:(3)详细设计:匸耍两数列表原函数功能入口,出口参数说明intsort1()int
8、sort2()intdisjob()intinput1()intinput()对作业进行先来先服务调度输入井中的作业链表intpspf()对进程进行最短进程优先调度intapply(structjcb*pl)内存分配进程指针intmerge(structlink*y)内存回收进程指针作业、进程调度包括建立,链接等操作通过链表來实现,并为这些操作编写出相应的函
此文档下载收益归作者所有