江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告课程名称操作系统实验学期2015至2016学年,第二学期学生姓名周世旺专业班级物联网1402学号3140611043指导教师毛启容开课系计算机科学系操作系统课程组制江苏大学计算机学院课程设计报告《操作系统》课程设计报告课程设计题目:处理器调度设计时间:2016.5.4一、课程设计目的与要求在多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器,就必须依照某种策略来决定哪些进程优先占用处理器,本试验模拟在单处理器的情况下的处理器的调度,帮助学生加深了解处理器调度的工作。二、课程设计内容设计一个按时间排片轮转法实现处理器调度的进程。三、课程设计设备与环境设备:电脑。环境:VS2008四、设计正文(包括分析与设计思路、各模块流程图、带注释的主要算法源码、内核编译过程以及动态模块加载过程等,如有改进或者拓展,请重点用一小节进行说明)#definenum5//假定系统中进程个数为5structPCB{charID;//进程名intruntime;//要求运行时间intpri;//优先数charstate;//状态,R-就绪,F-结束};structPCBpcblist[num];//定义进程控制块数组江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告开始定义i,key,max=100i=0inumpcblist[i].state==’r’maxpcblist[i].pri&&pcblist[i].state=='R'max=pcblist[i].prikey=ipcblist[key].state=='F'return-1returnkey结束return-1i=i+1江苏大学计算机学院课程设计报告开始定义i输出提示i=0inum输出pcblist[i]的ID,pri,runtime,state提示按键继续i=i+1结束江苏大学计算机学院课程设计报告五、课程设计结果及分析i=0inumpcblist[i].state=='r'pcblist[i].pri-=1pcblist[i].runtime--pcblist[i].runtime==0pcblist[i].state='F'pcblist[i].state='R'show()getchar()i=i+1j=j+1结束江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告六、总结与进一步改进设这次实验使用时间片轮转法来解决了处理器的调度问题,是我对处理器调度有了更加透彻直观的认识,也稍微的提高的编程水平。七、参考文献计算机操作系统实验指导书(计算机)2004版本操作系统设计原理詹永照、毛启容2015-9江苏大学计算机学院课程设计报告《操作系统实验报告二》实验目的:虚拟储存器设计时间:2015.5.18江苏大学计算机学院课程设计报告一、实验目的与要求子啊计算机系统中,为了提高主存利用率,往往把辅助存储器作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对的地址空间,用这种办法扩充的主存储器成为虚储存器,二、实验内容模拟分页虚拟存储器管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。三、实验设备与环境设备:电脑环境:VS2008四、分析与设计思路classitem{public:friendclassList;//声明List是item的友元类,List类可以访问item中的成员private:item(intp=0,ints=0,intb=0,intt=0){page=p;sign=s;block=b;time=t;next=NULL;}item*next;intpage;//页号intsign;//标志intblock;//主存块号inttime;//调入主存时间};classList江苏大学计算机学院课程设计报告{public:List(intp=0,ints=0,intb=0,intt=0){list=newitem(p,s,b,t);}intcheck(intp);//检查是否发生缺页voidprint();//输出intappend(intp,ints,intb,intt);//为下一页申请新的空间,并赋值,将其链接到上一个页面的地址之后intdiaohuanye(intp);//调换页号voidtime();private:item*list;item*end();};item定义了list来定义第一页信息,end()为最后进入主存的页面。voidList::print();//输出append()为下一页申请新的空间,并赋值,将其链接到上一个页面的地址之后,已链表的形式链接起来。intList::append(intp,ints,intb){item*pt=newitem(p,s,b,t);(end())-next=pt;return1;}check()函数检查是否发生缺页,当sign等于时表示该页在主存中,当输入的页号等于其中一个时表明该页在主存中,否则返回-1,表示发生缺页中断。intList::check(intp){item*pt=list;inta=-1;for(;pt;pt=pt-next){if(pt-sign==1&&pt-page==p)a=pt-block;}returna;}diaohuanye函数以time为标尺,时间最大的表示进入页面最早。将页表的各个time与max比较,再以max将pt指向被调换的页面。之后将被调换的页面的标志江苏大学计算机学院课程设计报告和进入时间置零。以p将pr指向被调入的页面,并将其标志置。此时,pt指向被调换的页面,pr指向被调入的页面。将pt的主存块号赋值给pr的主存块号,将pt的主存块号置为NULL。最后返回y,为被调入页的主存块号。intList::diaohuanye(intp)//处理缺页中断,并调换页面{inty,max=0;item*pt=list;//pt运算结束后指向被调换的页面item*pr=list;//pr运算结束后指向被调入的页面for(pt;pt;pt=pt-next)//max为最大进入时间{if(pt-sign==1){if(pt-timemax)max=pt-time;}}pt=list;//pt返回listfor(pt;pt;pt=pt-next){if(pt-time==max)break;}//pt指向被调换页面pt-time=0;pt-sign=0;//标志置cout被调换的页的页号为:pt-pageendl;cout被调入的页的页号为:pendl;for(pr;pr;pr=pr-next){if(pr-page==p)break;}//pr指向被调入的页面pr-sign=1;//标志置pr-block=pt-block;pt-block=NULL;y=pr-block;returny;}五、打印的程序运行时初值和运江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告五、实验设计总结通过这次实验,我觉得做计算机的都特别需要耐心,可能你觉得不够好,你反反复复的改,改到再也找不到再改了,才不得不放弃。六、参考文献计算机操作系统实验指导书2004版本操作系统设计原理詹永照、毛启容2015-9江苏大学计算机学院课程设计报告《操作系统》实验报告3实验目的:驱动调度设计时间:2015.5.25一、实验目的与要求磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求。这就叫驱动调度,使用的算法称为驱动调度算法。驱动调度能降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。通过实验使学生理解和掌握驱动调度的职能。二、实验内容模拟电梯调度算法,实现对磁盘的驱动调度三、实验设备与环境设备:电脑环境:VS2008四、分析设计思路为了记录进程访问磁盘请求的情况,以及进程访问磁盘状态信息,我设计了请求I/O表结构体askb,请求I/O表包括四项:intname进程名//标志进程的名字;intzmh柱面号//当前磁臂所在柱面号;intwj物理记录//当前磁臂所在物理记录号;intfx方向//移臂方向,向里,向外;用请求I/O表定义了请求I/O表W[1600],全局型变量M。1、私有成员(1)、结构体型数组b[1600]充当等待队列;江苏大学计算机学院课程设计报告(2)、两个变量m,n记录最后访问柱面号,物理记录号(3)、变量cont记录输入请求的个数;(4)、数组flag[1600]记录移臂方向;(5)、M是接受请求输入的中间量;(6)、l,h记录选中进程数2、公有成员(1)、jieshou()将输入的请求访问磁盘的进程的进程名,柱面号及物理记录写入请求I/O表中,变量g加1;(2)、driver()沿臂移动方向选择离当前旋转或移臂距离最短的等待访问进程(3)、print()输出当前请求I/O表中的等待访问进程,并输出选中的进程名,访问柱面号,物理记录号江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告江苏大学计算机学院课程设计报告五、实验总结通过模拟电梯调度算法实现对磁盘的驱动调度,使我更深刻的了解磁盘驱动调度的工作过程。六、参考文献计算机操作系统实验指导书(计算机)2004版本操作系统设计原理詹永照、毛启容2015-9总成绩:教师签名:年月江苏大学计算机学院课程设计报告