I/O子系统的软件体系结构 ◆设备管理子系统的任务 为用户提供一个统一的、友好的使用界面 负责管理系统中的各种设备 IO控制系统 根据不同设备完成 的实际操作,跟踪 进程 阻塞进程 验证ⅣO请求 记录设备的各种不 调用驱动程序 同状态,并处理该 状态检验 逻辑设备 唤醒调用进程 设备可能出现的各 返回调用进程 种错误 物理设备驱动程序 优化设备的调度, 设备驱动程序 提高设备的利用率 初始化设备 实际硬件 数据传递 返回ⅣO控制系统 设备管理子系统的体系结构
I/O子系统的软件体系结构 设备管理子系统的任务 – 为用户提供一个统一的、友好的使用界面 – 负责管理系统中的各种设备 – 根据不同设备完成 的实际操作,跟踪 记录设备的各种不 同状态,并处理该 设备可能出现的各 种错误 – 优化设备的调度, 提高设备的利用率 设备管理子系统的体系结构 进程 逻辑设备 物理设备驱动程序 实际硬件 设备驱动程序 -------------------- 初始化设备 数据传递 返回I/O控制系统 I/O控制系统 -------------------- 阻塞进程 验证I/O请求 调用驱动程序 状态检验 唤醒调用进程 返回调用进程
I/O子系统的软件体系结构(cnt) ◆设备的独立性(设备无关性) 应用程序独立于具体使用的物理设备。 个程序应独立于它使用的设备 程序要尽可能地与它使用的设备类型无关 优点 方便用户编程 使用程序的运行不受具体的机器环境的限制 如果配备打印机,输入信息送到打印机,否则可将 输出重定向到某个指定文件 便于程序移植
I/O子系统的软件体系结构(cont.) 设备的独立性(设备无关性) – 应用程序独立于具体使用的物理设备。 – 一个程序应独立于它使用的设备 – 程序要尽可能地与它使用的设备类型无关 优点 – 方便用户编程 – 使用程序的运行不受具体的机器环境的限制 – 如果配备打印机,输入信息送到打印机,否则可将 输出重定向到某个指定文件 – 便于程序移植
I/O子系统的软件体系结构(cnt) 设备驱动程序的功能 Windows系统中只要提供设备的驱动程序,操作系 统就会自动把这个设备注册到内核系统中 Linux系统中,很多设备驱动程序已编译到内核中, 其它设备的驱动程序可编译成系统模块的方式,使 用“ inmos将模块动态插入系统内核 设备驱动程序的具体工作 设备驱动程序的特点 是请求MO的进程与设备控制器间的一个通信程序 与O设备的特性紧密相关 与山O控制方式紧密相关 可以用汇编或高级语言开放驱动程序 Win Driver DDK 资源:驱动开发网(www.driverdevelop.con)
I/O子系统的软件体系结构(cont.) 设备驱动程序的功能 – Windows 系统中只要提供设备的驱动程序,操作系 统就会自动把这个设备注册到内核系统中 – Linux系统中,很多设备驱动程序已编译到内核中, 其它设备的驱动程序可编译成系统模块的方式,使 用“inmod”将模块动态插入系统内核 – 设备驱动程序的具体工作 – 设备驱动程序的特点 • 是请求I/O的进程与设备控制器间的一个通信程序 • 与I/O设备的特性紧密相关 • 与I/O控制方式紧密相关 – 可以用汇编或高级语言开放驱动程序 • WinDriver • DDK • 资源:驱动开发网(www.driverdevelop.com)
I/O的控制方式 ◆程序直接控制方式 ◆中断方式 ◆DMA方式 Y通道技术
I/O的控制方式 程序直接控制方式 中断方式 DMA方式 通道技术