一、I/O设备和接口
- I/O设备:包括输入设备和输出设备。输入设备如键盘、鼠标、扫描仪等,用于将外部信息输入到计算机系统中;输出设备如显示器、打印机、音响等,用于将计算机处理后的信息输出到外部环境中。
- 输入输出接口:是连接计算机系统与输入输出设备之间的桥梁,负责数据的传输和转换。通过接口,计算机系统能够识别和控制I/O设备,实现数据的输入和输出。
二、I/O控制方式
计算机系统处理I/O操作的方式主要有以下几种:
- 程序直接控制方式:CPU需要对外设状态进行循环检查,直到确定数据已经准备好。这种方式下,CPU的绝大部分时间处于等待I/O设备完成数据的循环测试中,造成了CPU资源的极大浪费。
- 中断驱动方式:允许I/O设备主动打断CPU的运行并请求服务。当I/O设备完成数据准备后,会向CPU发出一个中断信号,CPU会在每个指令周期的末尾检查中断。这种方式下,CPU和I/O设备可以并行工作,提高了CPU的利用率。但每个字在I/O设备与内存之间的传输都需要经过CPU,频繁的中断处理会消耗较多的CPU时间。
- DMA(直接存储器存取)方式:在I/O设备和内存之间开辟直接的数据交换通路,数据的传送单位是“块”。这种方式下,数据可以直接从设备放入内存或从内存直接到设备,不需要CPU中转。仅在传送一个或多个数据块的开始和结束时才需要CPU干预。DMA方式进一步降低了CPU的介入频率,提高了数据传输效率和CPU、I/O设备的并行性。但CPU每发出一条I/O指令,只能读写一个或多个连续的数据块。
- 通道控制方式:通道是一种硬件,可以识别并执行一系列通道指令。与CPU相比,通道的指令类型单一且没有自己的内存。通道与CPU共享内存,并执行内存中的通道程序来处理I/O操作。这种方式下,CPU只需向通道发出I/O指令并指明要操作的I/O设备和通道程序在内存中的位置,之后CPU就可以切换到其他进程执行。通道执行完规定的任务后,会向CPU发出中断信号。通道控制方式进一步提高了I/O处理的效率和并行性。
三、I/O软件层次结构
整个I/O系统可以视为具有多个层次的系统结构,包括用户层I/O软件、设备独立性软件、设备驱动程序和中断处理程序等。
- 用户层I/O软件:实现了与用户交互的接口,用户可直接使用该层提供的与I/O操作相关的库函数对设备进行操作。它将用户请求翻译成格式化的I/O请求,并通过“系统调用”请求操作系统内核的服务。
- 设备独立性软件:用于实现用户程序与设备驱动器的统一接口,包括设备命令、设备保护及设备分配与释放等。它还提供必要的存储空间来支持设备管理和数据传送。设备独立性软件通过“逻辑设备表LUT”来确定逻辑设备对应的物理设备,并找到该设备对应的设备驱动程序。
- 设备驱动程序:与硬件直接相关,负责具体实现系统对设备发出的操作指令。驱动程序一般会以一个独立进程的方式存在,将上层发出的一系列指令特化成特定设备能够理解和执行的一系列操作。
- 中断处理程序:负责进行中断处理,保护被中断进程的CPU环境,并恢复被中断进程的现场。
四、I/O核心子系统提供的服务
I/O核心子系统提供的服务主要有I/O调度、缓冲与高速缓存、设备分配与回收、假脱机(SPOOLing)技术、设备保护和差错处理等。
- I/O调度:用某种算法确定一个好的顺序来处理各个I/O请求。
- 缓冲与高速缓存:在设备和处理机之间设置一个缓冲区或高速缓存,以提高数据传输效率和系统性能。例如,磁盘高速缓存可以存储从磁盘读取的数据,以减少对磁盘的访问次数;缓冲区则可以临时存储输入或输出的数据,以平滑数据传输过程中的波动。
- 设备分配与回收:负责设备的分配和回收工作,确保设备能够被合理地利用和管理。设备分配策略可能包括先来先服务、优先级驱动等。
- 假脱机(SPOOLing)技术:是一种虚拟设备技术,它将独占式的设备“虚拟”成共享设备。例如,使用SPOOLing技术可以将独占式的打印机“虚拟”成共享打印机,从而允许多个用户同时打印文件而不会相互干扰。
- 设备保护和差错处理:确保设备在操作过程中不会受到损坏,并在出现差错时能够及时进行处理和恢复。
综上所述,计算机系统处理I/O操作是一个涉及多个层次和组件的复杂过程。通过合理的I/O控制方式、软件层次结构和核心子系统服务,计算机系统能够高效地处理各种I/O操作,满足用户的需求。
2927

被折叠的 条评论
为什么被折叠?



