【Linux操作系统】第5章设备管理课件.pptx
第第5章章 设备管理设备管理 5.1 硬件设备硬件设备 5.2 使用设备使用设备 习题习题 5.1 硬硬 件件 设设 备备 5.1.1 设备文件设备文件Linux操作系统本身对于如何控制硬盘、软驱、光驱和其他连接到系统的外围设备并无内建的指令。所有用于和外设通信的指令都包含在一个叫做设备驱动程序的文件中。该程序通常是一段汇编语言或C代码,用于和外设传递数据、交流信息。Linux系统通过设备文件实现对设备和设备驱动程序的跟踪。设备文件主要包括设备权限和设备类型的有关信息,以及两个可供系统内核识别的惟一的设备号。系统在很多情况下,可能有不止一个同种类型的设备,因此Linux可以对所有的设备使用同种驱动程序,但是操作系统又必须能够区分每一个设备。那么Linux又是通过什么样的方法来区分这些同种类型设备呢?实际上Linux是使用设备号来区分的。每一个设备都有一个主设备号和子设备号。主设备号用来确定使用什么样的驱动程序,子设备号是硬件驱动程序用来区分不同的设备和判断如何进行处理。例如,6个终端都使用相同的设备驱动程序,那么它们的主设备号都是一样的,但是每一个终端都有一个不同的子设备号,可使操作系统惟一的确定它们。【实例5.1】从下面的清单可以看出,所有终端设备的驱动程序都有相同的主设备号4,但子设备号是从05。crw-rw-rw-1roottty4,14OA112001tty0crw-rw-rw-1roottty4,24OA112001tty1crw-rw-rw-1roottty4,34OA112001tty2crw-rw-rw-1roottty4,44OA112001tty3crw-rw-rw-1roottty4,54OA112001tty4crw-rw-rw-1roottty4,64OA112001tty5Linux习惯于把所有的设备文件都置于/dev目录下,其中很大一部分只是带有不同设备号的基本驱动程序的拷贝,但是每一个文件都是相互独立的。Linux下的驱动程序的命名与其他操作系统下的命名不同,常见的设备名称与驱动程序的对应关系如表5-1所示。表5-1Linux下常见设备及对应的驱动程序命名设备命名第一软驱(A:)/dev/fd0第二软驱(B:)/dev/fd1IDE1的第一个硬盘(master)/dev/hdaIDE1的第二个硬盘(slave)/dev/hdbIDE2的第一个硬盘(master)/dev/hdcSCSI的第一个硬盘/dev/sdaSCSI的第二个硬盘/dev/sdb光驱CD-ROM/dev/cdrom打印机/dev/lp0 5.1.2 设备分类设备分类计算机上凡是与Linux进行通信的每个硬件都被视为一个设备,它们可以分为两种类型:块设备和字符设备。终端、打印机和异步调制解调器都属于字符设备,它们的通信方式是使用字符,一次只发送一个并回送一个字符。相反,硬盘驱动器和磁带机则使用块数据通信,这对发送大量信息无疑是一种极为快捷的方法,这样的设备称为块设备。通常,块设备用于对大批量数据的处理,而字符设备传输数据则比较缓慢。例如,大多数模拟调制解调器是字符设备,而ISDN则属于块设备。在相同的时间里,块设备可以比字符设备传输更多的数据。有些设备在不同的情况下可分别为字符设备和块设备,例如,一些磁带机就属于这种情况,也就是说这样的主设备有两套设备驱动程序,用户可针对不同的读写要求来选择设备驱动程序。对于大量、快速的数据传送,最好选用块设备;对于某个文件检索或单一目录的备份,字符设备则更为适合。另一种区分块设备和字符设备的方法是看设备如何处理缓冲,字符设备是靠自己实现缓冲,块设备通常以512字节或1024字节(甚至更大)的组块进行通信,它们通过系统内核实现缓冲。对用户来说,这种缓冲则更易察觉。设备驱动程序和设备文件很详细地标明了设备是字符设备还是块设备。要识别一个设备的类型,只需要查看一下设备文件中的权限位就可以了。如果权限位中的第一个字符是b,则该设备就是块设备;若是c,则说明它是字符设备。如图5-1所示的是我们从/dev目录清单中摘录的一段,用户可以由权限位的第一个字符来判断设备是何种类型。crw-1rootroot14,204OA112001audio1crw-1rootroot14,74OA112001audioctlbrw-rw-1rootdisk29,04OA112001aztcdbrw-rw-1rootdisk41,04OA112001bpcd图图5-1 /dev目录清单目录清单5.2 使使 用用 设设 备备 5.2.1 磁盘磁盘计算机有不同种类的磁盘驱动器,常见的有软盘、IDE硬盘和SCSI硬盘等,下面我们分别来介绍如何使用这些设备。1.软盘软盘是可移动的低容量的存储介质。作为存储设备,它比硬盘要慢得多,但它具有可移动和便于传输数据的优点。相应的软盘的块设备都以字母“fd”开始,/dev/fd0是第一个,其他软盘的编号逐步增大。对于软盘,有许多可能的格式,内核需要知道磁盘的格式才能够正确地读取它。目前计算机使用的软盘基本都是1.44MB的。使用软盘的步骤如下:(1)以超级用户身份登录;(2)创建一个安装点(如/mnt/floppy)来加载软盘;(3)放入软盘;(4)执行如下命令来加载软驱:rootredflag/root#mounttvfat/dev/fd0/mnt/floppy成功安装后,软盘的文件出现在/mnt/floppy目录下,这些文件对所有的用户可读,但只有root才可以修改、删除这些文件。卸载软盘的命令如下:rootredflag/root#umount/mnt/floppy2.硬盘硬盘一般是比较大的存储设备,这使得它能够在其不同位置存放不同的文件系统。加载硬盘的步骤和软盘基本相同,通过加载,我们可以很容易地使用Windows98或Windows2000下的文件,假设安装点为/mnt/windows,对于IDE硬盘执行的命令如下:rootredflag/root#mounttvfat/dev/hda5/mnt/windows对于SCSI硬盘,执行的命令如下:rootredflag/root#mounttvfat/dev/sda4/mnt/windows使用“-tvfat”选项,是因为Windows下文件系统是FAT32格式的。【说明】我们可以通过修改/etc/fstab文件,使得系统每次启动时自动加载。/etc/fstab文件的内容如下:/dev/hda7/reiserfsdefaults,notail11/dev/hda5/mnt/windowsvfatdefaults00/dev/cdrom/mnt/cdromiso9660noauto,owner,ro00/dev/hda6swapswapdefaults00/dev/fd0/mnt/floppyvfatnoauto,owner00none/procprocdefaults00none/dev/ptsdevptsgid=5,mode=620005.2.2CD-ROMCD-ROM驱动器从根本上讲是只读设备,它与其他块设备的安装方式相同。CD-ROM一般包含标准的ISO9660文件系统和一些可选的扩充。现在的光驱基本上都符合ATAPI标准。使用mount命令可以把光盘中的所有目录和文件加载到Linux目录中,以root身份执行如下的命令:rootredflag/root#mount t iso9660/dev/cdrom/mnt/cdrom如果命令生效,光盘中的内容将出现在目录/mnt/cdrom下。上述命令执行后,若不能加载成功,可能的原因如下:(1)/mnt/cdrom不存在。(2)/dev/cdrom不存在。(3)当前目录是安装点。卸载光盘的命令如下:rootredflag/root#umount/dev/cdrom如果系统提示“设备已经安装或目录忙”的信息,可能是由于用户的当前目录是在安装点/mnt/cdrom或子目录而造成的,此时必须切换到其他目录下才能进行。5.2.3 打印机打印机当我们想要把自己设计好的文件在Linux下打印时,首先要正确配置打印机。在红旗Linux中,配置打印机的命令是printtool,此命令只能在XWindow下使用。下面我们通过实例来讲述如何安装和配置打印机。【实例5.2】本实例安装本地打印机,打印机的型号是HPLaserJet4,配置过程如下:(1)运行printtool工具,其主界面如图5-2所示。利用printtool,用户可以添加、编辑和删除打印机队列。图5-2PrintTool主界面(2)选择【Add】来添加打印机,然后选择要增加的打印机的类型。Linux下的打印机类型如图5-3所示,有四种类型。LocalPrinter:指连接于本地系统并口或串口上打印机的打印队列。RemoteUnix(lpd)Queue:指可以通过TCP/IP网络来访问的连接于非本地系统的打印队列。图5-3Linux下的打印机类型图5-4编辑本地打印机SMB/Windows95/NTPrinter:指可以通过SMB网络来访问的连接于非本地系统的打印队列。NetWarePrinter(NCP):指可以通过NetWare网络来访问的连接于非本地系统的打印队列,在建立此打印队列之前,必须安装NCP文件系统。(3)选择配置本地打印机,即“LocalPrinter”,进入到具体的配置界面,如图5-4所示。其中:Names:是打印机名称,可以指定多个名字,之间用“|”(管道)符号隔开。SpoolDirectory:指定存放要打印的文件的目录,不要让多个打印队列共享一个假脱机目录。FileLimitinKb:所接受的最大作业量,以Kb为单位。0表示不进行限制。PrinterDevice:打印设备名称。InputFilter:过滤器用来将打印文件转换成打印机可以处理的格式。通过Select来选择最适合你的打印机的过滤器,如图5-5所示。从图5-5可以看出,左边为打印机的具体类型,右边为打印机的具体选项,在这里我们选择“HPLaserJet4/5/6series,non-PostScript”类型的打印机,然后再进行右边的具体配置,最后按“OK”来确定。SuppressHeaders:可以选择是否每个打印作业前打印一张起始信息页。图5-5配置打印机(4)上述步骤执行完成了后,我们就完成了本地打印机的配置,如图5-6所示。图图5-6 配置好的打印机配置好的打印机 5.2.4 显卡显卡显卡是Linux操作系统支持最差的,其配置正确与否直接影响到用户能否启动XWindow。配置显卡最常用的工具是提供了图形化界面的Xconfigurator。【实例5.3】本实例使用Xconfigurator来配置显卡,步骤如下:(1)键入“Xconfigurator”命令来启动配置,欢迎画面如图5-7所示。选择“OK”进入下一步。图图5-7 Xconfigurator欢迎画面欢迎画面(2)PCI显卡检测,结果如图5-8所示。图5-8PCI显卡检测结果(3)选择显示器类型,如图5-9所示。我们选择“Acer57c”。图5-9选择显示器(4)选择显存大小,如图5-10所示。我们选择“16mb”。(5)选择时钟芯片,如图5-11所示,我们一般选择第一项。图5-10选择显存图5-11选择时钟芯片(6)设置显示器分辨率,如图5-12所示,我们设为24位“1024768”。图5-12设置分辨率(7)测试。完成上述步骤后,系统会进行测试,来确定显卡能否正常工作。如果测试通过,我们就可以通过startx命令进入XWindow环境,如图5-13所示。图图5-13 X Window启动画面启动画面【实例5.4】某机的显卡是TridentBlade3D的,安装显卡驱动程序步骤如下:(1)下载驱动程序。下载驱动程序首先要找到显卡forLinux的驱动程序。现在绝大多数的3D显卡都已有了forLinux的驱动程序,可到各显卡厂商的主页或Linux的相关站点上去寻找。现在找到的驱动程序名为“XF86_SVGA”,文件格式是“.tar.gz”,是Linux的压缩文件。(2)文件解压。由于下载的是压缩文件,就需要进行解压缩,可以在Linux下用tar命令解压。(3)拷贝文件。将“XF86_SVGA”文件拷贝到/usr/X11R6/bin目录下。注意,这是针对RedFlag版本来说,其他版本的路径不一定相同。执行如下的命令:cp/root/XF86_SVGA/XF86_SVGA/usr/X11R6/bin大家可根据自己的情况灵活掌握,关键是路径一定要正确,还要分清字母的大小写。如果系统提示有同名文件,问是否覆盖,一定要选择“y”。这些旧文件可能是以前安装显卡时加载的,对我们没有实际用处。(4)配置显卡。文件拷贝完成后,输入Xconfigurator,启动显卡配置程序。选择加载的显示模块为SVGA,再选择显示器型号、显存大小、刷新频率,选定24位色、800600的分辨率。一切就绪,X服务器开始检测,十几秒钟后,检测完毕,X服务器再没有像以往那样给出出错信息。通过startx命令进入XWindow环境。5.2.5 声卡声卡声卡是多媒体计算机不可或缺的设备,Linux要成为普及的操作系统,当然也会支持声卡。在安装Linux系统时会检测声卡,如果检测不到,用户就必须自行设置。在文字模式中执行sndconfig命令(或执行setup命令后,选择“Soundcardconfiguration”)开始设置声卡。【实例5.5】本实例介绍如何配置声卡,步骤如下:(1)执行setup命令后,选择“Soundcardconfiguration”,如图5-14所示,进入声卡配置。图图5-14 选择配置声卡选项选择配置声卡选项(2)接下来系统自动检测声卡,若检测到,会显示如图5-15所示的画面。(3)接下来系统会播放声音样本进行测试,然后询问我们是否听到声音,如图5-16所示。图5-15检测到声卡图5-16询问听到声音样本5.2.6Modem红旗Linux提供了非常方便的配置Modem的图形化的工具。我们用实例5.6来讲述Modem的配置过程。【实例5.6】本实例利用红旗INTERNET工具来介绍使用调制解调器拨号上网,步骤如下:(1)我们可以通过【K按钮】【系统设置】【拨号网络配置】来启动红旗INTERNET工具,如图5-17所示,选择Modem项。(2)按“下一步”执行KPPP命令来打开“KPPP”对话框,如图5-18所示。(3)我们按设置按钮来设置拨号账号,如图5-19所示。(4)我 们 选 择 新 建 连 接,设 置 连 接 名 字 为“my_dail”,电话号码为“96169”,身份验证选择“PAP”,如图5-20所示。图5-17红旗INTERNET工具启动画面图5-18KPPP对话框图5-19设置拨号账号图5-20新建拨号连接(5)新建连接设置好的画面如图5-21所示。(6)开始拨号,画面如图5-22所示。图5-21设置好的拨号连接图5-22拨号上网画面5.2.7ADSL现在已经有越来越多的人采用ADSL方式上网。在Linux下可以使用PPPoE这个软件来进行ADSL拨号。【实例5.7】本实例介绍计时制的ADSL上网,我的账号是steven163.gd,配置步骤如下:(1)拨号设置。rootredflag/root#adsl-setupWelcometotheRoaringPenguinADSLclientsetup.First,IwillrunsomechecksonyoursystemtomakesurethePPPoEclientisinstalledproperly.#上面一段显示欢迎信息。Looksgood!Now,pleaseentersomeinformation:#提示用户要输入一些信息。USERNAME#提示输入用户账号。EnteryourPPPoEusername(defaultbxxxnxnxsympatico.ca):steven163.gdINTERFACE#提示用户输入网络接口。Enter the Ethernet interface connected to the ADSLmodemForSolaris,thisislikelytobesomethinglike/dev/hme0.ForLinux,itwillbeethn,wherenisanumber.(defaulteth0):#网络接口通常是eth0,按回车键即可。Do you want the link to come up on demand,or stay upcontinuously?Ifyouwantittocomeupondemand,entertheidletimeinsecondsafterwhichthelinkshouldbedropped.Ifyouwantthelinktostayuppermanently,enterno(twoletters,lower-case.)NOTE:Demand-activatedlinksdonotinteractwellwithdynamicIPaddresses.You may have some problems with demand-activatedlinks.Enterthedemandvalue(defaultno):no#让用户设置闲置多少秒要断线,若想一直维持连接,则回答“no”。DNS#提示用户输入“DNS”。PleaseentertheIPaddressofyourISPsprimaryDNSserver.IfyourISPclaimsthattheserverwillprovideDNSaddresses,enterserver(alllower-case)here.Ifyoujustpressenter,IwillassumeyouknowwhatyouaredoingandnotmodifyyourDNSsetup.EntertheDNSinformationhere:#输入“DNS”,一般不需要填写,拨号上网后,ISP会自动指定。PASSWORD#输入两次密码,但是密码不会显示在屏幕上。PleaseenteryourPPPoEpassword:Pleasere-enteryourPPPoEpassword:FIREWALLING#提示用户设置防火墙。Pleasechoosethefirewallrulestouse.Notethattheserulesareverybasic.Youarestronglyencouragedtouseamoresophisticatedfirewallsetup;however,thesewillprovidebasicsecurity.Ifyouarerunninganyserversonyourmachine,youmustchooseNONEandsetupfirewallingyourself.Otherwise,thefirewallruleswilldenyaccesstoallstandardserverslikeWeb,e-mail,ftp,etc.IfyouareusingSSH,theruleswillblockoutgoingSSHconnectionswhichallocateaprivilegedsourceport.Thefirewallchoicesare:0-NONE:Thisscriptwillnotsetanyfirewallrules.Youareresponsiblefor ensuring the security of your machine.You areSTRONGLYrecommendedtousesomekindoffirewallrules.1-STANDALONE:Appropriateforabasicstand-aloneweb-surfingworkstation2-MASQUERADE:AppropriateforamachineactingasanInternetgatewayforaLANChooseatypeoffirewall(0-2):0#我们选择“0”,表示不设置防火墙。Startthisconnectionatboottime#提示用户是否在启动时进行拨号。Doyouwanttostartthisconnectionatboottime?Pleaseenternooryes.no*Summaryofwhatyouentered*#查看设置是否正确。EthernetInterface:eth0Username:Activate-on-demand:NoDNS:DonotadjustFirewalling:NONE#如果设置正确,选择“y”完成ADSL设置。Acceptthesesettingsandadjustconfigurationfiles(y/n)?yAdjusting/etc/ppp/pppoe.confAdjusting/etc/ppp/pap-secretsand/etc/ppp/chap-secrets(Butfirstbackingitupto/etc/ppp/pap-secrets-bak)(Butfirstbackingitupto/etc/ppp/chap-secrets-bak)Congratulations,itshouldbeallsetup!Typeadsl-starttobringupyourADSLlinkandadsl-stoptobringitdown.Typeadsl-statustoseethelinkstatus.(2)拨号上网。当我们要上网时只要执行“adsl-start”命令即可,若要断线则执行“adsl-stop”命令。拨号上线后可执行“adsl-status”命令来查看连接状态。习习 题题1.假设当前系统中只有一个软驱设备,它在Linux下一般表示为_。A./dev/fd0 B./mnt/floppyC./dev/floppyD./dev/fd12.一般/dev/lp0表示_。A.声卡B.打印机C.显示器D.键盘3.ADSL的拨号软件是_。A.KPPPB.PPPoEC.SLIPD.PPP4.Linux中设备文件的主要内容包括_。A.设备权限 B.设备类型 C.主设备号 D.子设备号5.printtool可以配置的打印机类型包括_。A.localprinterB.remoteunix(lpd)queueC.SMB/Windows95/NTprinterD.NetWarePrinter6.Linux系统中的设备的类型包括_。A.块设备B.字符设备C.流设备D.缓冲设备7.执行mount-t auto/dev/cdrom/mnt/cdrom命令之后,Linux报告出错信息,则可能的原因是_。A./mnt/cdrom不存在B./mnt/cdrom为空C./dev/cdrom设备不存在 D.当前目录是安装点/dev/cdrom