第9章设备管理.ppt

  1. 1、本文档共138页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章设备管理

I/O系统应组成以下4个层次: 中断处理程序 设备驱动程序 与设备无关的I/O软件 用户空间的I/O软件 9.7.1 I/O软件设计的目标 每个进程在启动一个I/O操作后阻塞,直到I/O操作完成并产生一个中断,由操作系统接管CPU后唤醒该进程为止 中断处理程序 为了控制I/O传输,系统为每类设备编制设备驱动程序 与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型 每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。 设备驱动程序:主要负责接收和分析从设备分配转来的信息,并根据设备分配的结果,结合具体物理设备特性完成具体工作 设备驱动程序 设备驱动程序的功能是接收来自与设备无关的上层软件的抽象请求,并执行这个请求。 具体工作: 预置设备的初始状态 根据请求传输的数据量,组织I/O缓冲队列,利用I/O缓冲对数据进行加工,包括数据格式处理和编码转换 构造I/O程序(在有通道的系统中,是通道程序) 启动设备进行I/O操作 设备驱动程序 在设备驱动程序的进程释放一条或多条命令后,系统有两种处理方式: 多数情况下,执行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。 在其它情况下,命令执行不必延迟就很快完成 设备驱动程序 虽然I/O软件中一部分是设备专用的,但大部分软件是与设备无关的。设备驱动程序与设备独立软件之间的确切界限是依赖于具体系统的 与设备无关的I/O软件 独立于设备的软件的基本任务:是实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口 1.设备命令 如何给文件和设备这样的对象命名是操作系统中的一个主要课题。独立于设备的软件负责把设备的符号名映射到正确的设备驱动上 2.设备保护 系统如何防止无权存取设备的用户存取设备呢? 与设备无关的I/O软件 3. 与设备无关的块大小 不同的磁盘可以采用不同的扇区尺寸。向较高层软件掩盖这一事实并提供大小统一的块尺寸,这正是设备独立软件的一个任务。它可将若干扇区合成一个逻辑块。这样,较高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块 4. 缓冲技术 5. 数据块的分配 9. 对独立设备的分配释放 7. 出错处理 与设备无关的I/O软件 用户空间的I/O软件 尽管大部分I/O软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构成。系统调用,包括I/O系统调用,通常由库过程实现。 例如,count=write(fd,buffer,nbyte) 这些过程所做的工作只是将系统调用时所用的参数放在合适的位置,由其它的I/O过程实际实现真正的操作 9.7.2 I/O系统软件的层次结构 (1)用户进程层执行输入输出系统调用,对I/O数据进行格式化,为假脱机输入/输出作准备 (2)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配 (3)设备驱动程序设置设备寄存器、检查设备的执行状态 (4)中断处理程序负责I/O完成时,唤醒设备驱动程序进程,进行中断处理 (5)硬件层实现物理I/O的操作 9.7.2 I/O系统软件的层次结构 作业 p231 习题 2、3、4、5、6、7、8、11、13 9.5 设备分配程序 当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换 设备独立性:即不能因为设备的忙碌、故障或更换而影响程序的运行, 向用户屏蔽物理设备,呈现给用户的一个操作简单的逻辑设备 抽象的I/O 操作:设计一类通用的I/O指令,其含义对不同类型的设备作不同解释。而且,在操作系统中,提供了若干I/O系统调用。由系统将抽象的I/O 操作映射到专门的设备驱动程序 9.5 设备分配程序 9.5.1 设备分配的数据结构 设备分配程序至少应解决以下问题: 是否有满足I/O请求的通路? 是否有一条以上的通路可用? 如果当前无通路可用,那么通路何时才能空闲? 9.5.1 设备分配的数据结构 设备控制表DCT(设备控制块UCB) 系统设备表SDT 控制器表COCT(控制器控制块CUCB) 通道控制表CHCT(通道控制块CHCB) 9.5.1 设备分配的数据结构 1. 设备控制表DCT 系统中每个设备一 张DCT,且在系统生成时或设备连接时创建。但表中内容在执行中动态改变 DCT反映设备的特性、设备和I/O控制器的连接情况。主要包括: 设备标识符 设备类型 设备地址或设备号 设备状态 与此设备相连的I/O控制器表 等待该设备进程所组成队列的队首和队尾指针 9.5.1 设备分配的数据结构 2.系

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档