linux设备管理汇总
linux操作系统 华软软件学院电子系
P9
IO设备的物理特性
►I/O设备物理特征
输入输出设备的物理特征 输入输出设备都是以字符为I/O传输的基本单位
每传送一个字符就发生一次I/O中断
存储型设备的物理特征 I/O传输必须以完整的块为基本单位
设备每传送完一块发生一次中断
linux操作系统
华软软件学院电子系
华软软件学院电子系
P19
linux操作系统
通道结构
中央处理机 内存
字节多路通道
选择通道
数组多路通道
卡片 输入机 卡片 输入机
linux操作系统
打印机
磁盘
磁带 华软软件学院电子系
P20
设备分配
系统设备表SDT:每个系统设备占一表目 设备控制表UCB:每个设备一张 控制器控制表CUCB:每个控制器一张 通道控制表CCB:每个通道一张 ►按一定算法进行设备分配,包括设备、设 备控制器及通道 ►确保
P10
磁盘的物理特性
扇区
硬 盘
柱面
磁臂
linux操作系统
磁头 华软软件学院电子系
P11
►时钟
n 时钟也是一种外部设备,时钟既不是字符设备,也不是块 设备 n 可编程时钟有如下操作模式: u 单触发模式 u 方波模式
►终端
n 存储映像终端:包括显示器和输入键盘,该类终端直接和 主机相连 n RS-232终端:通过一次传输一位的串行口与计算机通信 n X终端:连接在以太网中和主机进行通信
linux操作系统 华软软件学院电子系
P12
外设与主机的I/O控制方式
►循环I/O测试方式
n 用户程序直接控制I/O操作,测试指令测试一台 设备的忙/闲标志,决定主存与外设之间是否要传 输,直到该标志为“闲”时,才能继续执行下面 的I/O操作指令
►程序中断I/O方式
n 用户进程通过CPU发出指令启动外设,仅当I/O 操作正常或异常结束时,I/O控制器向CPU发出 中断信号,CPU进行中断处理。
linux操作系统
华软软件学院电子系
P18
处理过程
1) 当进程要求设备输入数据时,CPU执行Start指令 指明I/O操作、通道程序地址、设备号和对应的通 道。 2) 对应通道接收到CPU发来的启动指令之后开始工 作,把存放在内存中的通道指令程序读出并执行, 并设置对应设备的I/O控制其中的控制状态寄存器, 是设备开始工作。 3) 设备准备好数据,由通道把数据送往通道指令指 定的内存区域。 4) 若数据传送结束,通道通过中断请求线发中断信 号请求CPU做中断处理。
教学内容
►设备管理
n I/O设备的硬件结构 n 外设与主机的I/O控制方式
n 通道技术 n 设备的分配与释放 n 设备驱动 n 缓冲技术 n 虚拟设备来自n I/O系统的软件组织
linux操作系统 华软软件学院电子系
P1
教学要求
►了解设备的分类及通道、缓冲技术 ►理解设备的分配与释放及虚拟设备 ►掌握外设与主机信息交换的IO控制方式
P16
控制器
►屏蔽访问设备的具体的时序; ►CPU操作控制器,提供命令和数据给控制器 ,由控制器操纵IO设备 ►现有的大多数控制器由以下三部分组成:
n 控制器与CPU接口:用于实现控制器与CPU之间 的通信,该接口有三类信号线分别为数据线、地 址线、控制线 n 设备控制器与设备接口:一个控制器可以连接一 台或多台设备,相应有一个或多个接口,每个接 口连接一台设备 n I/O逻辑:用于对I/O进行控制
等待进程队列 …
控制器控制表CUCB 控制器标识 控制忙/闲标记 CCB指针 控制器等待队列首 控制器等待队列尾 … linux操作系统
…
华软软件学院电子系
P22
UCB数据结构
► Struct devtab { ► int dvid; //设备标识 ► int dvadd; //设备地址 ► int *dvec; //中断向量 ► int *dvbuf; //缓冲区指针 ► int *dvque; //等待队列 ► int (*dvinit)(); //初始化 ► int (*dvopen)(); //打开 int (*dvclose)(); //设备关闭 int (*dvread) (); //设备读 int (*dvwrite) (); //设备写 int (*dvseek) (); //设备查询 int (*dvcntl) (); //设备控制 int (*dvgetc) (); //取字符 int (*dvputc) (); //送字符 }dct[ ];
linux操作系统 华软软件学院电子系
P24
设备分配方式
►静态分配:在进程分创建时分配,在 进程退出时释放;
u优缺点:不会出现死锁;
u
设备利用率不高;
►动态分配:在进程执行过程中根据需 要分配,使用结束后释放;
u优缺点:需要考虑死锁问题 u
linux操作系统
有利于提高设备利用率
华软软件学院电子系
P25
linux操作系统 华软软件学院电子系
P14
外设与主机的I/O控制方式
►通道方式
n 通道是一个独立于CPU的专管输入输出控制的处 理机,它控制设备与内存直接进行数据交换。 n 通道有自己的通道指令,由通道指令构成通道程 序。由CPU启动通道工作,通道通过执行通道程 序控制数据传输,并在操作结束时向CPU发中断 信号,由CPU进行传输结束中断处理通道。
linux操作系统 华软软件学院电子系
P17
通道类型
► 选择通道(selector channel):可以连接多个外设,而一 次只能访问其中一个外设,执行一道通道程序(单道工作 方式)。以块为单位传送数据,速度快,适合高速外部设 备。如:磁盘,磁带。 ► 字节多路(byte multiplexor channel)通道 :以字节为单 位传送数据,多个外设分时轮流使用通道(分时系统工作 方式)。适合连接低速字符设备。 ► 数组多路(block multiplexor channel)通道:以块为单位 传送数据,可以并发访问多个外设,分时执行多道通道程 序。适合连接中高速外部设备。如:磁盘,磁带。
华软软件学院电子系
P28
linux操作系统
缓冲类别
用户进程 操作系统
输入 (a) I/O设备
用户进程 (b)
用户进程
操作系统
输入 I/O设备
操作系统 输入 I/O设备
(c)
(a)单缓冲 ;(b)双缓冲; (c)循环缓冲
linux操作系统 华软软件学院电子系
P29
虚拟设备
虚拟设备的思想是,独占型设备与内存进程之间加入共享型设备 作为过渡
linux操作系统 华软软件学院电子系
P27
缓冲类别
►单缓冲(single buffer):设一个缓冲区,CPU和 外设轮流使用, 一方处理完之后接着等待对方处 理。 ►双缓冲(double buffer):设两个缓冲区,CPU和 外设都可以连续处理而无需等待对方。要求CPU 和外设的速度相近。 ►多缓冲(multiply buffer):多个缓冲区,CPU和 外设的处理速度可以相差较大。如用于输入或输 出的环形缓冲区。(一般是专用) ►缓冲池(buffer pool):由多个缓冲区构成,既 可用于输入也可用于输出,多个进程共享,可用 于多种设备。(通用,利用率高)
输入ls –l /dev查看设备列表,以c或b开头的是什么设备?
linux操作系统
华软软件学院电子系
P8
设备的分类
按资源分配的角度分类
► 独占设备:指在一段时间内只允许一个用户(进程)访问的 设备,大多数低速的I/O设备,如用户终端、打印机等属于这 类设备。因为独占设备属于临界资源,所以多个并发进程必 须互斥地进行访问。 ► 共享设备:指在一段时间内允许多个进程同时访问的设备。 显然,共享设备必须是可寻址的和可随机访问的设备。典型 的共享设备是磁盘。共享设备不仅可以获得良好的设备利用 率,而且是实现文件系统和数据库系统的物质基础。 ► 虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供 多个用户(进程)共享的逻辑设备。一般可以利用假脱机技 术(SPOOLing技术)实现虚拟设备。
linux操作系统
华软软件学院电子系
P2
操作系统整体结构
linux操作系统
华软软件学院电子系
P3
linux操作系统
华软软件学院电子系
P4
linux操作系统
华软软件学院电子系
P5
设备管理
►设备管理概述
n 设备管理是计算机中实现对外部设备进行管理、 数据传输控制的模块(除CPU和内存) n 是系统资源管理中最复杂、最多样化的部分 n 设备管理实现并行操作,以实现其高利用率 u 与CPU并行 u 与其他设备并行 n 设备管理基于硬件提供的通道、设备物理性能, 实现多任务、多进程共享外部设备 n 大部分外部设备属于临界资源,具备互斥特性
linux操作系统
华软软件学院电子系
P15
CPU与IO设备的连接
SCSI总线 监控器 处理机 缓存 图形控制器 存储控制器 内存
磁 盘 磁 盘
SCSI控制器
PCI总线 IDE磁盘控制器
磁 盘 磁 盘
扩展总线内部接口 扩展总线 串口
键盘
并口
linux操作系统
图5.1 典型的PC总线结构
华软软件学院电子系
n “有” ——用户能得到设备使用权。 n “安全”——用户使用设备是安全的。
linux操作系统 华软软件学院电子系
P21
设备分配的数据结构
SDT 表目1 … 表目i … UCB 设备控制表 设备类型 设备标识 获得设备的进程 UCB指针 … 设备类型 设备标识 设备忙/闲标记 CUCB指针 控制器等待队列首 控制器等待队列尾 … CCB 通道控制表 通道标识 通道忙/闲标记 通道等待队列首 … 通道等待队列尾