- 108
- 0
- 约 19页
- 2016-05-24 发布于重庆
- 举报
实验七设备管理
实验七 设备管理 (四课时)
一 实验目的:
模拟实现包括设备的添加和删除,设备的分配和回收,体现设备分配中的设备独立性。
二 内容要求:
1、 设备管理模拟计算机系统的外围设备的系统结构,可以创建2个通道、3个控制器和四个外设(键盘、鼠标、显示器、打印机),键盘和鼠标使用一个控制器。
2、 设备管理有添加和删除设备的功能,同时完成控制器的维护功能。
3、 设备管理还包括设备的分配和回收。使学生掌握外围设备的体系结构和管理方法。成功分配的时候,用户进程使用设备,否则将被阻塞到一个级别的控制表上,等待被唤醒。
设备分配必须满足设备的独立性要求。为了实现设备独立性,要求在驱动程序之上设计一层设备无关软件,其主要功能可分为执行所有设备的公有操作,主要包括:(a)独占设备的分配与回收;(b)将逻辑设备名映射为物理设备,进一步可以找到相应物理设备的驱动程序。
三 实现功能:
1、增加设备
2、删除设备
3、申请设备
4、回收设备
5、显示当前所有设备的状态
四 实现过程:
[cpp] view plaincopy
01.#includeiostream
02.#includestring.h
03.#includewindows.h
04.using namespace std;
05.struct BLOCK /*阻塞*/
06.{
07. char name[100]; /*阻塞态进程名称*/
08. char from[100];
09. BLOCK *next;
10.};
11.struct DCT /*设备控制表*/
12.{
13. char name[100]; /*设备名称*/
14. char type; /*设备类型:I/O*/
15. int stage; /*设备状态:1/0*/
16. int coct; /*连接相应控制器的控制器号*/
17. BLOCK *BLOCK,*rear; /*阻塞队列指针*/ /*阻塞队列尾指针*/
18.};
19.struct SDT /*系统设备表*/
20.{
21. char name[100]; /*系统设备名称*/
22. DCT DCT; /*绑定的相应设备*/
23.}SDT[100];
24.struct COCT /*控制器控制表*/
25.{
26. char name[100]; /*控制器名称*/
27. int stage; /*控制器状态:1/0*/
28. int chct; /*连接相应通道的通道号*/
29. BLOCK *BLOCK,*rear; /*阻塞队列*/ /*阻塞队列尾指针*/
30.}COCT[100];
31.struct CHCT /*通道控制表*/
32.{
33. char name[100]; /*通道名称*/
34. int stage; /*通道的状态:1/0*/
35. BLOCK *BLOCK,*rear; /*阻塞队列*/ /*阻塞队列尾指针*/
36.}CHCT[2];
37.
38.int SDT_N=4;
39.int COCT_N=3;
40.void init() /*初始化*/
41.{
42./*
43.初始化SDT和DCT 系统原有4个设备:K M T P
44. */
45. strcpy(SDT[0].name,K);
46. strcpy(SDT[0].DCT
您可能关注的文档
最近下载
- 珠海市金湾区面向2026年应届毕业生及社会人员公开招聘中小学编制内教师备考题库带答案详解.docx VIP
- 药物临床试验质量管理规范 .pdf VIP
- 《培养良好习惯主题班会》课件.ppt
- 四川省成都七中2025—2026学年度上学期期末考试高一英语试卷(含答案,含听力原文及音频).pdf VIP
- 近五年陕西中考数学真题及答案2024.docx VIP
- 初中数学新沪科版七年级下册全册教学反思(2025春).pdf VIP
- 广东省2025年中考历史试题(含答案).pdf VIP
- 2026春《开学第一课》PPT课件.pptx
- 学堂在线 雨课堂 学堂云 人工智能与创业智慧 章节测试答案.docx VIP
- 《心理学概论》教案.doc VIP
原创力文档

文档评论(0)