操作系统的I/O与设备管理

Posted 静Yu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统的I/O与设备管理相关的知识,希望对你有一定的参考价值。

操作系统的I/O与设备管理
I/O系统管理的主要对象是I/O设备和相应的设备控制器。其最主要的任务是:
⑴完成用户提出的I/O请求;
⑵提高I/O速率,以及提高设备的利用率;
⑶为更高层的进程方便地使用这些设备提供手段。

一、1 I/O设备及其抽象

I/O设备五花八门、种类繁多,操作系统不可能直接面对它们进行管理。在操作系统和I/O设备之间,需要一个中间层来对这些设备进行必要的抽象,以屏蔽I/O设备的硬件细节。

⑴设备与设备控制器

I/O设备一般是由“执行I/O操作的机械部分”和“执行控制I/O的电子部件”组成;
①“执行I/O操作的机械部分”即一般意义上的I/O设备;
②“执行控制I/O的电子部件”即设备控制器或适配器(adapter)。在微型机和小型机中通常做成印刷电路卡形式,可将它插入计算机的扩展槽中。例如网卡、声卡。

⑵处理器对I/O设备的控制方式

⒈使用轮询的可编程I/O方式

⒉使用中断的可编程I/O方式

⒊直接存储器访问方式DMA➡DMA控制器

⒋I/O通道控制方式


二、 操作系统的设备无关性

计算机在使用过程中,更改外围设备配置的情况经常发生。操作系统作为一种系统软件应稳定,当它负责外围设备的管理工作时,不能因为外围设备发生改变而不能使用或必须做某种修改。也就是说,操作系统中负责设备管理的软件应该是与设备无关的。为此应采取以下几个措施:

⑴I/O设备应是可寻址的 —类似于存储器的管理方法

在设备或与设备配套的控制器上设置用来传输数据或存放控制信息的寄存器,并使这些寄存器可用地址来访问,即让I/O设备像存储器一样占据地址空间,由I/O设备形成的地址区域叫做设备地址空间或I/O空间。

⑵使用逻辑设备名

规定用户程序中应使用逻辑设备名来对设备进行标识,而不使用物理设备的实际名称。逻辑设备名供用户层使用,只是一个标识,并不特指某个具体设备。例如:命名一个逻辑名称CON代表所有具有输出属性的设备,那么在系统运行过程中,用户可根据不同的具体情况,将它作为系统打印机,或作为显示终端等。

⑶设备描述表

为了更好地对I/O设备进行操作,通常把从一个实际物理设备抽象出来的各个属性用一个数据结构集中起来进行管理,称为设备描述表(DCT)

三、操作系统对设备的管理

操作系统对设备的管理主要有三项内容 :
缓冲:在有关系的两者之间添加另外一方作为中介,以解决双方之间的某种矛盾;
调度:当有多个进程竞争同一个资源(I/O设备)的服务时,按某种策略来确定这个资源到底是为哪个进程服务;
分配:当有多个资源(I/O设备)竞争为同一个进程服务时,按某种策略确定到底是由哪个资源来为这个进程服务。

⑴缓冲技术

I/O设备的工作速度与处理器不匹配。一般来说,外围设备的工作速度远低于处理器的工作速度。为了提高数据的传输效率和确保安全,通常在内存开辟一个缓冲区,专门用来暂存I/O数据,经常采用的缓冲技术有:单缓冲、双缓冲和多缓冲。

⑵设备的调度

设备是可为进程所使用的共享资源,当多个进程要访问同一个设备时,需要在该设备的等待队列中排队。

⑶设备的分配

当设备资源出现共享竞争时,按照分配策略为申请设备的进程分配设备。分配还应包括对设备的控制器、通道等支持部件的分配,以保证分配的完整性和合理性。

以上是关于操作系统的I/O与设备管理的主要内容,如果未能解决你的问题,请参考以下文章

微机原理与接口编程技术2020 考试大纲知识点总结

微型计算机组成结构

《微型计算机原理与接口技术》期末总复习 —— 一篇匆匆忙忙的复习笔记

汇编学习_1.CPU外部通讯基础

如何在 Windows 中模拟/测试 Java 程序的大型机文件 I/O (JZOS)?

微型计算机原理与接口技术的编程题有哪些?