HP-UX学习笔记(第七天)--外部设备

1.

HP-UX通过/dev目录下的设备文件与所有的设备通信。

这些设备文件不同于普通的磁盘文件,它们不占用任何磁盘空间。

只要数据写入这些设备文件中,它们都被送到了这个文件代表的设备。

例如:你输入一些数据到一个打印机设备文件,它们就连接到一台打印机来完成打印过程。

2.

所有HP-9000系列服务器和工作站使用PA-RISC处理器。

处理器用总线连接多种类型的设备适配器。

所有的设备连接到这些设备适配器上。

在HP系统中使用的总线有:

  • 扩展的工业标准架构(EISA)
  • 通用系统连接(GSC)
  • Hewlett-Packard精确总线(HP-PB)
  • 高速系统连接(HSC)
  • PCI

每一种总线有它自己的特性,如时钟频率、数据传送和信号。

3.

SCSI(小型计算机系统接口)适配器

  • 用于连接磁盘驱动器、磁带驱动器和CD-ROM驱动器
  • 标准SCSI适配器支持7个设备,每秒传送5M字节,设备号优先级6-0递减。
  • Fast/Narrow或差动SCSI同样支持7个设备,每秒传送10M字节,设备号优先级6-0递减。
  • Fast/Wide SCSI适配器支持15个设备,每秒传送20M字节,设备号优先级6-0、15-8,6最高,8最小。

所有的SCSI设备必须在系统启动前加电并且在系统关闭后断电。

不能从一个正在运行中的系统中连接或拔下设备。

4.

多路转接器(MUX):

用于把串行设备连接到系统中。

通常它用于连接modem、终端和任何串行绘图仪或打印机。

5.

硬件路径:

一个硬件路径表示了一个系统中一个设备的位置。

例:一个路径为8/12.5.0表示一个SCSI磁盘连接到系统。

数字8表示系统的一个总线号

数字12表示SCSI适配器在总线上的地址

数字5为SCSI的设备号(优先级)

数字0为lun,逻辑单元号

 一个硬件地址8/5/0表示一个光纤适配器连接到总线8,总线转换器5,设备号为0

在HP-9000服务器背板上,你可以看到扩展槽上面便有这些数字。

为了列出系统中的这些设备,使用ioscan命令。 

#ioscan -fC disk
Class      I        H/W Path         Driver         S/W State       H/W Type         Description
===================================================================
disk         6      10/4.8.0            sdisk           CLAIMED         DEVICE         SEAGATE ST34371W
.....
disk         5      16/5.2.0            sdisk           CLAIMED         DEVICE          TOSHIBA CD-ROM XM-5401TA
......

其中命令输出域的含义:

  • Class              显示设备的分类
  • I                      实例,存在多个同类设备时,通过实例号区分。
  • H/W  Path       硬件路径
  • Dirver              控制设备的驱动程序名
  • S/W State        CLAIMED意味着设备驱动程序被装入了内核而且绑定到了该设备
  •                         UN-CLAIMED意味着这个设备的驱动程序在内核中不存在      
  • H/W Type        显示设备的类型
  • Description      对设备的简短描述

6.

设备文件:

在HP-UX中每一个设备在/dev目录中有一个相应的设备文件。

这个文件描述了设备的硬件路径并且用于与该设备通信。

这些设备文件由HP-UX自动生成,不包含任何数据。

使用ll命令列出部分设备文件:

brw-r----- 1 root sys  31  0x005000 Feb 10 1997  /dev/dsk/c0t5d0
brw-r----- 1 root sys  31  0x006000 Feb 10 1997  /dev/dsk/c0t6d0
crw-r----- 1 root sys  31  0x005000 Feb 10 1997  /dev/rdsk/c0t5d0
crw-r----- 1 root sys  31  0x006000 Feb 10 1997  /dev/rdsk/c0t6do
crw-r----- 2 root tty   17  0x000001 Jan 9 09:25  /dev/ttyp1
crw-r----- 2 root tty   17  0x000002 Jan 9 17:25  /dev/ttyp2

没有显示文件大小,相反,第5和第6字段还有一些其他信息。

第5字段代表主设备号,表示该设备的内核驱动程序。所有相同类型的设备有同样的主设备号。

第6字段代表次设备号,显示一个设备的物理地址。用来区分相同主号的设备。

7.

字符设备与块设备:

字符设备也成为原始设备,这些设备的I/O每次都被格式化为1个字符。这些设备用于串行数据传输。这类字符设备有终端、modem、串行打印机和磁带驱动器。对于这些设备文件,ll每一行的第一个字符输出是c。

块设备用于从(向)一个设备传输一个数据块。数据通过内存一个缓冲区进行交换。所有的磁盘驱动器和CD-ROM驱动器都是块类型设备。ll每一行输出的第一个字符是b。

磁盘驱动器上也有字符设备文件。

8.

SCSI设备文件命名:

SCSI设备文件在HP-UX中遵循一个通用的命名规则。(这些文件可以自己指定其他名字)

模式:c# t# d#[....]

  • c#表示接口卡和指定给这个卡的实例号。
  • t#表示SCSI的目标地址,目标地址表示SCSI总线上的设备号。
  • d#是逻辑单元号,通常为数字0
  • [...]是可选的与设备相关的信息

9.

设备目录的层次:

用于组织设备文件的目录

  • /dev/dsk                          磁盘驱动器和CD-ROM的块设备文件
  • /dev/rdsk                         磁盘驱动器和CD-ROM的字符设备文件
  • /dev/vg00                        卷组vg00设备,每一个卷组都有自己的目录
  • /dev/rmt                           磁带驱动器的设备文件
  • /dev/pts                           基于流的伪终端设备文件
  • /dev/pty                           伪终端次设备文件
  • /dev/ptym                        伪终端主设备文件

10.

磁带设备:

磁带设备也遵循与磁盘设备相同的命名规则,然而,根据磁带盒的类型与它的格式,一个其他可选功能的数字也包含在设备名中。

tape   1    10/8.1.0   stape    CLAIMED     DEVICE     IBM ULTRIUM-TD3
                                  /dev/rmt/1m             /dev/rmt/c15t3d0BEST

                                  /dev/rmt/1mn           /dev/rmt/c15t3d0BESTn 
                                  /dev/rmt/1mb           /dev/rmt/c15t3d0BESTb 
                                  /dev/rmt/2mnb         /dev/rmt/c28t3d0BESTnb

设备文件中的单词“BEST”表示使用尽可能最高的容量格式。

字符“n”表示在操作结束后磁带不会回卷。

字符“b”表示磁带驱动器将采用Berkely类型替代AT&T。

在HP-UX10.X版本之前,一个不同的命名规则用于磁带设备。

例如,磁带设备名是/dev/rmt/0m,/dev/rmt/1m等等。在这个格式中,一个阿拉伯数字后面跟着一个字符“m”用于磁带设备这个数字后面跟随附加字符表示设备属性。

例如/dev/rmt/c15t3d0BESTn可以用/dev/rmt/1mn表示。这个命名规则用于向后兼容性。

所以ioscan -funC tape命令输出显示了两种设备。

11.

列出已安装的设备:

(1)ll命令列出的文件列表:

    brw-r----- 1 root sys 31 0x005000 Feb 10 1997 /dev/dsk/c0t5d0
    brw-r----- 1 root sys 31 0x006000 Feb 10 1997 /dev/dsk/c0t6d0
    crw-r----- 1 root sys 31 0x005000 Feb 10 1997 /dev/rdsk/c0t5d0
    crw-r----- 1 root sys 31 0x006000 Feb 10 1997 /dev/rdsk/c0t6do
可以显示出一个设备文件的如下特征:

  • 文件类型
  • 第5字段的主号
  • 第6字段的次号

(2)ioscan命令有一个超过ll命令的优点,即表示哪个设备文件连接到什么设备。

     它也可以用于显示一个特定类型设备相关的设备文件。

     比如:

  •      ioscan -funC disk                 #只列出磁盘类设备与它们相关的设备文件名
  •      ioscan -fun                           #列出设备与它们相关的设备文件名
  •      ioscan -funC tape                 #只列出磁带类设备与它们相关的设备文件名
  •      ioscan -funcH 2/0/1.6.0        #只列出在2/0/1.6.0的设备文件

(3)使用lssf命令

      显示每一个设备文件的特征。

  # lssf /dev/rdsk/clt6d0
  disc3 card instance 1 scsi target 6 scsi LUN 0
  section 0 at address 52.6.0 /dev/rdsk/clt6d0

  

       # lssf /dev/rmt/0mn
  tape2 card instance 1 SCSI target 0 SCSI LUN at@t no
  rewind best density available at address 52.0.0 /dev/rmt/omn

      这个输出显示了ioscan没有提供的附加信息,它还显示了:

  •       设备文件使用哪种驱动
  •       设备的硬件地址
  •       所有被设备文件使用的与设备有关的访问方式

12.

每个磁盘和CD-ROM都有两个设备文件:

  • 在/dev/dsk里的块设备文件
  • 在/dev/rdsk里的字符设备文件

13.

终端和modem:

终端和modem是串行设备并且被连接到一个串口或一个MUX上。

它们没有专用的目录,设备文件直接放在/dev目录下面,没有子目录。

它们的设备文件不遵循c#t#d#命名规则。

每一个终端设备文件由tty开头后面跟着一个MUX号,下一个字母是“p”跟一个MUX上的端口号。

例如:/dev/tty0p3表示终端在第一个MUX的端口3上。

伪终端设备文件被使用终端模拟和网络服务的应用程序使用,由主副文件成对出现。

伪终端设备主文件在/dev/ptym,副文件为/dev/pty。名字都为pty开头。链接到/dev下的同名文件。

基于流的伪终端设备文件保存在/dev/pts中。

缺省提供60个伪终端设备文件,通过insf -e -n 90 -d ptym创建90个伪终端设备文件。

完整功能的modem由3个设备文件表示。

例子:

对于链接到第一个MUX端口4上的Modem的设备文件是:

/dev/cua0p4

/dev/cul0p4

/dev/ttyd0p0

14.

创建设备文件:

当在系统上安装HP-UX时,设备文件被自动生成。之后,每次你引导系统,HP-UX扫描所有连接的设备,如果该设备是自动配置的,则生成设备文件。但需要亲自为不能自动配置的设备生成设备文件。

  • 自动配置

在系统启动的时候,内核会执行一系列系统初始化的工作,包括探测所有的安装在系统中的硬件。在进行硬件探测的时候,内核会确认所有的设备-总线,适配器,设备适配器-这些能够被自动配置的设备。内核绑定一个合适的驱动程序给每一个检测到指定硬件地址的设备。
在完成系统初始化后,内核执行init命令。init进程读取/etc/inittab文件来激活几个系统启动的命令,包括/sbin/ioinitrc。
第一步,initrc会读取/etc/ioconfig文件的内容,并将在那里找到的设备对照信息转换成内核数据结构io_tree。
下一步,ioinit执行insf。insf会为新的设备创建设备文件。它同样会更新/etc/ioconfig文件和内核树。

  • 使用insf命令

infs命令为新的设备生成设备文件,它的引导过程自动执行。也可以用它生成附加的设备。

Insf的选项:

  • -d            通过设备文件名选择特殊的设备
  • -C           与制定分类匹配的设备,如磁盘,终端等
  • -H            与指定硬件路径匹配的设备
  • -I             选择板卡实例
  • -e            为已经存在的设备创建或重建设备文件
  • -D           覆盖默认设备安装目录或目录中安装的指定文件,目录必须存在

-d、-H和-C选项用以指定驱动器、设备类型或硬件路径地址来选择设备。

可以用lsdev命令确定内核中的驱动和类别;用IOSCAN命令列出内核中的硬件路径。

例如:insf -C disk              #生成磁带驱动器的设备文件

           insf -C tape -e         #生成磁带驱动器的设备文件,即使文件已存在。

           insf -H 0.1.0 -e        #重新生成硬件路径为0.1.0的设备文件

           insf -e -n 100 -d ptym        #创建100个伪终端

  • 使用mksf命令

如果系统已经发现了某个设备,则可以用mksf命令来创建设备文件。

mksf选项:

  • -d            通过设备文件名选择特殊的设备
  • -C           与制定分类匹配的设备,如磁盘,终端等
  • -H            与指定硬件路径匹配的设备
  •  -I             选择设备实例
  •  -D           覆盖默认设备安装目录或目录中安装的指定文件,目录必须存在

为已经存在的设备创建自定义的设备文件之前,可以用ioscan查找板卡的实例号。

mksf -d tape2 -I 0 -b DDS1          #为磁带驱动器创建字符设备文件/dev/rmt/c0t0d0DDS1

mksf -C printer -I 2 /dev/printer    #创建设备文件/dev/printer,并映射行式打印机

  • 使用mknod命令

mknod命令可以用于生成字符设备文件、块设备文件或代表命名管道的文件。

为了生成字符或块文件,必须在命令行声明主和次号。

mknod /dev/rmt/0m c 212 0x030080      #为主号212次号0x030080的磁带驱动器生成字符设备文件

15.

安装一个新设备的步骤:

(1)如果用于该设备的设备驱动文件已经安装在内核中,跳到下一步。

         如果设备驱动程序没有在内核中生成,重新配置内核以包含该设备驱动程序。

(2)关闭系统,关闭电源并安装该设备。

(3)重新引导系统。

(4)HP-UX内核将扫描新的硬件设备并在启动过程中安装新设备。

(5)在系统启动之后,以ROOT登录并使用ioscan命令确认该设备已被检测到,并且设备文件已经安装。

         如果文件没有安装,必须使用如14介绍的命令安装设备文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值