操作系统课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统课程设计题目:操作系统课程设计学院工商学院学部信息科学与工程专业计算机类学号20144229166姓名赵林华指导教师王煜2016年6月24日装订线河北大学工商学院目录目录..............................................................................................................................................2一、引言...........................................................................................................................................11.1课程设计目的................................................11.2课程设计内容................................................11.3小组人数及编程语言..........................................1二、需求分析...................................................................................................................................1设备管理........................................................22.1设计任务..........................................................................................................................22.2设计要求..........................................................................................................................2三算法及数据结构.........................................................................................................................23.1算法的总体思想(流程)......................................33.2Equipment模块..............................................33.2.1功能......................................................33.2.2数据结构..................................................33.3cpu模块....................................................43.3.1功能......................................................43.3.2数据结构..................................................43.3.3算法......................................................53.4form1模块..................................................53.4.1功能......................................................53.4.2算法......................................................6四、程序设计及实验.......................................................................................................................6五、总结和讨论...............................................................................................................................9六、代码……………………………………………………………………………………………101一、引言1.1课程设计目的通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。1.2课程设计内容模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。1.3小组人数小组人员:赵林华张铭二、需求分析设备管理设备管理设备管理主要包括设备的分配和回收。模拟系统中有鼠标、键盘、打印机和视频四种设备,采用安全分配方式。设备采用设备状态的变化还有设备颜色的变化来判断设备所处的状态,当创建文件是就指明了要调用的设备,让后等进程运行时来知道调用的什么设备,最后颜色和状态的变化来反应调用的设备与每个设备所处的状态。设备用JButton图标显示,通过灰色和可见色判断是否被调用2.1设计任务设计一个设备管理分配程序,按先来先服务的算法,对设备进行分配。22.2设计要求设备管理主要包括设备的分配和回收。(1)模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。(2)因为模拟系统比较小,因此只要设备表设计合理即可。(3)采用先来先服务分配策略,采用设备的安全分配方式。(4)屏幕显示三、算法及设计结构3.1算法的总体思想(流程)设备管理的功能是按照设备的类型和系统采用的分配策略,为请求I/O进程分配一条传输信息的完整通路。合理的控制I/O的控制过程,可最大限度的实现CPU与设备、设备与设备之间的并行工作。1.监视所有设备。为了能对设备实施有效的分配和控制,系统能获取设备的状态。设备状态保存在设备控制表(DeviceTable)中,并动态的记录状态的变化及有关信息。2.制定分配策略。按先来先服务的算法,进行设备分配。3.设备的分配。把设备分配给进程。4.设备回收。当进程运行完毕后,要释放设备,则系统必须回收,一边其他进程使用。3图3.13.2Equipment模块3.2.1功能记录设备的状态及相关信息检查设备是否被调用对设备进行分配进程结束对设备进行回收3.2.2数据结构一个DeviceTable类、一个DeviceTable函数。DeviceTable是设备分配表,说明设备的分配状况,是否被占用。Device类说明了设备是如何使用的。每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。43.3cpu模块3.3.1功能进程对设备的调用,当进程使用设备时,检查设备是否空闲。如果空闲,则调用该设备;如果设备正被使用,则将该进程阻塞到该设备的阻塞队列中,等到设备空闲时,再被唤醒,调用设备。3.3.2数据结构一个设备的枚举类型DeviceType,一个cpu函数。Cpu函数中调用Equipment模块中的函数对设备进行检测。如果设备空闲,就调用该设备;如果设备真在被使用,则该进程被阻塞到该设备的阻塞队列中。3.3.3算法通过调用Equipment模块中的函数对设背进行检测:如果设备空闲,则使用该设备;如果设备正在工作,则进程被阻塞。53.4form1模块3.4.1功能界面管理启动进程,如果要使用设备,按先来先服务的算法调用设备。此模块中有一个设备调用函数publicintAllocate(DeviceTypetype),根据设备的物理名调用设备,并将信息显示显示到界面中。3.4.2算法先来先服务(FCFS,FirstComeFirstService)分配算法:每一设备有一队列管理,当多个作业或任务对同一设备提出I/O请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一各作业。6四、程序设计与实验对着目录节点点击右键可以添加执行文件,文本文件和新目录点击新建执行文件,输入文件名称弹出内容窗口,输入内容,然后退出保存,同时也可以用菜单栏编辑选项点击是以后,创建成功,执行文件扩展名为.exe,此时磁盘显示占用:7磁盘情况这是创建文件的过程就结束了。8图4-1进程调用设备。先调用A类设备,A类设备一共有三个,如果有空闲的设备,则进程就可调用;否则将进程阻塞到设备A的阻塞队列中,等待设备,等到A类设备有空闲设备时,就唤醒该进程,在断点处继续进行程序。再调用B类设备,B类设备一共有两个,如果有空闲的设备,则进程就可调用;否则将进程阻塞到设备B的阻塞队列中,等待设备,等到B类设备有空闲设备时,就唤醒该进程,在断点处继续进行程序。最后调用C类设备,C类设备只有一个,C设备是临界资源,如果C设备空闲,则进程就可调用;否YNNNY执行的进程根据设备的物理名调用设备设备a是否空闲设备b是否空闲设备c是否空闲进程结束,回收设备Y将该进程放到设备a的阻塞队列中将该进程放到设备b的阻塞队列中将该进程放到设备c的阻塞队列中9则将进程阻塞到设备C的阻塞队列中,等待设备,等到C设备空闲,就唤醒该进程,在断点处继续进行程序。五、总结和讨论设备管理主要监视所有设备的状态,制定分配策略,完成设备的分配回收,合理的控制I/O的控制过程,最大限度的实现CPU与设备、设备与设备之间的把并行工作。通过对这次操作系统课程设计的亲自参与和操作,使我深刻体会到了:只要你想做只要你想学没有弄不懂得事情,工程里面也不能不在乎细节,等等。感觉很受益匪浅。懂得了操作系统包括的四部分内容:文件管理和用户接口、存储管理、设备管理、进程管理之间的内在联系。加深了我对这门课程的理解。锻炼了自己在考虑全局也不是细节的能力。通过这次实验,再一次熟悉并深入掌握了程序设计语言和界面设计。同时,我也深深体会到了团队的重要性,如果没有同组人的互相鼓励和督促我跟本不能很快的完成任务。一滴水的力量是有限的,但汇聚成溪流将是美丽的。虽然我们每个人的力量都是有限的,但是激烈的讨论、相互的鼓励使我们在实践中成长。感谢和我一起面对的同伴们,因为有你们我才变得勤奋。更感谢给予我们谆谆教导的老师,在我们犹豫困惑时给予我们指导,谢谢您!通过java的Swing编程,简单的模拟了一下操作系统,部分功能并不完善,希望在之后的日子里可以做的更好;充分的体现的面相对象的思想,简单的通过时间片轮转的调度算法实现操作系统的进程模块小组成员的充分配合,分工合作共同完成一个项目的团结协作精神10六、代码程序代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Windows.Forms;namespaceOS.ClassFolder{publicenumInterrupt{IO,End,No}publicenumProcessState{Block,Ready,Execute,White}publicenumDeviceType{a,b,c,no}publicstructPCB{publicintProcessID;//进程块的编号(0-9)publicstringProcessName;//使用该进程块的进程名publ

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功