分享

「老B讲堂」计算机基础之谁都离不开的I/O设备

 youxd 2017-04-08

Hello大家好,欢迎来到【老B讲堂】,我是老B。不知道大家还记不记得,老B曾经在【老B讲堂】的第一篇,“处理器的起源及工作原理”一文中提过,冯·诺依曼博士提出了EDVAC:存储程序通用电子计算机方案,当中冯·诺依曼博士将通用电子计算机划分成了五个组件:控制器、运算器、存储器、输入设备、输出设备。前面的【老B讲堂】中我们已经了解过了控制器、运算器和存储器部分,今天我们所要谈的,正是计算机五大组件中的最后两个组件:输入、输出设备(I/O 设备)。

在“总线篇”中,老B曾经提过,总线按照链接的设备不同,可以划分成前端总线(连接CPU和RAM控制器)和后端总线(连接CPU和外部硬件设备Cache),I/O总线就是链接I/O设备和CPU的数据通道。

而I/O设备,就是人与计算机之间进行交流的唯一途径,如果没有了I/O设备,计算机也就无法与外界进行信息交换,其存在的意义也就没有了。日常生活中我们每天都在接触I/O设备,无论是进行输入和操作的键盘鼠标,亦或是打印机、显示器这类的输出设备,都属于I/O设备。只不过其中一部分设备只能算是输入设备,另外一部分则只能算是输出设备,只有存储器才能算是真正意义上的I/O设备。

现代计算机系统中配置了大量的外围设备,即I/O设备。依据它们的工作方式的不同,通常进行如下分类:

(1)字符设备(character device),又叫做人机交互设备。用户通过这些设备实现与计算机系统的通信。它们大多是以字符为单位发送和接受数据的,数据通信的速度比较慢。例如,键盘和显示器为一体的字符终端、打印机、扫描仪、包括鼠标等,还有早期的卡片和纸带输入和输出机。含有显卡的图形显示器的速度相对较快,可以用来进行图像处理中的复杂图形的显示。

(2)块设备(block device),又叫外部存储器,用户通过这些设备实现程序和数据的长期保存。与字符设备相比,它们是以块为单位进行传输的,如磁盘、磁带和光盘等。块的常见尺寸为512~32768B之间。

(3)网络通信设备。这类设备主要有网卡、调制解调器等,主要用于与远程设备的通信。这类设备的传输速度比字符设备高,但比外部存储器低。这种分类的方法并不完备,有些设备并没有包括。例如,时钟既不是按块访问,也不是按字符访问,它所做的是按照预先规定好的时间间隔产生中断。但是这种分类足以使操作系统构造出处理I/O设备的软件,使它们独立于具体的设备。

I/O设备本身并不是一个不可分割的整体,而是由不同的部件构成。一般来说,一个I/O设备至少可以分为两部分:机械部分和电子部分。机械部分是设备的物理硬件部分,而电子部分则是设备的控制器。控制器可以处理多个设备,或者说多个同类的设备可以共用一个控制器,如下图所示:

对于不同的设备控制器,进行的操作控制也是不同的。所以需要专门的软件对他进行控制。这个软件的作用就是用来专门和设备控制器对话,这种软件称为驱动程序。一般来说驱动程序由硬件设别厂商提供。所以我们有时会碰到一些设备因为没有安装驱动程序而无法使用的情况。目前的OS总都包含了大量的通用驱动程序,使得我们在安装完系统后不需要在额外的安装驱动。但是通用的驱动只能使用设备的基本功能,需要使用设备所有功能,还是需要使用对应设备专门开发的驱动程序。

驱动程序因为是非操作系统厂商开发,并且需要被安装到操作系统并调用,所以需要有一个统一的模型来开发驱动程序。否则操作系统是无法操作各式各样的设备的。前面我们知道设备非为两大类,所以一般操作系统都定义了这两类设备的标准接口。


在这一期中老B简单的给大家介绍了一下I/O设备及其相关的一些概念,在下一期中,老B将会稍微深入一些讲解I/O设备的工作流程及与CPU间的通讯过程。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多