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

ch5-5.9windowsio系统和5.8linux设备管理

28页
  • 卖家[上传人]:n****
  • 文档编号:91122908
  • 上传时间:2019-06-23
  • 文档格式:PPT
  • 文档大小:660.50KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、5.8Linux的设备管理,5.8.1 设备管理概述 5.8.2 设备驱动程序 5.8.3 设备I/O的处理,5.8.1 Linux设备管理概述, Linux中,设备当作文件处理,可使用标准文件系统调用来控制设备操作。对于字符设备和块设备,其设备文件用mknod命令创建,用主设备号和次设备号标识,同一设备驱动程序控制的所有设备具有相同的主设备号,并用不同次设备号加以区别; 网络设备也当作设备文件来处理,不同的是这类设备由Linux创建,并由网络控制器初始化; 设备文件与普通文件有着根本不同,当进程访问普通文件时,它会通过文件系统访问磁盘分区中的数据块;当进程访问设备文件时,它只要驱动物理设备就行,VFS负责为应用程序隐蔽设备文件与普通文件之间的差异,可把对设备文件的任一系统调用转换成对设备驱动程序的函数调用。,5.8.2 设备驱动程序,1 驱动程序的注册与注销 2 设备的打开与释放 3 设备的读写操作 4 设备的控制操作和控制方式,5.8.3 设备I/O的处理,1 数据传输和设备驱动 2 块设备请求 3 低级请求处理,5.9Windows 2003I/O系统,5.9.1 I/O系统结构

      2、和组件 5.9.2 I/O系统数据结构 5.9.3 I/O类型和处理 5.9.4 高速缓存管理,5.9.1 I/O系统结构和组件(1),Windows I/O系统是执行体的组件,存在于 NTOSKRNLEXE文件中。 它接受来自用户态和核心态的I/O请求,并以不同形式把它们传送到I/O设备。,I/O系统结构和组件(2),一个典型的I/O请求流程,I/O管理的特点,1) I/O包驱动 2) 通过虚拟文件实现I/O操作,5.9.2I/O系统数据结构,四种数据结构代表了I/O请求: 文件对象、 驱动程序对象、 设备对象、 IO请求包(IRP)。,1、文件对象,文件作为对象来管理,是可以共享的系统资源,被基于对象的安全性所保护,并且它们支持同步。 当调用者打开文件或单一设备时,I/O管理器为文件对象返回句柄。 文件对象由包含访问控制表(ACL)的安全描述体保护。 I/0管理器查看安全子系统来决定文件的ACL是否允许进程去访问它的线程正在请求的文件。,2、驱动程序对象和设备对象(1),线程为文件对象打开句柄时,I/O管理器根据文件对象名称来决定将调用哪个或哪些驱动程序来处理请求。下面的系统对象满

      3、足这些要求: 驱动程序对象,I/O管理器从驱动程序对象中获得并且为I/O记录每个驱动程序的调度例程的地址。 设备对象在系统中代表一个物理的、逻辑的设备并描述它的特征,例如,所需要的缓冲区的对齐方式和用来保存I/O请求包的设备队列位置。,驱动程序对象和设备对象(2),3、I/O请求包 (1),IRP是I/O系统用来存储处理IO请求所需信息的数据结构。 线程调用I/O服务时,I/O管理器就构造一个IRP来表示在整个系统I/O进展中要进行的操作。 I/O管理器在IRP中保存一个指向调用者文件对象的指针。,I/O请求包 (2) IRP由两部分组成,固定部分(标题)和一个或多个堆栈单元。 固定部分包括:请求的类型和大小、同步请求还是异步请求、用于缓冲I/O的指向缓冲区的指针和随着请求的进展而变化的状态信息。 IRP堆栈单元包括一个功能码、功能特定的参数和指向调用者文件对象的指针。,4 驱动程序分类和组成,1) 驱动程序分类: (1)核心模式驱动程序。 (2)用户模式驱动程序。 (3)硬件支持驱动程序。 2)包括调用处理I/O请求不同阶段的例程,主要有:初始化例程、功能例程、启动I/O例程、中断服

      4、务例程、延迟过程调用例程、完成例程、取消例程、卸载例程、系统关闭通知例程和错误记录例程。,5 多处理机中I/O同步问题,多个CPU上运行,驱动程序必须同步执行的主要原因。 驱动程序必须同步执行的方法。,5.9.3 I/O类型和处理(1),1 I/O类型 1) 同步I/O和异步I/O 2) 快速I/O 3) 映射文件I/O和文件高速缓存 4) 分散/集中I/O,I/O类型和处理(2),2 I/O处理步骤(1) Windows核心态设备驱动程序I/O请求包含步骤: I/O库函数经过语言的运行时库转换成对子系统DLL的调用; 子系统DLL调用I/O的系统服务; I/O系统服务调用对象管理程序,检查给定的文件名,再搜索名空间,把控制转交给I/O管理器寻找文件对象; 驱动程序询问安全子系统,确定线程的存取权限。,I/O类型和处理(3),I/O处理步骤(2) I/O管理器以IRP的形式将I/O请求送给设备驱动程序,驱动程序启动I/O操作; 设备完成指定操作,请求I/O中断,设备驱动程序的ISR服务于中断; I/O管理器再调用I/O完成例程,将完成状态返回给调用线程。 上述是同步I/O执行的步骤,对

      5、于异步I/O,还要增加一步,I/O管理器将控制返回调用线程,使得调用线程与I/O操作并行执行。,3 对单层驱动程序的I/O请求处理,4 对多层驱动程序的I/O请求处理,1) 打开一个文件 2) 读文件 3) 写文件,5.9.4高速缓存管理 1高速缓存管理器主要特征,(1)单一集中式系统高速缓存 (2)与主存管理器结合 (3)高速缓存的一致性 (4)虚拟块缓存 (5)基于流的缓存 (6)可恢复文件系统支持,2、高速缓存的结构(1),系统高速缓存管理器基于虚拟空间缓存数据,它管理一块系统虚拟地址空间区域,而不是一块物理主存区域。 高速缓存管理器把每个地址空间区域分成256KB的槽(slot),被称为视图(view)。,高速缓存的结构(2),3高速缓存的操作,(1)回写缓存和延迟写 (2)计算脏页阈值 (3)屏蔽对文件延迟写 (4)强制写缓存到磁盘 (5)刷新被映射的文件 (6)智能预读 (7)虚拟地址预读 (8)带历史信息的异步预读,快速IO,读写被缓存文件可用被称为快速IO的高速机制来处理。快速IO读写一个缓存的文件不要产生IO请求包(1RP)。 有了快速IO机制,IO管理器可以调用文件系统驱动程序的快速IO例程来查看是否能够直接从高速缓存管理器得到所需的数据,而不需产生IRP。,5、高速缓存支持例程,三种基本的访问缓存数据的方法 (1)“拷贝读取”方法,在系统空间中的高速缓存数据缓冲区和用户空间中的进程数据缓冲区之间拷贝用户数据。 (2)“映射暂留”方法,使用虚拟地址直接读写高速缓存的数据缓冲区。 (3)“物理主存访问”方法,使用物理地址直接读写高速缓存的数据缓冲区。,

      《ch5-5.9windowsio系统和5.8linux设备管理》由会员n****分享,可在线阅读,更多相关《ch5-5.9windowsio系统和5.8linux设备管理》请在金锄头文库上搜索。

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