65511I-O设备的概念和分类
# 5.1_1_I-O设备的概念和分类
从这个小节开始,我们会开始学习这门课的最后一个章节设备管理,通过之前的学习,我们知道操作系统它作为系统资源的管理者,既需要对上层的软件进行管理,也需要对下层的硬件进行管理。 在之前的学习当中我们学习了操作系统,它需要对处理机还有存储器这些硬件进行管理,但是这些硬件其实是在计算机的主机内部的,这个章节我们要探讨的,所谓的设备管理其实指的是操作系统,对计算机主机外部的那些硬件设备的一个管理。
# 什么是I/O设备
在正式开始本章之前,我们首先要了解一下IO设备的基本概念和分类。
首先来看一下什么是I/O设备, I/O设备又可以称为外部设备,所谓的I/O其实指的就是输入和输出,I代表的是input,O代表的是output,因此I/O设备的作用就和它的名字一样,它无非就是用来把数据输入到计算机当中的一种设备,或者是一种可以接收计算机输出数据的一种外部设备,像平时我们很熟悉的鼠标和键盘就是一种很典型的输入型设备,
比如说像键盘这种外部设备,可以把一个的字符数据输入到计算机当中,像显示器它又是一种很典型的输出型的设备,显示器可以接收计算机主机输出的那些数据,那些图像的数据,并且把那些图像显示出来。像移动硬盘,还有大家很熟悉的U盘,就是属于既可以输入又可以输出的设备,可以把移动硬盘当中存储的数据输入到计算机当中,也可以把计算机当中的数据输出到移动硬盘当中进行存储。
所以其实输入的过程无非就是把这个设备准备好的数据读入计算机当中,而输出的过程无非就是把计算机当中准备好的数据,把它写出到这个输出设备上,
因此UNIX系统会把这些外部设备把它抽象为一种特殊的文件,这样的话用户就可以用读文件或者写文件的方式来对这些外部设备进行操作。像write操作其实就是向外部设备写出数据,也就是一个数据输出的过程,而read操作就是从外部设备中读入数据,也就是一个输入的过程。
因此在之后的讲解当中,大家也会经常看到对一个设备进行write操作和read操作,它们所对应的其实就是数据输出和数据输入的过程。
# I/O设备的分类
那么接下来我们来看一下I/O设备有哪些分类,如果按使用特性来分的话,I/O设备可以分为这样的三种类型,
第一种叫做人机交互类的外部设备,像平时我们经常用于和计算机进行交互的这些鼠标键盘打印机等等这些设备,就属于人机交互型的外设,这些设备一般来说数据的传输速度会比较慢,数据的传输都是以字节或者几十字节为单位的。
第二种叫做存储设备,这也是大家很熟悉的,像移动硬盘还有光盘这些存储设备就是用于存放数据的,像这种存储设备一般来说数据的传输速度会比较快。
第三种叫做网络通信设备,像大家平时熟悉的猫,还有路由器,这些就属于网络通信设备,这种设备的数据传输速度一般来说是介于这二者之间,会比人机交互类的更快一些,又会比存储类的设备要更慢一些,这是按使用特性来分类
如果按照传输速率来分类的话,又可以把l设备分为低速、中速和高速这样三种。低速设备就是像什么鼠标键盘这样的设备,因为我们每敲击一次键盘,其实只是往计算机当中输入了一个字符,所以这种设备和计算机进行数据交换的速度是很慢的,一般来说每秒几个到几百个字节,
中速设备的话一般来说传输速率是每秒钟数千至上万个字节,比如说激光打印机,
而高速设备的话就是每秒数千个字节,甚至还要更快。像平时咱们使用的移动硬盘
其实高中低速并没有一个很明确的这种界限划分,所以这个知识点大家也不需要特别的记忆,能有一个印象了解就可以了,基本不可能作为考点进行考察。
第三种分类方式就是按照信息交换的单位进行分类,分为块设备和字符设备,像平时咱们使用的移动硬盘磁盘等等,这些就属于块设备。它的数据传输的基本单位是一块一块进行的,经过上个章节的学习,大家对块的概念应该也已经有了很明确的了解。这种设备的特点是传输速率会比较高,并且可寻址。所谓可寻址就是指这种设备可以随机的读写任意的一块,
像字符设备的话,就是类似于鼠标键盘这种数据的传输基本单位是字符或者字节,所以这种类型的设备传输速度一般会比较慢,并且不可寻址,在输入输出的时候,一般来说会采用中断驱动的方式,中断的概念咱们在第一章也有比较详细的介绍,在下个小节中我们还会继续介绍什么叫中断驱动方式
# 小结
那么这个小节的内容并不多,我们理解了什么是I/O设备,所有的I其实就是input,o指的就是output,也就是输入和输出。
那么之后我们又介绍了l/O设备,按照不同的分类方式可以分为哪几种类型,像前面的这两种分类方式,其实并不会有很明确的那种划分的界限。两所以这两种分类方式其实一般来说也不太可能进行考察。
因此大家需要重点关注的是第三种分类方式,也就是按信息交换的单位分类,分为块设备和字符设备,大家需要注意它们之间的区别。这两类设备最本质的区别是这种设备与计算机进行数据交换的时候,这种数据交换的基本单位一个是快,一个是字符。
除此之外大家还需要结合上一章的内容,理解块设备是可寻址的,而字符设备是不可选址的这样的两个特性,那字符设备通常会采用中断驱动的这种I/O控制方式,这也是我们下个小节会详细介绍的内容。