操作系统原理(四)

来源:互联网 发布:网络直播英语怎么说 编辑:程序博客网 时间:2024/05/02 02:53

博主qq 656358805,欢迎线上交流!


我们知道操作系统是管理计算机硬件和软件资源的、直接运行在裸机上的计算机系统软件。它是用户和计算机的接口,这点不仅体现在对资源的分配,也体现在设备的调用上,那么今天就讲讲操作系统中的IO设备管理。

那么先看看什么是IO呢?别说这是数字10,IO指IO接口和IO设备,从软件的角度看,IO是字节流的获取和输出,而硬件上IO是电路的交换。

IO的操作需要设备,如打印机、键盘...这里iowa设备分有几种:字符设备、块设备、网络设备。

字符设备:以字符为单位传输的设备,注意这里单位不一定是字节,因为字符不都是一个字节。在计算机中,字符设备以特别文件的方式存在,当一个硬件连入计算机后,必须创建这个硬件的特别文件才可使用,当然具体的控制还需要io接口和驱动程序。

块设备:拥有固定信息存储大小的设备,如磁盘。

网络设备:链接到网络中的物理实体,访问时需要格式化报文交换。


IO的控制方式有多种,下面我们来讨论一下。

1、查询方式:CPU不断检测io设备的空闲标志位,如果空闲则交换一个字节,否则处于等待状态,显然这种控制方式蠢得一批,因为cpu运算速率高,io则低,这种控制方式中cpu大多 出于等待状态,极大地降低cpu利用率,cpu不断检测的原因是它没有中断机构,得不到一个io设备返回的值来中断操作。

2、中断驱动控制方式:cpu对外设发出命令后便去执行其他程序,此时io开始操作数据,等到数据到达寄存器时,控制器发出中断给cpu,让其执行io作业,cpu再回来继续执行。这种方式相比查询方式具备了一定的并行性,提高了cpu利用率,然而多次的中断太消耗cpu的时间。

3、直接存储器控制方式(DMA):控制器控制数据块与外设的数据交换,再由cpu操作数据,比起上一种方式,这种方式让cpu并行的时间大大增长,也大大降低了cpu干预io的时间。不过注意,DMA控制数据块交换需要额外寄存器的配置,此外该方式线路简单适用于小型计算机。

4、通道控制技术:该技术是发展DMA控制技术,控制器控制的不仅是数据块的数据交换,还有相关的控制管理单位,cpu只要向通道发送一条指令(包括要执行的通道程序首地址和使用的设备),通道接收指令后执行相应通道程序则可完成io任务,这种方式很好地实现了cpu、通道、io设备并行。


那么说io的控制方式的时候,遇到了一个问题,就是cpu和io设备的执行速度相差甚多而且设备与计算机的容量不同,所以为了解决这个问题,我们下面要提到缓冲技术。

计算机将内存的好多部分用作缓冲区,每一个缓冲区指定一个额设备,cpu将数据写入各个缓冲区后,设备则可用自己的速度读取数据,cpu与设备的并行,缓冲技术几种:单缓冲、双缓冲、循环缓冲。

单缓冲:外设与用户用同一个缓冲区,用户申请缓冲区写入数据后,直到缓冲区满,外设再读取缓冲区。

双缓冲:外设和用户使用不同的两个缓冲区,用户不断写入数据,外设不断读入数据,仅当两个缓冲区都为空时,而且还需要数据读出时才会等待。

循环缓冲:含指针索引。




原创粉丝点击