输入输出系统
I/O系统管理的主要对象是I/O设备和相应的设备控制器。其最主要的任务是: 完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率,并能为更高层的进程方便地使用这些设备提供手段。
I/O系统的基本功能 1. 隐藏物理设备的细节 I/O设备的类型非常多,且彼此间在多方面都有差异,诸如它们接收和产生数据的速度,传输方向、粒度、数据的表示形式及可靠性等方面。
2. 与设备的无关性 隐藏物理设备的细节,在早期的OS中就已实现,它可方便用户对设备的使用。与设备的无关性是在较晚时才实现的,这是在隐藏物理设备细节的基础上实现的。
3. 提高处理机和I/O设备的利用率 尽可能地让处理机和I/O设备并行操作,以提高它们的利用率。为此,一方面要求处理机能快速响应用户的I/O请求,使I/O设备尽快地运行起来;另一方面也应尽量减少在每个I/O设备运行时处理机的干预时间。
4. 对I/O设备进行控制 对I/O设备进行控制是驱动程序的功能。目前对I/O设备有四种控制方式: ① 采用轮询的可编程I/O方式; ② 采用中断的可编程I/O方式; ③ 直接存储器访问方式; ④ I/O通道方式。
5. 确保对设备的正确共享 从设备的共享属性上,可将系统中的设备分为如下两类: (1) 独占设备:进程应互斥地访问这类设备,即系统一旦把这类设备分配给了某进程后,便由该进程独占,直至用完释放。典型的独占设备有打印机、磁带机等。系统在对独占设备进行分配时,还应考虑到分配的安全性。 (2) 共享设备:是指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘,当有多个进程需对磁盘执行读、写操作时,可以交叉进行,不会影响到读、写的正确性。
6. 错误处理 大多数的设备都包括了较多的机械和电气部分,运行时容易出现错误和故障。从处理的角度,可将错误分为临时性错误和持久性错误。对于临时性错误,可通过重试操作来纠正,只有在发生了持久性错误时,才需要向上层报告。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】