计算机操作系统教程 课件第8章_IO设备管理.pptx

计算机操作系统教程 课件第8章_IO设备管理.pptx

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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缓冲技术概述;;;

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档