(课程设计)
河北大学工商学院。装。订。
线。操作系统课程设计。
题目: 操作系统课程设计
学院工商学院
学部信息科学与工程
专 操作系统课程设计。
题目: 操作系统课程设计
学院工商学院
学部信息科学与工程
专业计算机类
学号 姓名。
指导教师。年 6 月 24 日。
设备管理 2
2.1设计任务2
2.2设计要求2
四、程序设计及实验 6
五、总结和讨论 9
六、**10
通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。
模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。
设备管理设备管理主要包括设备的分配和**。模拟系统中有鼠标、键盘、打印机和**四种设备,采用安全分配方式。设备采用设备状态的变化还有设备颜色的变化来判断设备所处的状态,当创建文件是就指明了要调用的设备,让后等进程运行时来知道调用的什么设备,最后颜色和状态的变化来反应调用的设备与每个设备所处的状态。
设备用jbutton图标显示,通过灰色和可见色判断是否被调用。
设计一个设备管理分配程序,按先来先服务的算法,对设备进行分配。
设备管理主要包括设备的分配和**。
1)模拟系统中有a、b、c三种独占型设备,a设备3个,b设备2个,c设备1个。
2)因为模拟系统比较小,因此只要设备表设计合理即可。
3)采用先来先服务分配策略,采用设备的安全分配方式。
4)屏幕显示。
设备管理的功能是按照设备的类型和系统采用的分配策略,为请求i/o进程分配一条传输信息的完整通路。合理的控制i/o的控制过程,可最大限度的实现cpu与设备、设备与设备之间的并行工作。
1.监视所有设备。为了能对设备实施有效的分配和控制,系统能获取设备的状态。设备状态保存在设备控制表(devicetable)中,并动态的记录状态的变化及有关信息。
2.制定分配策略。按先来先服务的算法,进行设备分配。
3.设备的分配。把设备分配给进程。
4.设备**。当进程运行完毕后,要释放设备,则系统必须**,一边其他进程使用。
图3.1记录设备的状态及相关信息。
检查设备是否被调用。
对设备进行分配。
进程结束对设备进行**。
一个devicetable类、一个devicetable函数。
devicetable是设备分配表,说明设备的分配状况,是否被占用。
device类说明了设备是如何使用的。每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。
进程对设备的调用,当进程使用设备时,检查设备是否空闲。如果空闲,则调用该设备;如果设备正被使用,则将该进程阻塞到该设备的阻塞队列中,等到设备空闲时,再被唤醒,调用设备。
一个设备的枚举类型devicetype,一个cpu函数。
cpu函数中调用equipment模块中的函数对设备进行检测。如果设备空闲,就调用该设备;如果设备真在被使用,则该进程被阻塞到该设备的阻塞队列中。
通过调用equipment模块中的函数对设背进行检测:如果设备空闲,则使用该设备;如果设备正在工作,则进程被阻塞。
界面管理。启动进程,如果要使用设备,按先来先服务的算法调用设备。此模块中有一个设备调用函数public int allocate(devicetype type),根据设备的物理名调用设备,并将信息显示显示到界面中。
先来先服务(fcfs, first come first service)分配算法:
每一设备有一队列管理,当多个作业或任务对同一设备提出i/o请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一各作业。
对着目录节点点击右键可以添加执行文件,文本文件和新目录。
点击新建执行文件,输入文件名称。
弹出内容窗口,输入内容,然后退出保存,同时也可以用菜单栏编辑选项。
点击是以后,创建成功,执行文件扩展名为。exe,此时磁盘显示占用:
磁盘情况。这是创建文件的过程就结束了。
图4-1进程调用设备。先调用a类设备, a类设备一共有三个,如果有空闲的设备,则进程就可调用;否则将进程阻塞到设备a的阻塞队列中,等待设备,等到a类设备有空闲设备时,就唤醒该进程,在断点处继续进行程序。再调用b类设备, b类设备一共有两个,如果有空闲的设备,则进程就可调用;否则将进程阻塞到设备b的阻塞队列中,等待设备,等到b类设备有空闲设备时,就唤醒该进程,在断点处继续进行程序。
最后调用c类设备, c类设备只有一个,c设备是临界资源,如果c设备空闲,则进程就可调用;否则将进程阻塞到设备c的阻塞队列中,等待设备,等到c设备空闲,就唤醒该进程,在断点处继续进行程序。
设备管理主要监视所有设备的状态,制定分配策略,完成设备的分配**,合理的控制i/o的控制过程,最大限度的实现cpu与设备、设备与设备之间的把并行工作。
通过对这次操作系统课程设计的亲自参与和操作,使我深刻体会到了:只要你想做只要你想学没有弄不懂得事情,工程里面也不能不在乎细节,等等。感觉很受益匪浅。
懂得了操作系统包括的四部分内容:文件管理和用户接口、存储管理、设备管理、进程管理之间的内在联系。加深了我对这门课程的理解。
锻炼了自己在考虑全局也不是细节的能力。通过这次实验,再一次熟悉并深入掌握了程序设计语言和界面设计。同时,我也深深体会到了团队的重要性,如果没有同组人的互相鼓励和督促我跟本不能很快的完成任务。
一滴水的力量是有限的,但汇聚成溪流将是美丽的。虽然我们每个人的力量都是有限的,但是激烈的讨论、相互的鼓励使我们在实践中成长。感谢和我一起面对的同伴们,因为有你们我才变得勤奋。
更感谢给予我们谆谆教导的老师,在我们犹豫困惑时给予我们指导,谢谢您!
操作系统课程设计
银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...
操作系统课程设计
学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....
操作系统课程设计
一个多用户多级目录结构文件系统设计与实现。课程设计的环境是linux 操作系统。设计时可利用linux 提供的文件管理的功能调用,建立一个模拟的文件系统。基本思想是,在linux 系统中创建一个较大容量的文件,作为所设计的文件系统的 文件卷 并利用linux 系统的功能调用,编写各程序模块。以 1m...