设备的控制--设备的寻址与操作
从处理机的角度看,各种外部设备可以看作是由一组设备寄存器组成的。
常见的设备寄存器有:操作方式寄存器、命令寄存器、数据寄存器、状态寄存器等。
为了使CPU能够寻址这些设备寄存器,硬件平台引入了I/O端口的概念。
I/O端口地址的编址方式有两种:
1、将设备寄存器与内存物理单元统一编址。
2、独立于内存物理地址为设备寄存器地址。
设备的控制-----即插即用
即插即用:插上了就可以使用,不需用户进行其他设置。此技术取消了跳线和软件配置程序,当用户插入一个设备,系统来配置相应参数,并安装相应的驱动程序。
1、对已安装硬件的自动和动态识别
2、配合操作系统分配/再分配硬件资源
3、加载相应的驱动程序
I/O控制方式---程序I/O方式
早期系统中,处理机对I/O设备的控制采取程序I/O方式,也称忙等方式。
处理机长时间在循环检测等待,造成CPU的极大浪费。
I/O控制方式--中断I/O方式
中断方式控制I/O的优点在于,设备与处理机并行,提高了处理机的利用率。
I/O控制方式--DMA方式
为了进一步减少处理机对I/O事务的干预,出现了DMA(Direct Memory Access)直接存储器访问方式。
DMA的特点:数据传输的基本单位是数据块;数据直接从设备送入内存,或者直接从内存送入设备。
I/O控制方式---I/O通道方式
通道相当于一个功能单纯的处理机,专门用于处理I/O操作。通道有自己的运控部件和指令系统,但没有专门的内存,而是通过“周期窃用”方式与主机共享内存。
通道通过执行通道程序来完成I/O操作。
4、3 设备分类
根据用途:输入/输出型设备与存储型设备
根据外设传输的基本数据单位不同,可以将设备分为块型设备与字符型设备;
按照资源管理方式不同:独占型设备与共享型设备
4、4 设备分配
分配:设备、控制器和通道
设备控制块UCB:设备标识、设备状态、相连的控制器、重试次数、占有设备的进程、设备等待队列、通路等待队列。
设备无关性:为了实现设备无关性,操作系统要求进程申请设备时,应当指明所需设备的类别(或者逻辑设备名),不能指定某一设备的具体编号。
系统设备表SDT:根据上述实现要求,系统通常将相同类型设备的UCB记录在一张表中,称作UCB表。
将逻辑设备名、设备数、设备等待队列以及UCB表的起始地址登记在另一个表中。该表通常称为系统设备表(SDT)。
设备分配算法
先来先服务
优先级高者优先服务
独占型设备的分配:申请、使用、释放
共享型设备的分配:进程使用共享型设备不需要申请,当然也就不存在占用和释放设备的问题。