文档详情

操作系统第八章 输入输出管理.pptx

发布:2017-01-25约字共36页下载文档
文本预览下载声明
第八章 输入/输出管理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与设备的并行操作进一步提高。PBuf1Buf2输入设备 它对于低频度活动的I/O系统是比较有效的。当buf1、buf2均不满时,而进程还要提取数据时,该进程才等待。8.2.3缓冲池(buffer pool) 从主存中分配一组缓冲区组成缓冲池。 为了提高缓冲区的利用率,广泛采用公共缓冲池,池中缓冲区可供多个进程共享。使用缓冲池的主要原因是避免消费者多次访问相同的数据时会重复产生相同数据的问题。系统把各缓冲区按使用情况分成三个队列。(1)空缓冲队列(emq)(2)输入队列(inq):由装满输入数据的 缓冲区所链成的队列 (3)输出队列(outq):由装满输出数据的 缓冲区所链成的
显示全部
相似文档