- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统原理与应用
9.5.1 设备处理的任务和方式 设备处理一般要完成以下工作: 根据请求传输的数据量组织I/O缓冲队列; 利用I/O缓冲对数据进行格式处理和编码转换; 构造I/O程序或通道程序; 启动设备进行I/O操作; 处理来自设备或通道的中断请求。 设备处理采用的方式通常有三种: 1) 为每一台设备建立一个设备处理进程,分别处理各自的设备处理工作,同类设备的设备处理进程共享该类设备的设备驱动程序。 2) 为每一类设备建立一个设备处理进程,执行该类设备的设备驱动程序,统一负责该类设备中各个设备的处理工作。 3) 整个系统只设置一个设备处理进程,或输入进程和输出进程各一个,负责所有设备的处理工作。 9.5.2 设备驱动程序 设备驱动程序的任务是接收来自设备无关层的请求,进行与I/O硬件设备相关的操作。 通用的设备驱动程序和专用设备驱动程序。 1.设备驱动程序的处理过程 1) 将对设备控制的抽象要求转换为对设备的具体要求。 2) 检查I/O请求的合理性。 3) 检查设备状态,确保设备处于就绪状态。 4) 传送字节数、数据首址等必要的参数。 5) 设置工作方式。 6) 启动设备,并检查启动是否成功,若成功则将控制返回给I/O控制程序。 2.设备驱动程序的类型 1) 硬件设备驱动程序 通过硬件抽象层来操作硬件,输出到物理设备或网络,或从物理设备或网络接收输入。硬件设备驱动程序有许多类型,如总线驱动程序、人机界面驱动程序、大容量存储器驱动程序等。 2) 文件系统驱动程序 文件系统驱动程序接收面向文件的I/O请求并将其翻译成对特定设备的I/O请求。 3) 文件系统过滤器驱动程序 文件系统过滤器驱动程序完成磁盘镜像和加密,截获I/O请求并在进行必要的处理后再传送给下一层驱动程序。 4) 网络重定向器和服务器 网络重定向器和服务器属于文件系统驱动程序,接收来自网络的文件I/O请求。 5) 协议驱动程序 协议驱动程序实现TCP/IP、NetBEUI和IPX/SPX等网络协议。 6) 内核流式过滤器驱动程序 内核流式过滤器驱动程序串接起来进行数据流信号处理,如录制或播放音频视频。 要想在系统中添加用户编写的内核模式代码,简便的方法是通过编写设备驱动程序来访问操作系统内部函数和数据结构的。 3.设备错误的处理 设备驱动程序的另一工作是处理设备发生的错误。例如,磁盘在运转过程中的常见错误: 程序性的错误(如申请不存在的扇区), 瞬时检查和错误(如磁头上有灰尘), 永久性的检查和错误(磁盘块物理损坏), 寻道错误(如磁头定位不对), 控制器错误(控制器拒绝接受命令)等。 本章小结 本章介绍了设备管理的主要目标,典型的I/O软件结构,SPOOLing、中断和缓冲等设备管理的重要技术。还介绍了I/O控制方式、设备分配程序、设备分配策略和设备处理程序。 操作系统在设计时就对各类中断规定了不同的优先级,而在运行中又可动态设置PSW中的优先级。一个中断,只有其优先级不低于PSW中优先级时,才会被CPU响应。 上述的中断都需要通过硬件来产生中断请求,也称为硬中断。软中断是进程之间用来模拟硬中断的一种信号通信方式。在有些系统中,大部分陷阱是转化为软中断来处理的。 9.2.3 缓冲技术 1.单缓冲和双缓冲 为每个设备配置专用的缓冲区。 为打印机配置了两个缓冲区,两进程交替地使用这两个缓冲区,减少相互之间的等待。 2.环形缓冲 环形缓冲中包含多个大小相等的缓冲区,每个缓冲区中有一个next指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,构成环。需要设置三个指针:链首指针start指向环中的第一个缓冲区,in指向可以输入数据的第一个空缓冲区,out指向可以提取数据的第一个满缓冲区。 相关的操作 初始化 对于输入 对于输出 环形缓冲方法中,对于输入,当out要到达in时,进程从缓冲区提取数据的操作必须等待,当in要到达out时,从设备输入数据的操作也必须等待。对于输出时也有类似的约束。 3.缓冲池 缓冲池由多个大小相等的缓冲区组成,这些缓冲区作为公共资源被共享,既能用于输入,又能用于输出。 系统将缓冲池中空闲的、装有输入数据的和装有输出数据的三类缓冲区分别链成三个队列:后备队列E,输入队列I,输出队列O。每个队列有队首指针和队尾指针,分别是:FE,LE;FI,LI;FO,LO。 对缓冲池中缓冲区的工作: 1) 收容输入。当输入进程要操作时,系统从E的队首摘下一空缓冲区,把它作为收容输入工作缓冲区(hin),将数据输入其中后,再将它挂在I的末尾。 2) 提取输入。当计算进程需要输入数据时,系统从I的队首摘下一缓冲区作为提取输入工作缓冲区(sin),计算进程从中提取完该缓冲区数据后,再将它挂在E的末尾。 3) 收容输出。当计算进程需要输出数据时,系统从E的队首取得一空缓
您可能关注的文档
- 苏州商务期刊第一期f2016.doc-苏州市贸促会.doc
- 自然语言处理与Web知识工程-ICL,PKU-北京大学.ppt
- 芜湖市机打发票统一开票软件应用指南一、新版发票换版工作简介根据.doc
- 苏州大学基础会计学课程试卷(B)卷共6页.doc
- 苏州大学基础会计学课程试卷(T)卷共页.doc
- 苏州市新兴行业名称和经营范围表述及.doc.doc
- 若干会计问题介绍一、费用及其四种支出结算方式(P213-214)狭义.doc
- 苗栗县建功国民小学试办一、二年级学童课後照顾实施计画(草案).doc
- 范本档-楠梓国中.doc
- 范本档-宜昌国中.doc
- 54全国一体化政务服务平台移动端建设指南.docx
- 24个人信息出境标准合同办法 conv.docx
- 2025年济南市职工大学中国近现代史纲要期末考试模拟题必考题.docx
- 2025年江苏护理职业学院中国近现代史纲要期末考试模拟题及答案1套.docx
- 2025年重庆科技学院马克思主义基本原理概论期末考试模拟题必考题.docx
- 2025年黑龙江工商学院思想道德修养与法律基础期末考试模拟题新版.docx
- 2025年长春早期教育职业学院思想道德修养与法律基础期末考试模拟题附答案.docx
- 2025年西安石油大学中国近现代史纲要期末考试模拟题及答案1套.docx
- 2025年电子科技大学成都学院思想道德修养与法律基础期末考试模拟题及答案1套.docx
- 2025年河北大学思想道德修养与法律基础期末考试模拟题必考题.docx
原创力文档


文档评论(0)