欢迎来到天天文库
浏览记录
ID:36209650
大小:448.50 KB
页数:47页
时间:2019-05-07
《linux基础教程(清华课件)-第5章设备》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux基础教程(1)操作系统基础清华大学计算机基础教育课程系列教材汤荷美董渊李莉程志锐编著第5章设备5.1设备介绍5.2数据传输5.3I/O软件原理5.4小结习题计算机系统中所有的软硬件都是由操作系统控制和管理的,其中除了CPU和内存之外的几乎所有硬件通常统称为外部设备。操作系统中设备管理的任务是负责控制并操纵所有的设备,实现不同外部设备之间、外部设备和内存以及CPU之间的数据传输,使它们协同工作,在获得最佳效率、提供良好服务的同时,尽可能地提供统一的用户命令和函数调用接口,对用户屏蔽不同设备之间的差异。在Linux等操作系统中,所有的设备统一当作
2、文件来处理,称为设备文件,和其他文件一样,这种文件可以使用处理文件的标准系统调用打开、关闭和读写。操作系统设备管理部分通常也采用分层结构,底层是设备相关部分,直接和相应的设备打交道,负责设备的具体控制,并向上层提供一致的访问接口,通常称为设备驱动程序。上层通常是和设备无关的,这个部分接受来自上层的具体访问请求,并根据实际情况把这些访问请求转向具体的设备驱动程序接口,和设备进行通信,接受驱动程序的执行结果。本章简要介绍设备管理中数据传输控制的基本原理,并以此为基础,学习设备分配概念及设备驱动程序。5.1设备介绍操作系统中用于设备管理的内核代码在整个内核中是
3、数量最多的部分。外部设备给用户提供进行计算机基本操作以及完成各种特定功能的接口,用户需要交给计算机处理的所有数据都必须通过特定的外部设备来传输到内存和CPU。设备可以被简单地看作是由机械部分和电子部分组成。在微机系统中,控制器一般都有自己的控制和状态寄存器,独立于系统的内存空间,所有设备的寄存器组成计算机的输入/输出空间(称为I/O空间),操作系统通过设备驱动程序访问I/O空间,管理设备控制器,由控制器具体操纵设备完成预定的任务。5.1.1设备分类外部设备可以按照不同的标准进行分类。从普通用户的角度,按照设备的使用特性来划分,普通微机的外部设备主要包括存
4、储设备和输入输出设备。从操作系统管理的角度来看,按照设备传输信息的组织形式,外部设备可以划分为字符设备、块设备和网络设备。这也是Linux操作系统进行设备管理过程中的划分方式。Linux系统中,每一个设备对应于一个设备文件,具有独立的设备号。主设备号描述相应的设备驱动程序,从设备号用来区分同一驱动程序控制下的不同设备实例。5.1.2设备实例——磁盘磁盘是计算机系统中最常见的存储设备,IDE磁盘是现在PC上使用最广泛的硬盘类型,每个IDE控制卡支持两个独立的盘(可以是硬盘、光驱等),每个盘在Linux里表现为独立的块设备。操作系统本身以及大量的用户数据都存
5、放在磁盘中,同时,Linux系统还使用一部分磁盘空间作为内存交换空间,实现虚拟内存管理。所有实际的磁盘都由多层盘片组成,磁盘的物理结构示意图参看图5.1。磁盘的扇区个数、磁头个数和柱面个数三个数据称为磁盘的基本几何参数。如果知道每个扇区的具体容量(单位扇区容量),整个磁盘的容量就是这三个几何参数和单位扇区容量的乘积。图5.1磁盘设备结构示意图磁盘数据的读写需要一定的时间,这个时间具体由三个部分组成,一是磁头跨越磁道径向移动到要读写道的时间,一般称为寻道时间;二是要读写磁道等待数据移动到磁头位置的时间,称为旋转延迟时间;三是具体读写数据的时间,称为数据传输
6、时间。在实际的使用过程中,通常把整个磁盘划分为小的管理单元,称为磁盘分区(partition)。在Linux系统中,每一个磁盘分区都可以安装一个独立的文件系统,具有独立的设备号,主设备号对应着磁盘本身,从设备号对应于该磁盘上具体的分区,同时,系统还使用惟一的设备文件来表示磁盘分区,比如设备文件/dev/hda5,hda表示该磁盘的IDE接口上的第1个磁盘(依此类推,hdb、hdc表示该接口上第2、第3个磁盘等等),对应于主设备号,5是它的从设备号。5.2数据传输数据在外部设备与处理机、内存之间的传输控制,是操作系统设备管理的主要功能,从设备到内存和处理机
7、的数据传输称为输入(input),从内存和处理机到设备的传输称为输出(output),因此数据传输也通常称为数据I/O。一般的PC中,CPU、内存通过系统总线连接在一起,总线定义了所有设备之间通信的协议,各种设备都直接或者间接地连接在总线上,设备和处理机以及内存之间的数据传输必须通过总线来实现。数据传输控制要求能够实现数据在外部设备和内存、CPU之间快速、可靠的传送,充分发挥设备资源的能力,同时使用尽可能少的系统开销。5.2.1数据传输控制方式PC机中常用的数据传输控制方式包括程序直接控制、中断和内存直接访问三种。1.程序直接控制程序直接控制方式就是由用
8、户进程来直接控制内存,或者CPU和外部设备之间的数据传输。用户进程是数据传输的控
此文档下载收益归作者所有