- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
计算机操作系统;第八章设备管理;在现代计算机系统中,有大量的输入输出设备,其种类繁多,差异大。而且随着技术的发展,新设备也不断地出现。因此,如何管理好这些设备,使资源得以合理的利用,是操作系统的一个主要功能。;按交互方向分类:
输入设备:键盘、鼠标、扫描仪;
输出设备:显示器、打印机;
输入/输出:磁盘、网卡。;按数据组织分类:
块设备:以数据块作为信息的存储和传输单位,每个数据块都有一个地址,数据块之间的读写操作是相互独立的,如硬盘
字符设备:以字符作为信息存储和传输单位,数据即字符流,无定位无寻址,如鼠标、键盘;8.1.1I/O设备的类型;8.1.1I/O设备的类型;有了I/O设备,是否就能完成I/O功能呢?;标准接口?;设备控制器;每个设备控制器都有一些寄存器用来与CPU通信。通过往这些寄存器中写入不同的值,OS能命令该设备去执行发送数据、接收数据、打开、关闭等操作;OS也能通过读取这些寄存器的值来了解设备的当前状态。此外,许多控制器还有一个数据缓冲区供OS读写。;设备控制器的功能;设备控制器的组成;I/O独立编址;Linux0.11/boot/setup.s;内存映像编址;I/O通道;I/O通道;“瓶颈”问题;“瓶颈”问题;程序I/O方式(ProgrammedI/O)
中断驱动方式(Interrupt-drivenI/O)
直接内存访问方式(DMA,DirectMemory
Access);小宝宝在家吃饭
如果宝宝的嘴巴没空(如上一口饭菜尚未吃完),循环等待
装一勺饭菜,喂到宝宝嘴里
重复上述步骤;基本思路:在程序(设备驱动程序)中通过不断地检测I/O设备的当前状态,来控制I/O操作的完成。具体来说,在进行I/O操作之前,要循环地检测设备是否就绪;在I/O操作进行之中,要循环地检测设备是否已完成。从硬件来说,控制I/O的所有工作均由CPU来完成。
也称为繁忙等待方式(busywaiting)或轮询方式
(polling)。;一个例子;for(i=0;icount;i++)
{
while(*printer_status_reg!=READY);
*printer_data_register=p[i];
};循环检测的控制方法占用了太多的CPU时
间,可能会造成CPU时间的浪费。例如:
假设打印机的打印速度为100字符/秒,在
循环检测方式下,当一个字符被写入到打
印机的数据寄存器中后,CPU需要等待10
毫秒才能写入下一个字符。
一种解决的办法:中断驱动的控制方式。;宝宝在幼儿园吃饭
将饭菜装入每个宝宝的小碗
宝宝开始吃饭,老师去做别的事情
在吃饭时,宝宝通过举手打断老师
老师再为宝宝装一碗饭菜
;直接内存访问(DirectMemoryAccess,DMA)方式:在硬件上需要一个DMA控制器。
DMA控制器可以直接去访问系统总线,它能代替CPU去指挥I/O设备与内存之间的数据传送。;DMA控制器的组成;为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器:
(1)命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。
(2)内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
(3)数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
(4)数据计数器DC。存放本次CPU要读或写的字(节)数。;I/O通道控制方式;2.通道程序;操作;为了管理I/O设备,需要哪一些相关的软件?这些软件各自完成何种功能,相互的关系、组织结构又如何?;用户空间的I/O软件;设备驱动程序:与具体的设备类型相关的,用来控制设备运行的程序。一般由设备生产商提供。
通常是平台相关(如Windows/linux),适合于特定的某个设备(如键盘)或某类设备(如SCSI)
每一个I/O设备都需要相应的设备驱动程序,而每一个设备驱动程序一般只能处理一种设备类型。;DeviceDrivers;设备独立的I/O软件(I/O子系统)是系统内核的一
部分,其任务是实现所有设备都需要的一些通用的
I/O功能,并向用户级软件提供一个统一的接口。
为什么需要内核的I/O软件?
I/O设备的种类繁多、功能各异,需要标准化接口
I/O设备不可靠,如存储介质失效或传输错误
I/O设备不可预测,且运行速度快慢不一;应用程序开发人员;;;;;;;8.2.1缓冲技术概述;;;
您可能关注的文档
- 计算机操作系统教程 课件第1章_操作系统概述.pptx
- 计算机操作系统教程 课件第2章_进程管理.pptx
- 计算机操作系统教程 课件第6章_虚拟存储管理.pptx
- 计算机操作系统教程 课件第4章_进程通信与多线程.pptx
- 计算机操作系统教程 课件第7章_文件系统.pptx
- 计算机操作系统教程 课件第3章_进程同步.pptx
- 计算机操作系统教程 课件第5章_存储管理.pptx
- 《计算机操作系统教程》_(习题解答).docx
- 《信号与系统》_(习题解答).docx
- 《信号与系统》_(中文电子课件) 第八章 离散系统的时域分析.pptx
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)