操作系统课程设计(设备管理)
更新时间:2024-03-24 09:07:01 阅读量: 综合文库 文档下载
河北大学工商学院操作系统课程设计
操作系统课程设计(设备管理)
目 录
一 引言 ......................................... 1
1.1课程设计题目 .................................. 1 1.2课程设计的目的 ................................. 1 1.3小组人数 ...................................... 1 1.4编程语言 ...................................... 1 1.5课程设计内容 .................................. 1 1.6界面设计如图 .................................. 1
二 课程设计任务及要求 ............................ 2
2.1设计任务 ...................................... 2 2.2设计要求 ...................................... 2
三 算法及数据结构 ................................ 2
3.1算法的总体思想(流程) .......................... 2 3.2 Equipment模块 ................................. 3 3.2.1 功能 ....................................... 3 3.2.2 数据结构 .................................... 3 3.3 cpu模块 ...................................... 4 3.3.1 功能 ....................................... 4 3.3.2 数据结构 .................................... 4 3.3.3 算法 ....................................... 4
I
河北大学工商学院操作系统课程设计
3.4 form1模块 .................................... 4 3.4.1 功能 ....................................... 4 3.4.2 算法 ....................................... 5
四 程序设计与实现 ............................... 5
4.1 程序流程图 .................................... 5 4.2 基本思想 ..................................... 6 4.3 定义的公共变量或数据结构 ........................ 7 4.4 实验部分代码 .................................. 7 4.5 运行截图 .................................... 12 4.6 使用说明 .................................... 15
五 总结 ........................................ 15 六 参考文献 .................................... 15
II
河北大学工商学院操作系统课程设计
一 引言
1.1课程设计题目
实现一个模拟操作系统。
1.2课程设计的目的
通过模拟操作系统原理的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。
1.3小组人数
建议3~4人一组共同完成模拟系统的实现。
1.4编程语言
建议使用VC、VB、C#、Java等Windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。
1.5课程设计内容
模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。
1.6界面设计如图
图1.1
1
河北大学工商学院操作系统课程设计
二 课程设计任务及要求
2.1设计任务
设计一个设备管理分配程序,按先来先服务的算法,对设备进行分配。
2.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.设备回收。当进程运行完毕后,要释放设备,则系统必须回收,一边其他进
程使用。
2
河北大学工商学院操作系统课程设计
图3.1
3.2 Equipment模块 3.2.1 功能
记录设备的状态及相关信息 检查设备是否被调用 对设备进行分配
进程结束对设备进行回收
3.2.2 数据结构
一个DeviceTable类、一个DeviceTable函数。
DeviceTable是设备分配表,说明设备的分配状况,是否被占用。
Device类说明了设备是如何使用的。每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。
3
河北大学工商学院操作系统课程设计
{ str = true; } break; } }
return str; } //
////////////分配设备,返回第几个设备被占用//////////////////////// //
public int Allocate(DeviceType type) { int k = 0;
switch (type) //使用switch语句选择分配设备不同函数 { case DeviceType.A: { table[0].total--;
for (int i = 0; i < 3; i++) { if (table[0].useState[i] == 0) { table[0].useState[i] = 1; k = i; break; } } break; }
case DeviceType.B: { table[1].total--;
for (int i = 0; i < 2; i++) {
if (table[0].useState[i] == 0) { table[0].useState[i] = 1; k = i; break; } } break; }
9
河北大学工商学院操作系统课程设计
case DeviceType.C: { table[2].total--; break; } } return k; } //
//////////////////////////回收设备//////////////////////////// //
public void DeAllocate(DeviceType type, int a) { switch (type)
{ case DeviceType.A: { table[0].total++;
table[0].useState[a] = 0; break; }
case DeviceType.B: { table[1].total++;
table[1].useState[a] = 0; break; }
case DeviceType.C: { table[2].total++;
table[2].useState[a] = 0; break; } } }
}
public Form1()
{ InitializeComponent(); } //
10
河北大学工商学院操作系统课程设计
///////////////////// 分配设备时的颜色变化//////////////////// //
private void button7_Click(object sender, EventArgs e) { Anum--;
string result1 = \ Device d1 = new Device();
int m1 = d1.Allocate(DeviceType.A); result1 = Convert.ToString(m1); switch (Anum) { case 2:
this.button1.BackColor = Color.Red; break; case 1:
this.button2.BackColor = Color.Red; break; case 0:
this.button3.BackColor = Color.Red; break; default:
MessageBox.Show(\无设备可分配\ break; } }
private void button8_Click(object sender, EventArgs e) { Bnum--;
string result2 = \ Device d2 = new Device();
int m2 = d2.Allocate(DeviceType.B); switch (Bnum) { case 1:
this.button4.BackColor = Color.Red; break; case 0:
this.button5.BackColor = Color.Red; break;
11
河北大学工商学院操作系统课程设计
default:
MessageBox.Show(\无设备可分配\ break; }
result2 = Convert.ToString(m2); }
private void button9_Click(object sender, EventArgs e) { Cnum--;
string result3 = \ Device d1 = new Device();
int m3 = d1.Allocate(DeviceType.C); if (Cnum == 0)
{ this.button6.BackColor = Color.Red; } else
{ MessageBox.Show(\无设备可分配\ }
result3 = Convert.ToString(m3);
}
} }
4.5 运行截图
屏幕显示
主存使用情况示意图,哪些主存块已分配,哪些主存块未分配,以不同的颜色表示,灰色表示设备空闲,红色表示设备已分配
初始化为所有设备都是空闲状态,如下图所示
12
河北大学工商学院操作系统课程设计
图4-2
分配设备A正常情况下,如图所示:
图4-3
13
河北大学工商学院操作系统课程设计
分配设备A非正常情况下,例如需要设备数超过实际有的设备数时,如图所示:
图4-4
3个设备A都被分配出去,回收设备A时正常情况如下图所示:
图4-5
14
河北大学工商学院操作系统课程设计
4.6 使用说明
设备管理主要包括设备的分配和回收。 1. 设备的模拟
模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。
2. 数据结构
因为模拟系统比较小,因此只要设备表设计合理既可。 3. 设备分配
采用先来先服务策略。 4. 设备回收
回收设备后,要注意唤醒等待设备的进程。 5. 屏幕显示
屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。其中灰色表示设备空闲,红色表示设备已被分配。
五 总结
设备管理主要监视所有设备的状态,制定分配策略,完成设备的分配和回收,合理的控制I/O的控制过程,最大限度的实现CPU与设备、设备与设备之间的把并行工作。
通过对这次操作系统课程设计的亲自参与和操作,使我深刻体会到了:只要你想做只要你想学没有弄不懂得事情,工程里面也不能不在乎细节,等等。感觉很受益匪浅。懂得了操作系统包括的四部分内容:文件管理和用户接口、存储管理、设备管理、进程管理之间的内在联系。加深了我对这门课程的理解。锻炼了自己在考虑全局也不是细节的能力。通过这次实验,再一次熟悉并深入掌握了程序设计语言和界面设计。同时,我也深深体会到了团队的重要性,如果没有同组人的互相鼓励和督促我跟本不能很快的完成任务。一滴水的力量是有限的,但汇聚成溪流将是美丽的。虽然我们每个人的力量都是有限的,但是激烈的讨论、相互的鼓励使我们在实践中成长。感谢和我一起面对的同伴们,因为有你们我才变得勤奋。更感谢给予我们谆谆教导的老师,在我们犹豫困惑时给予我们指导,谢谢您!
六 参考文献
刘振鹏、王煜、张明 《操作系统》(第三版)北京:中国铁道出版社
15
正在阅读:
操作系统课程设计(设备管理)03-24
在校证明标准格式08-11
红领巾相约中国梦主题班会04-25
18春东财《Java语言应用开发基础》在线作业一(随机)01-22
2008年普通高等学校招生全国统一考试理综试题及答案-全国205-14
《梵高》读后感08-29
行政管理学小抄 -12-06
文件筐测验题(含答案)03-08
体外冲击波碎石机市场分析03-08
- 计算机试题
- 【2012天津卷高考满分作文】鱼心人不知
- 教育心理学历年真题及答案--浙江教师资格考试
- 20180327-第六届“中金所杯”全国大学生金融知识大赛参考题库
- 洪林兴达煤矿2018年度水情水害预测预报
- 基本要道讲义
- 机电设备安装试运行异常现象分析与对策
- 《有机化学》复习资料-李月明
- 非常可乐非常MC2--非常可乐广告策划提案 - 图文
- 2011中考数学真题解析4 - 科学记数法(含答案)
- 企业人力资源管理师三级07- 09年真题及答案
- 基于单片机的光控自动窗帘控制系统设计说明书1 - 图文
- 20160802神华九江输煤皮带机安装方案001
- (共53套)新人教版一生物必修2(全册)教案汇总 word打印版
- 2014行政管理学总复习
- 中国银监会关于加强地方政府融资平台贷款风险监管的指导意见
- 民宿酒店核心竞争与研究
- 游园活动谜语大全2012
- 河南省天一大联考2016届高三英语5月阶段性测试试题(六)(A卷)
- 小型超市管理系统毕业论文详细设计4
- 设备管理
- 操作系统
- 课程
- 设计
- 小学纪念抗日战争胜利70周年活动策划方案
- 新版ISO9001-2015质量手册+程序文件 - 图文
- 超声诊断仪项目投资可行性研究报告
- 二年级下册语文单元测试第四单元 A卷 - 苏教版(有答案)
- 梁钢筋长度计算 - 图文
- 江城烟草专卖局(公司)基层创优活动实施方案
- 内科护理学第1章
- 大型数据库实验报告
- basler gige相机 怎么使用opencv显示图像
- 研究生阅读书目
- 2018年江苏高考数学二轮复习练习:专项限时集训4 解析几何中的范
- 2019-2024年医药用纯化水处理设备市场发展前景预测与投资战略规
- 钦州留学360:新西兰的理工学院
- 人教版新课标二年级数学下册教案1
- 工作分析练习
- 房地产结构性融资金融工具实务操作
- 建菱砖单价 - 图文
- 社区治安巡防记录表(式样)
- 保安部安全管理职责
- 一人性缓教学设计