电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

chapter7-设备管理

43页
  • 卖家[上传人]:tia****nde
  • 文档编号:67800861
  • 上传时间:2019-01-09
  • 文档格式:PPT
  • 文档大小:579.31KB
  • / 43 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、5、缓冲技术实现的基本思想: 进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。 进程执行读操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程,7.3 缓冲管理(3),5、缓冲技术实现的基本思想(续): 在输出数据时,只有在系统还来不及腾空缓冲区而进程又要写数据时,它才需要等待; 在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待 6、缓冲的实现方式: 采用硬件缓冲器实现; 在内存划出一块区域,专门用来存放临时输入输出的数据,这个区域称为缓冲区,7.3 缓冲管理(4),单缓冲,在设备和处理机之间设置一个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。 特点:缓冲区数只有一个;设备与处理机对缓冲区的操作是串行的。,一块数据的处理时间,在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓

      2、冲区的数据传送到用户区所花时间为M,那么在单缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?,系统对每一块数据的处理时间为:Max(T,C)+M,双缓冲,在设备和处理机之间设置2个缓冲。设备与处理机交换数据时,先把交换的数据写入缓冲区,然后需要数据的设备/处理机再从缓冲区中取走数据。因缓冲区有2个,提高了设备与处理机并行操作的程度,只有当两个均为空时,需数据的进程才等待。 特点:缓冲区数有2个;设备与处理机对缓冲区的操作可并行,提高了设备与处理机并行操作的程度。,一块数据的处理时间,在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间T,CPU对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花时间为M,那么在双缓冲情况下,系统处理大量数据时,一块数据的处理时间为多少?,系统对一块数据的处理时间: MAX(C+M,T),双机通信时缓冲区的设置,循环缓冲,在设备和处理机之间设置多个大小相等的缓冲区,这些缓冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区,最后一个指向第一个缓冲区。,循环缓冲的组成,多个缓冲区: 用于装输入数据的空缓冲区R 已装满数据的缓冲区G 计算

      3、进程正在使用的现行工作缓冲区C 多个指针: 指示输入进程下次可用的空缓冲区R的指针Nexti 指示计算进程下次可用缓冲区G的指针Nextg 指示计算进程正在使用的缓冲区C的指针Current 特点:缓冲区的数量有多个;设备与处理机对缓冲区的操作可并行,进一步提高了设备与处理机并行操作的程度。,循环缓冲,缓冲区的使用 Getbuf过程 Releasebuf过程 进程同步 Nexti指针追赶上Nextg指针输入进程阻塞 Nextg指针追赶上Nexti指针计算进程阻塞,1、缓冲池:将系统内所有的缓冲区统一管理起来,就形成了能用于输入/输出的缓冲池。缓冲池通常由若干大小相同的缓冲区组成,是系统的公用资源,任何进程都可以申请使用缓冲池中的各个缓冲区。 2、缓冲池的组成(数据结构) 三个队列:空缓冲队列emq、装满输入数据队列inq、装满输出数据队列outq 四个工作缓冲区: 收容输入数据的缓冲区hin、提取输入数据的缓冲区sin、收容输出数据的缓冲区hout、提取输出数据的缓冲区sout,缓冲池(1),缓冲池(2),三个队列:空缓冲队列emq、装满输入数据队列inq、装满输出数据队列outq 四

      4、个工作缓冲区: 收容输入数据的缓冲区、提取输入数据的缓冲区、收容输出数据的缓冲区、提取输出数据的缓冲区,3、Getbuf过程和Putbuf过程 Procedure Getbuf(type) begin wait(rs(type); wait(ms(type); B(number):=Takebuf(type); signal(ms(type); end,缓冲池(3),Procedure Putbuf(type) begin wait(ms(type); Addbuf(type,number); signal(ms(type); signal(rs(type); end,注:Takebuf(type)用于从type所指的队列的队首摘下一缓冲区 Addbuf(type,number)用于将由number所指示的缓冲区B挂在type队列上,4、操作系统对缓冲池的管理-工作方式,输入进程需要输入数据时:输入设备 收容输入缓冲区-Getbuf(emq)和Putbuf(inq,hin) 1)从空缓冲队列emq的队首取一空缓冲区用作收容输入缓冲区hin 2)输入设备将数据输入收容输入缓冲区并装满 3

      5、)将此缓冲区挂到装满输入数据队列inq队尾。 计算进程需要输入数据时:提取输入缓冲区 CPU -Getbuf(inq)和Putbuf(emq,sin) 1)从装满输入数据队列inq队首取一满缓冲区用作提取输入缓冲区sin 2)CPU从提取输入缓冲区中取出数据至用完 3)将空缓冲区挂到空缓冲队列emq队尾。,4、操作系统对缓冲池的管理-工作方式,计算进程需要输出数据时:CPU 收容输出缓冲区-Getbuf(emq)和Putbuf(outq,hout) 1)从空缓冲队列emq队首取一空缓冲区用作收容输出缓冲区hout 2)CPU将数据输入其中并装满 3)将收容输出缓冲区挂到装满输出数据队列outq队尾。 输出进程需要输出数据时:提取输出缓冲区 输出设备-Getbuf(outq)和Putbuf(emq,sout) 1)从装满输出数据队列outq队首取一满缓冲区用作提取输出缓冲区sout 2)输出设备从中取出数据至用完 3)将空缓冲区挂到空缓冲队列emq队尾,4、操作系统对缓冲池的管理-工作方式,7.4 I/O 软件,I/O 软件的设计目标和原则 中断处理程序 设备驱动程序 设备独立性软件 用

      6、户层的I/O软件,7.4.1 I/O软件的设计目标和原则,总体设计目标 高效性 确保I/O设备和CPU并行执行,提高资源利用率 通用性 提供简单抽象、清晰统一的接口,采用统一标准的方法,来管理所有的设备和所需的I/O操作 采用层次结构的I/O软件 低层软件 实现与硬件相关的操作,屏蔽硬件的具体细节 高层软件 向用户提供一个简洁、友好、规范的接口,7.4.1 I/O软件的设计目标和原则,I/O软件应达到以下几个目标 与具体设备无关 屏蔽设备的具体细节,向高层提供抽象的逻辑设备,并完成逻辑设备和具体物理设备的映射 统一命名 所有软件都以逻辑名称访问设备,与具体设备无关,7.4.1 I/O软件的设计目标和原则,I/O软件应达到以下几个目标(续) 对错误的处理 尽可能在接近硬件的层面处理错误 缓冲技术 设备的分配和释放 I/O控制方式 合理选择I/O控制方式,例打印机(中断驱动)、磁盘(DMA控制方式),7.4.1 I/O软件的设计目标和原则,层次式结构的I/O软件(四个层次),用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,I/O请求,I/O应答,执行I/O操作,产生I/O请求

      7、、格式 化I/O、Spooling,映射,保护,分块, 缓冲,分配,设置设备寄存器,检 查寄存器状态,当I/O结束时,唤醒驱动程序,7.4.1 I/O软件的设计目标和原则,层次式结构的I/O软件(四个层次)(续) 用户层软件 实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备操作 设备独立性软件 负责实现与设备驱动器的统一接口、设备命名、设备保护以及设备的分配与释放,提供存储空间,7.4.1 I/O软件的设计目标和原则,层次式结构的I/O软件(四个层次)(续) 设备驱动程序 与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序 中断处理程序 用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后返回到被中断进程,7.4.2 中断处理程序(1),中断处理层的主要工作 进行进程上下文的切换 对处理中断信号源进行测试 读取设备状态 修改进程状态 中断处理程序的处理过程 唤醒被阻塞的驱动程序进程 保护被中断进程的CPU环境 分析中断原因,转入相应的设备处理程序 进行中断处理 恢复被中断进程

      8、的现场,7.4.2 中断处理程序(2),7.4.3 设备驱动程序,是I/O进程与设备控制器之间的通信程序,常以进程的形式存在,主要任务 接收上层软件发来的抽象I/O要求 转换为具体要求后,发送给设备控制器,启动设备去执行 将由设备控制器发来的信号传送给上层软件 修改进程状态 设备驱动程序的功能 设备处理方式 设备驱动程序的特点 设备驱动程序的处理过程,设备驱动程序的功能,将接收到的抽象要求转换为具体要求。 检查用户I/O请求的合法性,I/O设备状态,传参数,设置设备的工作方式。 按处理机的I/O请求去启动指定的设备进行I/O操作 及时响应由控制器或通道发来的中断请求,并进行相应处理 按I/O请求构成相应通道程序。,设备处理方式,为每一类设备设置一进程,专门执行其I/O操作。 在整个系统中设置一个进程,执行所有的I/O操作。 不设置专门的设备处理进程,而为各类设备设置相应的设备驱动程序。,设备驱动程序的特点,是请求I/O的进程与设备控制器之间的一个通信程序。 与设备控制器和I/O设备的硬件特性紧密相关 与I/O设备所采用的I/O控制方式紧密相关 与硬件紧密相关,因而其中一部分程序必须用汇

      9、编语言编写。 驱动程序应允许可重入 驱动程序不允许系统调用,但可以允许对某些内核过程的调用,设备驱动程序的的处理过程,将接收到的抽象要求转换为具体要求。 检查用户I/O请求的合法性 读出和检查 I/O设备状态 传送必要参数 设置设备的工作方式。 按处理机的I/O请求去启动指定的设备进行I/O操作,7.4.4 设备独立性软件,设备独立性概念(设备无关性) 设备独立性的实现 逻辑设备(应用程序)和物理设备(执行) 设备分配时的灵活性 易于实现I/O重定向 设备独立性软件 执行所有设备的公有操作 向用户层(文件层)软件提供统一的接口 逻辑设备名到物理设备名映射的实现 逻辑设备表LUT(Logical Unit Table) LUT设置问题 整个系统设置一张LUT ;每个用户设一张LUT,用于单用户系统,用于多用户系统,设备独立性相关概念,设备独立性概念(设备无关性) 为提高OS的可适应性和可扩展性,而将应用程序独立于具体使用的物理设备。 I/O重定向 指用于I/O操作的设备可以更换,即重定向,而不必改变应用程序。 所有设备的公有操作 独立设备的分配与回收;将逻辑设备名映射为物理设备名;对设备进行保护(禁止直接访问);缓冲管理;差错控制。,逻辑设备表LUT(Logical Unit Table),(a),(b),7.4.5 用户层的I/O软件,大部分I/O软件都在操作系统内部,仍有一小部分在用户层 与用户程序链接在一起的库函数 完全运行在内核之外的一些程序(如Spooling系统),用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,I/O请求,I/O应答,执行I/O操作,产生I/O请求、格式 化I/O、Spooling,映射,保护,分块, 缓冲,分配,设置设备寄存器,检 查寄存器状态,I/O系统的层次及功能,I/O操作结束时,唤醒驱动程序,7.5 设备分配,设备分配中的数据结构 设备分配的策略/应考虑的因素 独占设备的分配程序 SPOOLING技术,7.5.1 设备分配中的数据结构,设备控制表DCT (Device Control Table) 控制器控制表COCT (COntroller Control Table) 通道控

      《chapter7-设备管理》由会员tia****nde分享,可在线阅读,更多相关《chapter7-设备管理》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.