设备文件的配置Word文档下载推荐.docx
《设备文件的配置Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《设备文件的配置Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
/dev/tty0p1
在这个例子中,echo命令的标准输出被设备文件重新定向到一个终端。
7.2用ll列出设备文件
设备文件一般在/dev下,可以用ll命令列出这些文件。
注意,ll列出的设备文件与普通文件略有不同。
设备文件类型
用ll列出设备文件的输出中,第一个字符标明了设备的类型。
⏹字符设备文件 第一个字符位置的“c”确定了一个字符设备文件。
字符设备文件向设备每次传送一个字符。
终端、打印机、扫描仪、调制解调器和磁带驱动器等设备一般通过字符设备访问。
字符设备文件通常被称为“raw”设备文件。
⏹块设备文件 第一个字符位置的“b”确定了一个块设备文件。
当通过块设备文件访问设备时,系统通过内存中的缓冲区读写数据,而不是直接将数据传送到物理硬盘。
这可以极大提高硬盘和CD-ROM的I/O。
块设备文件通常被称做“block”设备文件。
终端、调制解调器、打印机、扫描仪和磁带驱动器通常只有字符设备文件。
对于硬盘和CD-ROM,既可通过字符方式也可通过块方式访问,所以一般具有两种设备文件。
一些应用程序喜欢直接通过字符设备访问硬盘,另一些程序需要块设备文件。
阅读这些应用程序的文档以确定需要哪种设备文件。
设备文件主号
每个设备文件有一个主号,显示在ll输出的第五字段中。
主号标明了访问设备时需要用到的内核驱动程序。
内核驱动程序是HP-UX内核中控制某种类型设备I/O的一部分代码。
大部分HP-UX机器有很多驱动程序,设备文件的主号指明了应该使用哪个驱动程序。
lsdev命令列出了内核中配置的驱动程序和它们对应的主号。
设备文件次号
每个设备文件有一个相关的次号,次号是一个24位的16进制数,它表示:
⏹设备在系统上的物理位置。
⏹与设备有关的访问选项。
例如,磁带驱动器具有允许/禁止硬件压缩和在写入时定
义密度格式等特殊的访问选项。
随着设备类型的不同,次号的表示方式也不同。
要查找更多有关产生、解释主号和次号的信息,请查阅“配置HP-UX外设”手册。
设备文件名
设备文件名遵循标准命名规则,所以很容易辨别设备文件与设备的对应关系,以后将讨论命名规则的细节。
7.3用ioscan列出设备文件
虽然ll命令能列出系统上的设备文件,但它并不显示每个设备文件对应的设备。
ioscan-fun命令提供了一个方便的机制来判断设备文件与系统上哪一个硬件地址相连。
在每个硬件路径下,ioscan-fun列出了与该硬件路径有关的设备文件。
由于有些设备具有多种访问方式,因此ioscan能列出一个设备下的多个设备文件。
例子:
#ioscan-fun #列出所有设备和与它们相关的设备文件名
#ioscan-funCdisk #只列出硬盘类设备和与它们相关的设备文件名
#ioscan-funCtape #只列出磁带类设备和与它们相关的设备文件名
#ioscan-funH2/0/1.6.0 #只列出在2/0/1.6.0中的设备文件
7.4用lssf列出设备文件
有些设备有多个相关的设备文件。
例如,前面显示的磁带设备有8个设备文件。
因为许多设备能被多种访问方式组合访问。
每个组合的访问方式都需要一个独立的设备文件。
ioscan列出了每个设备的设备文件,但没有指出每个设备文件能提供的与设备有关的操作。
lssf命令是一种能准确判断每种设备文件提供何种功能的工具。
lssf能告诉你:
⏹设备文件使用哪种驱动程序。
⏹设备的硬件地址信息。
⏹所有被设备文件使用的与设备有关的访问方式。
问题
我们已经学习了三种查看设备文件的命令:
ll、lssf和ioscan,每个命令都有各自不同的作用。
判断哪个命令将适用于下列情况:
1.可用哪个命令列出硬件地址为2/0/1.0.0的磁带驱动器的设备文件?
2.可用什么命令列出所有的硬盘设备文件?
3.可用什么命令判断/dev/rmt/c0t0d0BEST访问的设备的硬件路径?
4.什么命令能告诉你被/dev/rmt/c0t0d0BESTnb设备文件使用的与设备有关的选项?
7.5/dev目录介绍
下面几幅幻灯片将介绍分配设备文件名时系统使用的命名规则。
理解命名规则能使你更容易地选择和使用系统上的设备文件。
在大多数HP-UX系统上,所有设备文件存放在/dev目录中。
一些设备文件直接在/dev下,而另一些分类存放在/dev下的子目录里。
下面列出了一些/dev下重要的设备文件目录:
⏹/dev 包含所有终端、调制解调器、网络和打印机设备文件。
⏹/dev/dsk 包含所有块硬盘设备文件。
⏹/dev/rdsk包含所有字符硬盘设备文件。
⏹/dev/rmt 包含所有磁带设备文件。
7.6设备文件命名规则
一般情况下,HP-UX遵循标准命名规则命名系统的设备文件。
虽然可以随意命名设备文件,但使用遵循命名规则的名字可以方便地定位设备文件。
大部分设备文件名遵循本幻灯片的命名规则。
下面的注释将解释设备文件名的各个组件。
接口卡实例号
内核自动给系统上的每个设备和接口卡分配一个实例号。
实例号显示在ioscan-f输出的I字段。
在硬盘、磁带或CD-ROM的设备文件名中的“c”表示与设备相连的接口卡的实例号。
下面ioscan显示的硬盘都有以“c0”开始的设备文件,因为SCSI接口卡的实例号是“0”。
注意每个设备都有一个实例号。
单个设备的实例号被操作系统内部使用,但没有被用在设备文件名中。
#ioscan-fun
ClassIH/WPathDriverS/WStateH/WTypeDescription
ext_bus08/12c720CLAIMEDINTERFACEGSCFast/WideSCSI
disk08/12.2.0sdiskCLAIMEDDEVICESEAGATEST32171W
disk18/12.3.0sdiskCLAIMEDDEVICESEAGATEST32171W
disk28/12.4.0sdiskCLAIMEDDEVICESEAGATEST32171W
disk38/12.5.0sdiskCLAIMEDDEVICESEAGATEST32171W
disk48/12.6.0sdiskCLAIMEDDEVICESEAGATEST32171W
SCSI目标地址
设备文件名中的“t#”表示与设备文件相关设备的SCSI目标地址。
SCSI目标地址是通过设备上的跳线开关或DIP开关设置的。
通过SCSI设备中硬件地址的第2位到最后一位数字来确定SCSI目标地址。
例如,在上面的ioscan输出中,硬盘8/12.3.0的SCSI目标地址为“3”。
硬盘8/12.6.0的SCSI目标地址为“6”。
SCSI逻辑单元号
逻辑单元号(LUN)可以用来标识磁带库或硬盘阵列的逻辑单元。
对大多数SCSI设备来说,LUN号为“0”。
每个SCSI设备的LUN号是设备硬件路径的最后一个数字。
注意上例中的所有硬盘的LUN号为“0”。
与设备有关的访问选项
设备文件名的最后部分列出了设备文件支持的与设备有关的访问选项。
磁带设备在这部分设备文件名中可能有多种选项。
访问选项随设备不同而不同。
考虑下面的ioscan输出:
disk08/12.5.0sdiskCLAIMEDDEVICESEAGATEST32171W
disk18/12.6.0sdiskCLAIMEDDEVICESEAGATEST32171W
ext_bus18/16/5c720CLAIMEDINTERFACEBuilt-inSCSI
disk28/16/5.3.0sdiskCLAIMEDDEVICESEAGATEST32171W
1.硬盘8/12.5.0的接口卡实例号是多少?
2.硬盘8/12.5.0的目标地址是什么?
3.硬盘8/16/5.3.0的接口卡实例号是多少?
4.硬盘8/16/5.3.0的目标地址是多少?
7.7 硬盘设备文件名
每个硬盘和CD-ROM有两个设备文件:
⏹在/dev/dsk里的块设备文件;
⏹在/dev/rdsk里的字符设备文件。
在这两个目录里的设备文件遵循前面提到的命名规则。
例子
本幻灯片中的硬盘A和B的设备文件为:
⏹/dev/dsk/c0t6d0硬盘A的块设备文件
⏹/dev/dsk/c0t5d0硬盘B的块设备文件
⏹/dev/rdsk/c0t6d0硬盘A的字符设备文件
⏹/dev/rdsk/c0t5d0硬盘B的字符设备文件
1.在幻灯片中标号为“C”的硬盘的设备文件名是什么?
2.在幻灯片中标号为“D”的CD-ROM的设备文件名是什么?
下面几幅幻灯片将介绍系统分配设备文件名时系统使用的命名规则。
理解命名规则使你能更容易地选择和使用系统上的设备文件。
7.8 磁带设备文件名
磁带设备文件存储在/dev/rmt目录中,遵循c#t#d#[option]命名规则。
与硬盘和CD-ROM不同,磁带驱动器在设备文件名的[option]部分经常支持各种访问选项。
这些选项包括:
⏹density 向磁带写入数据的密度或格式。
这个字段由表7-1确定。
表7-1
BEST
使用最高容量的密度或格式,如果设备支持数据压缩,则可以使用压缩
NOMOD
维护以前写到磁带的数据密度,对这个参数的使用依赖于磁带设备。
这个选项只支持在DDS和8MM驱动器上使用
DDSn
选择一种DDS格式,如DDS1、DDS2
D[#]
用数字值确定密度,放在SCSI模式选择块描述符里
⏹C[#] 用压缩模式在支持数据压缩的磁带驱动器上写数据。
如果包含数字,则用它描述与驱动器相关的压缩算法。
注意,当密度字段被设为BEST时也提供压缩。
⏹n 关闭时不回卷。
除非使用这种模式,磁带在关闭时会自动回卷。
⏹b 定义Berkeley类型磁带性能。
当没有b时,磁带遵循AT&
T类型的性能。
详细信息在下面描述。
⏹w 写操作在数据写入磁带后才返回。
默认的状态(缓冲模式或立即报告模式)要求磁带设备缓存数据并立刻成功返回。
对当前的每个磁带设备,系统初始化时自动创建8个设备文件。
其中4个设备文件使用标准命名规则。
这4个文件包含密度说明“BEST”。
由于“n”和“b”的不同组合产生了这4个文件。
下面是磁带A的一些设备文件:
⏹/dev/rmt/c0t0d0BEST 采用的最高密度和压缩选项。
⏹/dev/rmt/c0t0d0BESTn 与上面相同,但使用“不回卷”特性。
⏹/dev/rmt/c0t0d0DDS1 使用DDS1密度与旧的驱动器兼容。
9.X兼容性
在HP-UX10.x以前,设备文件遵循完全不同的命名规则:
⏹/dev/rmt/0m 系统上的第一个磁带驱动器。
⏹/dev/rmt/1m 系统上的第二个磁带驱动器。
⏹/dev/rmt/2m 系统上的第三个磁带驱动器。
⏹/dev/rmt/2mn 系统上的第三个磁带驱动器,使用“不回卷”选项。
每个设备文件包含一个随机的数值将磁带驱动器与其他磁带驱动器区别开,字母“m”,然后是前面介绍的一些访问选项。
为了向后兼容,以前格式的设备文件还继续存在。
它们被简单地链接到/dev/rmt/c0t0d0BEST[OPTION]设备文件。
1.使用什么设备文件能用最高密度和压缩功能访问幻灯片中的磁带“B”?
2.使用什么设备文件能用最高密度、压缩和自动回卷功能访问幻灯片中的磁带“B”?
7.9终端和调制解调器设备文件名
终端和调制解调器的设备文件与硬盘、CD-ROM和磁带驱动器的命名规则略有不同。
⏹终端和调制解调器没有专用的目录,它们的设备文件直接放在/dev目录。
⏹终端和调制解调器不遵循c#t#d#命名规则。
终端设备文件
终端设备文件名标明了终端联接的接口卡和MUX端口号。
如果终端联接在串口上,而不是MUX面板上,则在设备文件名里使用端口#0。
⏹/dev/tty0p7 在第一个MUX,端口为7上的终端设备文件。
⏹/dev/tty1p7 在第二个MUX,端口为7上的终端设备文件。
调制解调器设备文件
完整功能的调制解调器需要三个设备文件。
在第一个MUX,端口4的调制解调器设备文件为:
⏹/dev/cua0p4
⏹/dev/cul0p4
⏹/dev/ttyd0p4
在第二个MUX,端口4的调制解调器设备文件为:
⏹/dev/cua1p4
⏹/dev/cul1p4
⏹/dev/ttyd1p4
伪终端
伪终端为应用提供终端仿真功能,如hpterm、xterm、telnet等。
伪终端驱动程序支持称为伪终端的成对设备。
一个伪终端由一对字符设备组成,即主设备和从设备。
⏹slave /dev/ttyxx,它们链接到/dev/pty目录中的文件/dev/pty/ttyxx。
⏹master /dev/ptyxx,它们链接到/dev/ptym目录中的文件/dev/ptym/ptyxx。
⏹stream-basedpseudoslave /dev/pts/n,被终端仿真dtterm使用。
⏹stream-basedpseudomaster /dev/ptymx,被终端仿真dtterm使用。
默认创建每种类型各60个伪终端。
为了增加这个数值,必须重新配置内核参数并运行insf创建设备文件。
7.10怎样创建设备文件
大多数情况下你不需要创建设备文件。
当第一次安装HP-UX操作系统时,系统在硬件检测时用insf命令为所有发现的设备创建设备文件。
每次启动系统时,insf都为联接到系统的新设备创建设备文件。
所以,使用的大部分设备文件会在启动时被创建。
在某些特殊情况下需要手工创建和修改设备文件。
推荐使用SAM创建设备文件,用手工命令创建设备文件时需要小心谨慎。
7.11自动配置
什么是自动配置
启动系统时,内核执行几个系统初始化任务,包括检测各种安装在系统上的硬件。
在检测硬件时,内核识别所有可以被自动配置的设备——总线、通道适配器、设备适配器和外接设备等。
内核把相关的驱动绑定在指定硬件地址检测到的设备上。
这只能在可以自动配置的设备上实现。
完成包括硬件检测等系统初始化任务后,内核执行init命令。
init进程读取/etc/inittab文件并激活文件中列出的几个系统启动命令,包括/sbin/ioinitrc。
/sbin/ioinitrc命令通常用于启动ioinit。
首先,ioinit读取/etc/ioconfig文件的内容并将在那里找到的设备对照信息转换成内核数据结构io_tree。
然后,ioinit执行insf。
insf将为新设备创建设备文件,它也会修改/etc/ioconfig文件和内核树结构。
所有HP-UX10.20支持的HP外设都会被自动配置。
重新启动系统时,设备或I/O卡的设备文件将被自动创建。
7.12用SAM创建设备文件注释
为了在SAM中创建设备文件,从SAM功能区中选择PeripheralDevices。
选择需要创建的文件类型,如果为已经存在的设备创建附加设备文件,则在用Action菜单添加设备前,首先选择这个设备。
7.13用mksf创建设备文件
如果系统已经发现了某个设备,则可以用mksf命令创建设备文件。
mksf的语法选项有:
⏹-d 通过驱动程序名称选择某个设备。
⏹-I 选择设备实例号。
⏹-C 与指定分类匹配的设备,如硬盘。
⏹-H 与指定硬件路径匹配的设备。
⏹-D 覆盖默认设备安装目录和目录中安装的指定文件。
注意这个目录必须存在。
⏹其他驱动选项 依赖于驱动器名。
⏹指定文件名 选择一个替代文件名(默认:
命名规则)。
选择的文件名必须是绝对
文件名。
相对路径名将被用来在/dev目录下创建文件和子目录。
为已经存在的设备创建自定义的设备文件前,可以用ioscan查找板卡的实例号。
每个驱动的选项差别很大,对某个设备驱动有意义的选项可能对另一个毫无意义。
使用这个命令时,使用man查看解释。
#mksf-dtape2-I0-bDDS1
为实例0的磁带驱动器创建字符设备文件/dev/rmt/c0t0d0DDS1。
这个设备文件将写非压缩格式的磁带。
如果把磁带拿到另一个没有支持硬件压缩磁带驱动器的机器上,则这个选项比较有用。
crw-rw-rw-1rootother2120x000400Feb2214:
591hn
#mksf-dmux2-I0-p5-c-i-a2
在第一个MUX的5号端口用CCITT(欧洲)协议创建一个拨入终端的设备文件。
创建的设备名为/dev/cua0p5。
#mksf-Cprinter-I2/dev/printer
创建设备文件/dev/printer,并映射到实例号为2的行式打印机。
7.14用insf创建设备文件
如果设备还没有被指定,可以用insf命令创建设备文件,并为设备获得一个实例号。
insf的语法选项有:
⏹-d 通过设备驱动程序名选择特殊的设备。
⏹-I 选择板卡实例。
⏹-e 为已经存在的设备创建或重建设备文件。
-d、-H和-C选项用以指定驱动程序、设备类型或硬件路径地址来选择设备,用lsdev命令确定内核(/stand/vmunix)中的驱动和类别,用ioscan命令列出内核中的硬件路径。
除非用-e选项明确要求重新创建设备文件,否则insf不会为已经存在的设备创建设备文件。
这在设备文件被意外删除时可能会有用处。
#insf-e-Cprinter
可以为你系统上的所有设备创建设备文件,也可以为某一设备类型(驱动名称)或这个类型设备中的一个设备创建设备文件。
不能用insf指定特殊的设备选项。
如果有一些设备需要特殊选项,则要在运行insf后运行mksf。
⏹为tty类型的所有设备创建设备文件,使用:
insf-Ctty
⏹为在地址4.2.0的设备创建设备文件,使用:
insf-H4.2.0-e
⏹创建100个伪终端,使用:
insf-e-n100-dptym
7.15实验:
设备文件
指导
第一部分:
查看并解释设备文件
1.用ioscan查找所有硬盘类设备文件名。
2.用ioscan查找系统上局域网卡的设备文件名。
3.应有一个局域网卡设备文件为/dev/lan0,执行命令列出这个设备文件的特性。
哪个内核驱动与这个设备文件相关?
哪个硬件路径与这个设备文件相关?
4.lssf怎样知道内核驱动与设备文件的对应相关?
5.在/dev/dsk目录下选择一个硬盘设备文件,执行命令列出这个设备文件的特性。
6.(可选)如果系统上有一个磁带驱动器,执行lssf/dev/rmt/*。
哪个设备文件用“不回卷”方式访问你的磁带驱动器?
第二部分:
用SAM创建设备文件
在你的系统上至少要有两个可用串口。
在这个实验中,你将为一个串口上的调制解调器和另一个串口上的直连ASCII终端创建设备文件。
SAM提供了一个方便的界面来创建这些设备文件。
1.选择SAM→PeripheralDevices→TerminalsandModems。
现在有调制解调器或终端吗?
2.首先,在你的第一个可用串口上配置调制解调器。
(1)选择Actions→AddModem。
(2)选择串口/MUX接口硬件路径。
(3)点击端口号选择可用的MUX端口(选择工作站的0端口)。
(4)选择一个波特率(因为我们没有真正的调制解调器,所以可任选速率)。
(5)选择支持拨入和拨出。
(6)点击OK。
SAM为你创建了什么设备文件?
3.现在在另一个可用串口上配置直连ASCII终端。
(1)选择Actions→AddTerminal。
(3)点击端口号选择可用的MUX端口。
(4)选择“H”作为波特率。
(5)点击OK。
4.(可选)如果机器上有磁带驱动器,则用SAM为它创建一个非标准的设备文件。
指定DDS1密度,Berkeley方式。
其他选项为默认值。
如果你创建的磁带需要在不支持“BEST”使用的高密度磁带驱动器上使用时,DDS1设备文件可能会有用处。
第三部分:
用insf创建设备文件
虽然当你需要串行设备文件或非标准设备时必须使用SAM,但大多数设备文件可以用insf自动创建。
在这个练习中你有机会使用insf。
1.删除你的系统上硬盘的一个块设备文件。
2.用ioscan-funCdisk确保设备文件被删除了。
3.用insf-evCdisk重新创建设备