- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 字节多路通道:以字节为单位传输信息,可以分时地执行多个通道程序,一个通道程序对应一台设备。主要用来连接大量慢速设备。 选择通道:每次传送一批数据,传送速度快。在一段时间内只能执行一个通道程序,只允许一台设备传输数据。可用于固定头磁盘等。 数组多路通道:结合了选择通道传送速度快和字节多路通道能够分时的优点。先为一台设备执行一条通道指令,再为另一台设备执行一条通道指令。可连接多台活动头磁盘机。 通道的三种类型 * 工作过程: CPU向通道发出一条I/O指令,给出所要执行的通道程序的首地址和要访问的I/O设备。 通道执行通道程序便可完成CPU指定的I/O任务。 完成任务后,通道与设备一起发出中断请求,请求CPU处理。 * 6.2 I/O软件的组成 I/O软件的基本思想:按分层构建,较低层的软件为较高层的软件服务,使较高层软件独立于硬件,为用户提供统一接口。 * 设备独立性。用户程序中给出的设备名只是一个逻辑设备名,由OS实现逻辑设备与物理设备的映射。这样,无论系统设备如何改变,用户程序不受影响。 设备的统一命名。与设备独立性密切相关。一个设备的逻辑名只应是一个简单的字符串或一个整数,如 PRN,不依赖于具体的设备。 6.2.1 I/O软件的目标 * 出错处理。数据传输中的错误应尽可能地在接近硬件层上处理,可重试多次。仅当低层软件无能为力时,才将错误上交高层处理。 缓冲技术。其目的就是设法使数据的到达率和离去率相匹配,以提高系统的吞吐量。 设备的分配。涉及到共享设备(磁盘)和独占设备(打印机)的分配问题。 * 6.2.2 I/O软件的功能 中断处理程序 设备驱动程序 独立于设备的软件 用户层的I/O接口 I/O软件的分层: 在I/O软件中,大部分软件是与设备无关的。 THANK YOU SUCCESS * * 可编辑 * I/O系统的层次结构 用户层的I/O接口 独立于设备的软件 设备驱动程序 中断处理程序 硬件 I/O请求 I/O完成后 的回答 * 1. 中断处理程序 进程在启动一个I/O操作后阻塞起来,I/O操作完成,控制器产生一个中断。 CPU响应中断,执行中断处理程序。 检查设备状态。 若正常完成,就唤醒等待的进程。然后检查是否还有待处理的I/O请求,若有就启动。 若传输出错,再发启动命令重新传输;或向上层报告“设备错误”的信息。 中断返回被中断的进程,或转进程调度。 * 每个设备驱动程序处理一种类型设备。由一些与设备密切相关的代码组成。提供一些与文件类似的API:open, close, read, write, control等。 是OS中唯一知道设备控制器的配置情况,如设置有多少个寄存器以及这些寄存器作用。 通常包含三部分功能:①设备初始化。②启动设备传输数据的例程。③中断处理例程。 2. 设备驱动程序 * 3. 独立于设备的软件 (1)基本任务:实现所有设备都需要的功能,且向用户提供一个统一的接口。 (2)设备命名。把设备的符号名映射到正确的设备驱动程序。 UNIX,/dev/tty01?i节点?主设备号(用来确定终端设备驱动程序),次设备号(作为参数用来确定要读/写的是哪一台终端)。 * (3)设备保护。将所有的I/O指令作为特权指令。禁止用户对I/O设备直接访问,必须通过系统调用命令进行I/O操作。UNIX的I/O设备作为特别文件用“rw”位进行保护。 (4)提供与设备无关的块尺寸。应向上层软件提供大小统一的块尺寸。上层软件只与抽象设备打交道,使用等长的逻辑块。 * (5)缓冲技术 缓和CPU与I/O设备间速度不匹配的矛盾。 每个缓冲区有一个缓冲控制块。 以空间换取时间 单缓冲:OS为I/O请求分配一个缓冲区。 双缓冲:建立两个缓冲区,可以平滑I/O设备和进程之间的数据流,改善系统效率。 多缓冲和缓冲池:多进程共享缓冲池。 * 高速缓存-Linux 缓冲只保留数据仅有的一个现存拷贝。 有时一块内存区域可以同时用于两个目的。 例如,为了有效调度磁盘I/O,在内存开辟了缓冲区来保留磁盘数据。这些缓冲区也可以用作高速缓存,被多个进程共享。当内核收到I/O请求时,会首先检查高速缓存里是否有。 * (6)负责设备分配和调度 静态分配:进程运行前,将其所需的设备一次全部分配给它。简单,不死锁,但利用率低。 动态分配:在进程运行过程中,分配设备。设备利用率高,但易引起死锁。 * 独占设备:临界资源,如打印机。 共享设备:多个进程可交叉访问。如磁盘。 虚拟设备:是指设备本身是独占设备,而经过虚拟技术处理,可以把它改造成共享设备。 用可共享的高速设备来模拟独占的慢速设备,提高独占设备的利用率。 Spooling技术是实现虚拟设备的一种技术。它利用可共享磁盘的一部分空间,来模拟
您可能关注的文档
最近下载
- 绿巨人学习_坡地建筑设计.pdf VIP
- 基于自适应的改进人工蜂群算法.docx VIP
- 2025-2025南大核心CSSCI目录.docx VIP
- 2025年中国合成生物制造产业发展白皮书.pdf VIP
- 2025年完整版)体育单招语文试题附答案 完整版520.pdf VIP
- 【Jefferies-2025研报】幻灯片:肥胖症相关公司在ADA会议及下半年的布局:安进、诺和诺德等.pdf
- 海南省建设工程项目经理(注册建造师)信用评价标准2025.pdf VIP
- 为旅行社产品定价课件(共21张PPT)《旅行社计调业务》(中国言实出版社).pptx VIP
- 《基于DFT的第一性原理计算方法简介》-姜俊.pdf VIP
- 《中国人民海军》课件.ppt VIP
文档评论(0)