8输入输出管理.ppt
文本预览下载声明
第八章 输入输出管理 (一) I/O管理的基本概念 (二) 缓冲技术 (三) 设备分配技术 (四) I/O控制 (五)Linux的设备驱动 (一) I/O管理的基本概念 一. 计算机外部设备 计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。 1. 存储设备: 用来存放各种信息的设备称为存储设备。以块为单位存储信息,又称为块设备。 2. I/O设备: 用来向计算机输入和输出信息的设备。以字符为单位传输信息,又称为字符设备。 ; 3. 通信设备: 负责计算机之间的信息传输。 3. 计算机外部设备的特征: (1)速度差异大 (2)传输单位不同 (3)容许的操作种类不同 (4)出错条件不同 4. 设备管理的目标 二. I/O管理功能 1.状态跟踪 设备控制块是存放设备管理和控制信息的数据结构,动态的记录各种设备的状态。 2.制订设备分配策略 决定设备分配策略,以确定谁、何时使用设备,使用多长时间。 3.设备分配与回收 作业级——静态分配 进程级——动态分配 4.设备控制 实施设备驱动和中断处理的工作。设备控制包括设备的驱动、完成和故障中断处理。 三. 设备独立性 1. 设备独立性的概念 (1)逻辑设备名 逻辑设备名是用户自己定义的设备名(或设备号)。它是暂时的,可更改的。 (2)物理设备名 物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。 (3)设备独立性 设备独立性是指用户在编程序时所使用的设备与实际设备无关。也就是在用户程序中可使用逻辑设备名。 2. 两类设备独立性 (1)一个程序应独立于分配给它的某种类型的具体设备 即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。 (2)程序要尽可能地与它使用的设备类型无关 即在用户程序中只要指出要输入或输出信息,至于信息I/O使用的设备不需用户指明。 3. 设备独立性的优点 方便用户编程 提高系统资源的利用率 使用程序运行不受具体的机器环境的限制。 提高系统的可扩展性和可适应性 四. 设备控制块 1. 什么是设备控制块(DCB) 设备控制块是设备管理的数据结构,用来存放设备的硬件特性、连接和使用情况,每类设备有一个设备控制块。 2. 设备控制块的内容 设备名:设备的系统名,即设备的物理名。 设备属性:描述设备现行状态的一组属性。 命令转换表:转换表包含该设备的I/O例程的地址。 (二) 缓冲技术 一. 缓冲的概念 1. 为什么要使用缓冲 2. 什么是缓冲 缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。 3. 缓冲的实现 (1)缓冲器 用来暂时存放数据的一种硬件存储装置,容量较小,存取速度快。 (2)软件缓冲区 I/O操作期间,用来临时存放I/O数据的一块主存区域。 二. 常用的缓冲技术 1. 双缓冲 系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。 用于低频度活动号I/O 2. 环形缓冲 在系统中设置若干个缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。 3. 缓冲池 系统设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。 UNIX系统中,设置了一个15个缓冲区组成的缓冲池. (三)设备分配一. 分配原则 1. 静态分配和动态分配 静态分配 当一个作业(或进程)运行时,系统如果能满足作业要求的设备,则将其要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。 这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。 动态分配 在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。 这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。 2.设备分配算法 先来先服务算法 优先级高者优先 3. 设备分配的安全性 对于共享设备,不论采用静态分配还是采用动态分配都不会出现死锁 对于独占设备,采用动态分配有可能造成死锁 独享分配、共享分配、虚拟分配 设备分配的主要技术:独享、共享、虚拟技术 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等) 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如磁盘、网卡) 虚拟设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备。 目
显示全部