文档详情

linux操作系统实用教程 梁广民 第5章 设备管理.ppt

发布:2017-08-16约1.2万字共78页下载文档
文本预览下载声明
第5章 设备管理 5.1 硬件设备 5.2 使用设备 习题 5.1 硬 件 设 备 5.1.1 设备文件 Linux操作系统本身对于如何控制硬盘、软驱、光驱和其他连接到系统的外围设备并无内建的指令。所有用于和外设通信的指令都包含在一个叫做设备驱动程序的文件中。该程序通常是一段汇编语言或C代码,用于和外设传递数据、交流信息。 Linux系统通过设备文件实现对设备和设备驱动程序的跟踪。设备文件主要包括设备权限和设备类型的有关信息,以及两个可供系统内核识别的惟一的设备号。系统在很多情况下,可能有不止一个同种类型的设备,因此Linux可以对所有的设备使用同种驱动程序,但是操作系统又必须能够区分每一个设备。 那么Linux又是通过什么样的方法来区分这些同种类型设备呢?实际上Linux是使用设备号来区分的。每一个设备都有一个主设备号和子设备号。主设备号用来确定使用什么样的驱动程序,子设备号是硬件驱动程序用来区分不同的设备和判断如何进行处理。例如,6个终端都使用相同的设备驱动程序,那么它们的主设备号都是一样的,但是每一个终端都有一个不同的子设备号,可使操作系统惟一的确定它们。 【实例5.1】 从下面的清单可以看出,所有终端设备的驱动程序都有相同的主设备号4,但子设备号是从0~5。 crw-rw-rw- 1 root tty 4, 1 4OA 11 2001 tty0 crw-rw-rw- 1 root tty 4, 2 4OA 11 2001 tty1 crw-rw-rw- 1 root tty 4, 3 4OA 11 2001 tty2 crw-rw-rw- 1 root tty 4, 4 4OA 11 2001 tty3 crw-rw-rw- 1 root tty 4, 5 4OA 11 2001 tty4 crw-rw-rw- 1 root tty 4 ,6 4OA 11 2001 tty5 Linux习惯于把所有的设备文件都置于/dev目录下,其中很大一部分只是带有不同设备号的基本驱动程序的拷贝,但是每一个文件都是相互独立的。 Linux下的驱动程序的命名与其他操作系统下的命名不同,常见的设备名称与驱动程序的对应关系如表5-1所示。 5.1.2 设备分类 计算机上凡是与Linux进行通信的每个硬件都被视为一个设备,它们可以分为两种类型:块设备和字符设备。 终端、打印机和异步调制解调器都属于字符设备,它们的通信方式是使用字符,一次只发送一个并回送一个字符。相反,硬盘驱动器和磁带机则使用块数据通信,这对发送大量信息无疑是一种极为快捷的方法,这样的设备称为块设备。 通常,块设备用于对大批量数据的处理,而字符设备传输数据则比较缓慢。例如,大多数模拟调制解调器是字符设备,而ISDN则属于块设备。在相同的时间里,块设备可以比字符设备传输更多的数据。 有些设备在不同的情况下可分别为字符设备和块设备,例如,一些磁带机就属于这种情况,也就是说这样的主设备有两套设备驱动程序,用户可针对不同的读写要求来选择设备驱动程序。对于大量、快速的数据传送,最好选用块设备;对于某个文件检索或单一目录的备份,字符设备则更为适合。另一种区分块设备和字符设备的方法是看设备如何处理缓冲,字符设备是靠自己实现缓冲,块设备通常以512字节或1024字节(甚至更大)的组块进行通信,它们通过系统内核实现缓冲。对用户来说,这种缓冲则更易察觉。 设备驱动程序和设备文件很详细地标明了设备是字符设备还是块设备。要识别一个设备的类型,只需要查看一下设备文件中的权限位就可以了。如果权限位中的第一个字符是b,则该设备就是块设备;若是c,则说明它是字符设备。如图5-1所示的是我们从/dev目录清单中摘录的一段,用户可以由权限位的第一个字符来判断设备是何种类型。 5.2 使 用 设 备 5.2.1 磁盘 计算机有不同种类的磁盘驱动器,常见的有软盘、IDE硬盘和SCSI硬盘等,下面我们分别来介绍如何使用这些设备。 1. 软盘 软盘是可移动的低容量的存储介质。作为存储设备,它比硬盘要慢得多,但它具有可移动和便于传输数据的优点。相应的软盘的块设备都以字母“fd”开始,/dev/fd0是第一个,其他软盘的编号逐步增大。对于软盘,有许多可能的格
显示全部
相似文档