欢迎来到天天文库
浏览记录
ID:14650943
大小:176.00 KB
页数:9页
时间:2018-07-29
《操作系统课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、河北大学工商学院课程设计题目:操作系统课程设计学部信息学部学科门类电气信息专业计算机学号2011482370姓名耿雪涛指导教师朱亮2013年6月19日主要内容一、设计目的通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。二、设计思想实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。设计模板如下图:注:本人主要涉及设备
2、管理模块三、设计要求设备管理主要包括设备的分配和回收。⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。⑶屏幕显示注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。设备管理模块详细设计一、设备管理的任务I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。二、设备管理函数的详细描述1、检查设备是否
3、可用(主要代码)publicboolJudgeDevice(DeviceTypetype){boolstr=false;switch(type){caseDeviceType.a:{if(table[0].total>0){str=true;}break;}caseDeviceType.b:{if(table[1].total>0){str=true;}break;}caseDeviceType.c:{if(table[2].total>0){str=true;}break;}}returnstr;}注意:只有当设备处于可用状态时,那么用户发出的I/O请求才可以及时给出回应,如果
4、在用户发出请求的时候,当前没有空闲的设备,那么用户只能等待,只有当设备回收以后有空闲设备的时候才可以继续完成用户的I/O请求,因此,这一部分相当重要。2、设备的分配(主要代码)publicintAllocate(DeviceTypetype){intk=0;switch(type){caseDeviceType.a:{table[0].total--;for(inti=0;i<3;i++){if(table[0].useState[i]==0){table[0].useState[i]=1;k=i;break;}}break;}caseDeviceType.b:{table[1]
5、.total--;for(inti=0;i<2;i++){if(table[0].useState[i]==0){table[0].useState[i]=1;k=i;break;}}break;}caseDeviceType.c:{table[2].total--;break;}}returnk;}这一部分定义了三类共六个设备,分别是A类型的三个,B类型的两个,C类型的一个。3、设备的回收(主要代码)publicvoidDeAllocate(DeviceTypetype,inta){switch(type){caseDeviceType.a:{table[0].total++;
6、table[0].useState[a]=0;break;}caseDeviceType.b:{table[1].total++;table[1].useState[a]=0;break;}caseDeviceType.c:{table[2].total++;table[2].useState[a]=0;break;}}}}每次占用完了某一个或多个I/O设备,都要对其进行设备的回收,以便后续使用。三、屏幕显示1、当刚刚开机后,没有任何操作,那么此时的屏幕显示为下图:注:模拟操作系统分为进程管理、文件管理、内存管理、设备管理四个主要部分。进程管理分别为就绪队列和阻塞队列,来显示进程
7、名、优先级、以及阻塞原因;文件管理包含命令接口和计算机磁盘(C、D磁盘),绿色表示系统使用的磁盘,深蓝表示已使用的内存,灰色表示还未使用,有三个相关进程(111.exe、aaa.exe、ddd.exe);内存管理有32个panel,蓝色表示空闲块,红色表示占用块,黄色表示运行块;设备管理包6个设备,初始状态为空闲,显示使用的进程和时间。此时磁盘中没有任何文件,用户没有任何请求,所以I/O设备全部出于空闲状态,所有设备未被占用,此时内存中也没有任何进程数据,当然,cpu也处于空闲状
此文档下载收益归作者所有