ch5-5.2IO软件原理和5.3具有通道的IO管理.pptVIP

  • 9
  • 0
  • 约2.4千字
  • 约 19页
  • 2017-06-04 发布于河南
  • 举报

ch5-5.2IO软件原理和5.3具有通道的IO管理.ppt

ch5-5.2IO软件原理和5.3具有通道的IO管理

5.2 I/O软件原理 5.2.1 I/O软件的设计目标和原则 5.2.2 I/O中断处理程序 5.2.3 设备驱动程序 5.2.4 与硬件无关的操作系统I/O软件 5.2.5 用户空间的I/O软件 5.2.1 I/O软件的设计目标和原则 I/O软件总体设计目标: 高效率。 通用性 。 I/O软件总体设计要考虑的问题: 设备无关性。 出错处理。 支持同步(阻塞)—异步(中断驱动)传输。 缓冲技术。 I/O软件组织成四个层次 ???I/O中断处理程序。 ??设备驱动程序。 ?与设备无关的操作系统I/O软件。 ?用户层I/O软件。 5.2.2 I/O中断处理程序 I/O中断的功能 ?通知用户程序I/O操作正常结束 ?通知用户程序发现的I/O操作异常 ?通知程序外围设备上重要的异步信号 5.2.3 设备驱动程序(1) 设备驱动程序包括与设备相关的代码,其工作是: 把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。 设备驱动程序从与设备无关的软件中接收抽象的I/O请求,一条典型的请求是读第n块。 设备驱动程序(2) 如果请求到来时驱动程序空闲,则立即执行。如果它正在处理另一条请求,它将该请求挂在等待队列中。 设备驱动程序主要功能: 1 )设备初始化, 2 )执行设备驱动例程, 3 )执行中断处理例程。 5.2.4 与硬件无关的操作系统I/O软件(1) 设备无关软件完成的功能: ????? ?对设备驱动程序的统一接口 ????? ?设备命名:设备看作为文件 ????? ?设备保护:访问权限 ????? ?提供独立于设备的逻辑块大小 ????? ?缓冲区管理 ????? ?块设备的存储分配 ????? ?独占性外围设备的分配和释放 ????? ?错误报告 与硬件无关的操作系统I/O软件(2) I/O设备的命名方式同文件名,文件名节点含有主设备号、次设备号。 如何保护对设备的未授权访问 屏蔽不同磁盘扇区大小并向高层软件提供统一大小的逻辑块 块设备和字符设备需要缓冲技术 错误处理多数由驱动程序完成 5.2.5 用户空间的I/O软件 库例程实现的 I/O系统调用: I/O系统调用通常是库例程调用,使用统一格式。 非库例程实现的 I/O系统调用: spooling系统 ,将独占设备转化为虚拟设备使用。 I/O系统各层软件及其功能 5.3 具有通道的I/O系统管理(1) 5.3.1通道命令和通道程序 5.3.2I/O指令和主机I/O程序 5.3.3通道启动和I/O操作过程 具有通道的I/O系统管理(2) 具有通道的计算机系统,I/O程序设计涉及:CPU执行I/O指令,通道执行通道命令,以及CPU和通道之间的通信。 5.3.1 通道命令和通道程序(1) ? 通道命令 通道,具有自己的指令系统,它的指令常称通道命令。 通道命令CCW是通道从主存取出并控制I/O设备执行I/O操作的命令字,用ccw编写的程序称通道程序,通道程序由多条通道命令组成,每次启动可以完成复杂的I/O控制。 通道地址字和通道状态字(1) 通道方式I/O时,要使用两个固定存储单元: ?通道地址字CAW(Channel Address Word) ?通道状态字CSW(Channel Status Word) 。 5.3.2 I/O指令和主机I/O程序(1) IBM系统主机提供一组完成I/O操作的I/O指令。 I/O指令有: 启动I/O(Start I/O,SIO) 查询I/O(Test I/O,TIO) 查询通道(Test Channel,TCH) 停止I/O(Halt I/O,HIO) 停止设备(Halt Device,HDV) 例启动通道:SIO X’00E’ I/O指令和主机I/O程序(2) 执行一次I/O操作的步骤 ?确定I/O任务,了解使用何种设备,属于哪个通道,操作方法如何等。 ?确定算法,决定例外情况处理方法。 ?编写通道程序,完成相应I/O操作。 ?编写主机I/O程序,对不同条件码进行不同处理。 5.3.3 通道启动和I/O操作过程 CPU是主设备,通道是从设备,CPU和设备之间是主从关系,需要相互配合协调才能完成I/O操作。 那么CPU如何通知通道做什么?通道又如何告知CPU其状态和工作情况呢? 通道方式I/O过程三个阶段 l?I/O启动阶段 2?I/O操作阶段 3?I/O结束阶段 * 用户进程 进行I/O调用

文档评论(0)

1亿VIP精品文档

相关文档