【Linux操作系统】第5篇设备管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux操作系统
Linux系统通过设备文件实现对设备和设备驱动程序的跟 踪。设备文件主要包括设备权限和设备类型的有关信 息,以及两个可供系统内核识别的惟一的设备号。系 统在很多情况下,可能有不止一个同种类型的设备, 因此Linux可以对所有的设备使用同种驱动程序,但是 操作系统又必须能够区分每一个设备。
Linux操作系统
那么Linux又是通过什么样的方法来区分这些同种类 型设备呢?实际上Linux是使用设备号来区分的。每一 个设备都有一个主设备号和子设备号。主设备号用来 确定使用什么样的驱动程序,子设备号是硬件驱动程 序用来区分不同的设备和判断如何进行处理。例如,6 个终端都使用相同的设备驱动程序,那么它们的主设 备号都是一样的,但是每一个终端都有一个不同的子 设备号,可使操作系统惟一的确定它们。
Linux操作系统
【实例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操作系统
使用软盘的步骤如下: (1) 以超级用户身份登录; (2) 创建一个安装点(如/mnt/floppy)来加载软盘; (3) 放入软盘; (4) 执行如下命令来加载软驱: [root@redflag /root]#mount –t vfat /dev/fd0 /mnt/floppy
Linux操作系统
设备驱动程序和设备文件很详细地标明了设备是字 符设备还是块设备。要识别一个设备的类型,只需要 查看一下设备文件中的权限位就可以了。如果权限位 中的第一个字符是b,则该设备就是块设备;若是c, 则说明它是字符设备。如图5-1所示的是我们从/dev目 录清单中摘录的一段,用户可以由权限位的第一个字 符来判断设备是何种类型。
图5-1 /dev目录清单
Linux操作系统
5.2ຫໍສະໝຸດ Baidu使 用 设 备
5.2.1 磁盘 计算机有不同种类的磁盘驱动器,常见的有软盘、
IDE硬盘和SCSI硬盘等,下面我们分别来介绍如何使 用这些设备。
Linux操作系统
1. 软盘 软盘是可移动的低容量的存储介质。作为存储设备, 它比硬盘要慢得多,但它具有可移动和便于传输数据 的 优 点 。 相 应 的 软 盘 的 块 设 备 都 以 字 母 “ fd” 开 始 , /dev/fd0是第一个,其他软盘的编号逐步增大。对于软 盘,有许多可能的格式,内核需要知道磁盘的格式才 能够正确地读取它。目前计算机使用的软盘基本都是 1.44 MB的。
Linux操作系统
Linux习惯于把所有的设备文件都置于/dev目录下, 其中很大一部分只是带有不同设备号的基本驱动程序 的拷贝,但是每一个文件都是相互独立的。
Linux下的驱动程序的命名与其他操作系统下的命名 不同,常见的设备名称与驱动程序的对应关系如表5-1 所示。
Linux操作系统
表5-1 Linux下常见设备及对应的驱动程序命名
设备 第一软驱(A:) 第二软驱(B:) IDE1的第一个硬盘(master) IDE1的第二个硬盘(slave) IDE2的第一个硬盘(master) SCSI的第一个硬盘 SCSI的第二个硬盘 光驱CD-ROM 打印机
命名 /dev/fd0 /dev/fd1 /dev/hda /dev/hdb /dev/hdc /dev/sda /dev/sdb /dev/cdrom /dev/lp0
Linux操作系统
通常,块设备用于对大批量数据的处理,而字符设备传 输数据则比较缓慢。例如,大多数模拟调制解调器是 字符设备,而ISDN则属于块设备。在相同的时间里, 块设备可以比字符设备传输更多的数据。
Linux操作系统
有些设备在不同的情况下可分别为字符设备和块 设备,例如,一些磁带机就属于这种情况,也就是说 这样的主设备有两套设备驱动程序,用户可针对不同 的读写要求来选择设备驱动程序。对于大量、快速的 数据传送,最好选用块设备;对于某个文件检索或单 一目录的备份,字符设备则更为适合。另一种区分块 设备和字符设备的方法是看设备如何处理缓冲,字符 设备是靠自己实现缓冲,块设备通常以512字节或1024 字节(甚至更大)的组块进行通信,它们通过系统内核实 现缓冲。对用户来说,这种缓冲则更易察觉。
Linux操作系统
5.1.2 设备分类 计算机上凡是与Linux进行通信的每个硬件都被视为
一个设备,它们可以分为两种类型:块设备和字符设 备。
终端、打印机和异步调制解调器都属于字符设备, 它们的通信方式是使用字符,一次只发送一个并回送 一个字符。相反,硬盘驱动器和磁带机则使用块数据 通信,这对发送大量信息无疑是一种极为快捷的方法, 这样的设备称为块设备。
Linux操作系统
crw------- 1 root root 14, 20 4OA 11 2001 audio1 crw------- 1 root root 14, 7 4OA 11 2001 audioctl brw-rw---- 1 root disk 29, 0 4OA 11 2001 aztcd brw-rw---- 1 root disk 41, 0 4OA 11 2001 bpcd
Linux操作系统
第5章 设备管理
5.1 硬件设备 5.2 使用设备 习题
Linux操作系统
5.1 硬 件 设 备
5.1.1 设备文件 Linux操作系统本身对于如何控制硬盘、软驱、光
驱和其他连接到系统的外围设备并无内建的指令。所 有用于和外设通信的指令都包含在一个叫做设备驱动 程序的文件中。该程序通常是一段汇编语言或C代码, 用于和外设传递数据、交流信息。