
分配共享设备不会引起进程死锁。
共享设备是指在一段时间内允许多个进程同时访问的设备。
可寻址是块设备的基本特征。
字符设备:是指数据的存取和传输是以字符为单位的设备,如键盘、打印机等。字符设备的基本特征是传输速率较低,另一特征是不可寻址,即不能指定数据的输入源地址及输出的目标地址。字符设备在输入输出时常采用中断驱动方式。
块设备:是指数据的存取和传输都是以数据块为单位的设备。典型的块设备是磁盘。该设备的基本特征是传输速率较高,另一特征是可寻址,即能指定数据的输入源地址及输出的目标地址。

虚拟:把一个物理实体变为若干个逻辑上的对应物。
虚拟设备:把一个物理设备变换为多个对应的逻辑设备。

DMA方式主要用于块设备。
I/O控制方式有程序直接控制方式、中断驱动方式、DMA方式、通道控制方式。

控制寄存器和状态寄存器分别用于接收上层发来的命令并存放设备状态信号。
每种设备对应的设备控制器都对应一组相应的控制命令,CPU通过控制命令控制设备控制器 。
I/O逻辑:用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令。每当CPU要启动一个设备时,一方面将启动命令发送给控制器,另一方面又同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。
设备映射表总记录了逻辑设备所对应的物理设备,体现了两者的对应关系。

通道是一种特殊的处理器,通道技术属于硬件技术。SPOOLing、缓冲池、内存覆盖都是在内存的基础上通过软件实现的。
DMA控制器设置的寄存器:
命令/状态寄存器CR:用于接收从CPU发来的I/O命令,或有关控制信息,或设备的状态。
内存地址寄存器MAR:在输入时,它存放把数据从设备传送到内存的起始目标地址,在输出时,它存放由内存到设备的内存源地址。
数据寄存器DR:用于暂存从设备到内存,或从内存到设备的数据。
数据计数器DC:存放本次CPU要读或写的字节数。

通道类型:字节多路通道、数组选择通道、数组多路通道。
字节多路通道,它通常含有许多非分配型子通道,其数量可达几十到几百个,每个通道连接一台I/O设备,并控制该设备I/O操作。这些子通道按时间片轮转方式共享主通道。各个通道循环使用主通道,各个通道每次完成其I/O设备的一个字节的交换,然后让出主通道的使用权。这样,只要字节多路通道扫描各个子通道的速率足够快,而连接到子通道上的设备的速率不太高时,便不至于丢失信息。

设备分配时应考虑的因素:
1)设备的固有属性。
设备的固有属性分为三种,对他们应采用不同的分配策略:独占设备的分配策略、共享设备的分配策略、虚拟设备的分配策略。
2)设备分配算法
通常采用两种分配算法:先来先服务、优先级高者优先
3)设备分配中的安全性
保证分配设备时不会导致进程永久阻塞
4)设备的独立性
可以提高设备分配的灵活性和设备的利用率

计算机系统为每台设备确定一个编号以便区分和识别设备,这个确定的编号称为设备的绝对号。

通道控制设备控制器,设备控制器控制设备工作。

通道为特殊的处理器。

键盘是典型的通过中断I/O方式工作的外设,当用户输入信息时,计算机响应中断并通过中断处理程序获得输入信息。
![]()

CPU启动通道时不管启动成功与否,通道都要回答CPU。
通道完成通道程序的执行后,便发I/O中断向CPU报告。

每类设备只需要一个驱动程序。

将系统调用参数翻译成设备操作命令的工作由设备无关的操作系统软件完成。

DMA方式的工作过程:CPU接收到I/O设备的DMA请求时,它给I/O控制器发出一条命令,启动DMA控制器,然后继续其他工作。之后CPU就把控制操作委托给DMA控制器,由该控制器负责处理,DMA控制器直接与存储器进行交互,传送整个数据块。传送完成后,DMA控制器发送一个中断信号给处理器。




(6*50*80*50us)/60s=(300*4000us)/60s=2%
![]()
DMA控制方式与中断控制方式的主要区别如下:
1)中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则在所要求传送的一批数据全部传授结束时中断CPU。
2)中断控制方式的数据传送在中断处理时由CPU控制完成,而DMA控制方式则在DMA控制器的控制下完成。不过,在DMA控制方式中,数据传送的方向、存放数据的内存始址及传送数据的长度等仍由CPU控制。
3)DMA方式以存储器为核心,中断控制方式以CPU为核心。因此DMA方式能与CPU并行工作。
4)DMA方式传输批量的数据,中断控制方式的传输则以字节为单位。