- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第八章输入输出管理汇编
第八章 输入/输出管理
I/O管理是OS中最庞杂、琐碎的部分。系统配置的外设种类繁多,功能各异,特性和操作方法完全不同,如:
速度
传送单位
顺序访问或随机访问
出错条件等
I/O设备的分类
按操作特性分类
存储设备:存储信息的设备
I/O设备:向CPU输入信息和输出经加工处理的信息
I/O设备的分类
2. 按信息交换单位分类(如UNIX系统采用)
字符设备:信息传送的单位是字节
块设备:信息传送的单位是块,如512B整数倍/块
I/O设备的分类
3. 按共享属性分类
独占设备:在一段时间内只允许一个进程访问的设备。如打印机
共享设备:在一段时间内只允许多个进程访问的设备。如磁盘
虚拟设备:通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户使用,通常将经过虚拟技术处理后的设备称为虚拟设备。如虚拟打印机
二、I/O设备管理的功能
目标:方便用户的使用,提高设备利用率
1、状态跟踪 :由设备控制块(DCB)动态记录设备状态的变化及有关信息。
2、设备存取与分配
按照设备类型和相应的分配算法,决定将I/O设备分配给哪一个要求该设备的进程。
静态分配:作业进入系统时就进行分配,退出系统时就收回全部资源。
动态分配:进程需要使用某设备而提出申请时进行分配,使用完毕后立即将其收回。
3、设备控制
将用户的I/O请求转换为设备能识别的I/O指令,并实施设备驱动和中断处理工作。主要由设备驱动程序完成。
4、实现其它功能
缓冲区的管理
实现设备独立性
8.1.3设备独立性
是指用户在编制程序时所使用的设备与实际使用的设备无关,也就是用户程序中仅使用逻辑设备名。
例如:UNIX系统中,每一类物理设备都有一个设备文件与之对应,在/dev目录下。当使用某一设备时,只需使用与之对应的设备文件名即可。
……
fd1=open(“/dev/lp”,O_WRONLY);
fd1:返回的文件描述符
/dev/lp:打印机对应的设备文件名
O_WRONLY:只写方式
……
number=write(fd1,buf,count); //向打印机打印count个字符
number:返回打印的实际字节数
buf:字符串指针
count:传送的字节数
设备独立性的优点:
屏蔽了设备的物理特性,方便用户使用
改善了资源的利用率
提高了系统的可扩展性和可适应性。
8.1.4设备控制块
是记录设备的硬件特性、链接和使用情况等信息的数据结构,当设备装入系统时,DCB被创建,基本内容有:
设备名
设备属性:描述设备现行状态的一组属性,如①传输速度;②工作方式:如全双工或半双工③校验方式:如奇偶校验、CRC校验等④延迟时间等。
8.1.4设备控制块
3. 指向命令转换表的指针
每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。
P220 设备开关表
相当于一个二维矩阵,每一行含有同一主设备号的设备驱动程序入口地址;每一列是不同类设备的同一驱动程序的入口地址。
主设备号:每类设备给一个编号
次设备号:同一类设备的若干设备进行编号
主设备号
次设备号
8.1.4设备控制块
4. 在I/O总线上的设备地址 每个设备都有地址,可以采用统一编址,也可以采用单独编址
5. 设备状态:如设备控制器或通道,忙或空闲
6. 当前用户进程指针:当前正在使用该设备的进程
7. I/O请求队列指针:指向因请求设备而未得到满足的进程队列
8.2 缓冲技术
8.2.1缓冲概述
缓冲区:在内存中划出一块存储区,专门用来临时存放I/O数据。
在OS中引入缓冲的主要原因
缓和CPU和I/O设备间速度不匹配的矛盾;
减少对CPU的中断频率,放宽对中断响应时间的限制。
例如:假设每传送1bit便中断1次,如果增加一个8位的寄存器,当传输1B时才中断1次,否则需要中断8次。
③ 提高CPU和I/O设备的并行性。
缓冲技术分为:
单缓冲
双缓冲
环形缓冲
缓冲池
8.2.2 双缓冲
在这种方案下,为输入或输出分配两个缓冲区。
例:在输入时,输入设备首先填满buf1,进程P从buf1提取数据,进程P计算的同时,输入设备填充buf2.当buf1空、buf2满时,进程P又可以从buf2提取数据,然后计算的同时,输入设备又可以填充buf1。这两个缓冲区如此交替使用,使CPU与设备的并行操作进一步提高。
它对于低频度活动的I/O系统是比较有效的。当buf1、buf2均不满时,而进程还要提取数据时,该进程才等待。
Buf1
Buf2
输入设备
P
8.2.3缓冲池(buffer pool)
从主存中分配一组缓冲区组成缓冲池。
为了提高缓冲区的利用率,
您可能关注的文档
- 持续审计的现状以及其研究结论汇编.doc
- 持续期缺口管理模型及其应用举例汇编.pptx
- 拼车网设计文档汇编.doc
- 持续集成的应用汇编.pptx
- 柱下条形基础计算方法与步骤选编.doc
- 柱质量缺陷处理方案选编.doc
- 按揭贷款玄机:额度紧张门槛抬高中介借机渔利汇编.pptx
- 挑战高中物理压轴题汇编.doc
- 急诊脑外伤术中顽固性低血压综述.ppt
- 按比例分配汇编.doc
- 《概率论》第1章 概率论的基本概念-教学课件(非AI生成).ppt
- 《概率论》第4章 随机变量的数字特征-教学课件(非AI生成) (2).ppt
- 2023年忠县公务员考试行测真题及答案详解(历年真题).docx
- 2023年呼伦贝尔市公务员考试行测真题附答案详解(名师推荐).docx
- 2023年塔城地区公务员考试行测真题及答案详解1套.docx
- 2023年宜昌市公务员考试行测真题附答案详解(黄金题型).docx
- 2023年奉节县公务员考试行测真题附答案详解(黄金题型).docx
- 2023年广州市公务员考试行测真题附答案详解.docx
- 2023年大庆市公务员考试行测真题及一套完整答案详解.docx
- 2023年益阳市公务员考试行测真题完整答案详解.docx
文档评论(0)