




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档2016全新精品资料全新公文范文全程指导写作独家原创1/19LINUX操作系统研究论文3随着IT产业巨头纷纷宣布对LINUX的支持,LINUX正在迅速扩展其应用市场,特别是服务器市场。在标准上,LINUX与POSIX10031兼容,但它具有比以住的UNIX系统更合理的内核结构。由于它的开放性,各种被人们广泛应用的网络协议都在该系统中得到了实现。目前人们所使用的LINUX系统一般是指由LINUX核心、外壳及外围应用软件构成的发行版本。LINUX发行版本是不同的公司或组织将LINUX核心、外壳、安装工具、应用软件有效捆绑起来的结果,所以种类繁多,各有各的优缺点。但就其总体而言,这些发行版本具有对尽可能多的网卡的支持。本文仅就REDHAT51这个特定发行版本下的网卡的选择、安装、配置进行讨论,希望对于其他发行版本的同样问题有点借鉴作用。就象UNIX,LINUX支持的网卡主要是以太网卡。如3COM、ACCTON、ATT、IBM、CRYSTAL、DLINK等众多品牌的以太网卡只要安装配置正确,都可以得到你所期望的效果。一、LINUX中网卡的工作原理精品文档2016全新精品资料全新公文范文全程指导写作独家原创2/19为了将这个问题说明的更清楚一些,不妨先简要地剖析一下LINUX是如何让网卡工作的。一般来说,LINUX核心已经实现了OSI参考模型的网络层及更上层部分。网络层的实现依赖于数据链路层的有效工作。网卡的驱动程序就是数据链路层与物理层的接口。通过调用驱动程序的发送例程向物理端口发送数据,调用驱动程序的接收例程从物理端口接收数据。1网卡驱动程序简单地说,要将你手中的网卡利用起来,你唯一要做的是得到这块网卡的驱动程序。驱动程序提供了面向操作系统核心的接口和面向物理层的接口。驱动程序的操作系统接口是一些用于发现网卡、检测网卡参数以及发送接收数据的例程。当驱动程序开始运作时,操作系统首先调用检测例程以发现系统中安装的网卡。如果该网卡支持即插即用,那么检测例程应该可以自动发现网卡的各种参数;否则你就要在驱动程序运作前,设置好网卡的参数供驱动程序使用。当核心要发送数据时,它调用驱动程序的发送例程。发送例程将数据写入正确的空间,然后激活物理发送过程。精品文档2016全新精品资料全新公文范文全程指导写作独家原创3/19驱动程序面向物理层的接口是中断处理例程。当网卡接收到数据、发送过程结束,或者发现错误时,网卡产生一个中断,然后核心调用该中断的处理例程。中断处理例程判断中断发生的原因,并进行响应的处理。比如当网卡接收到数据而发生中断时,中断处理例程调用接收例程进行接收。2驱动程序工作参数驱动程序的工作参数因网卡性质的不同而不同,大致包括I/O端口号、中断号、DMA通道、共享存储区等。输入输出端口号又被称为输入输出基地址,当网卡工作于端口输入输出模式时被使用。端口输入输出模式需要CPU的全程干预,但所需硬件及存储空间要求较低。CPU通过端口号指定的空间与网卡交换数据。中断号是网卡的中断序号,只要不与其它设备冲突即可。当网卡使用DMA方式时,它要使用DMA通道批量传输数据而不需要CPU的干预。对于一块具体的网卡,如果网卡支持完全自动检测,那么一个参数也不用指定,驱动程序的检测例程会自动设定所需参数。一般情况,你需要人工设定这些参数的一部精品文档2016全新精品资料全新公文范文全程指导写作独家原创4/19分。如果你的网卡使用端口输入输出模式,你要设定端口号和中断号。如果你的网卡使用DMA模式,你要设定DMA通道和中断号。如果你的网卡使用共享存储区的模式,那你就得设定共享存储区的地址范围。3驱动程序的使用方式有了网卡的驱动程序后,你可以选择是把驱动程序加入到LINUX核心之中还是把驱动程序加工成独立模块。LINUX系统一个引人入胜的长处就是可以定制系统的核心。把需要频繁调用的功能加入系统核心,可以大大提高系统的效率。在这种情况下系统启动时,系统核心自动加载网卡的驱动程序。驱动程序的参数可以通过LILO命令参数加以指定。系统启动后驱动程序永久驻留核心,不能用常规的方法将其卸载。至于定制的系统核心,是通过重新编译得到的;如何编译核心将在后文叙及。如果把驱动程序编译成可装载模块,就可以用系统提供的命令在系统启动后随时加载。随时加载的好处是减少内存开销,易于管理,但同时也牺牲了一点网络传输的效精品文档2016全新精品资料全新公文范文全程指导写作独家原创5/19率。驱动程序的参数是在命令行中直接输入或通过配置文件指定。二、网卡安装前的准备在安装网卡前,务必检查是否具备下列条件1硬件方面以太网卡网络连接线及连接头,如10BASET一般为8芯双绞线配RJ45接口2软件方面LINUX操作系统网卡驱动程序网卡配置程序软件开发工具,如GNU工具包3系统配置信息精品文档2016全新精品资料全新公文范文全程指导写作独家原创6/19可用的端口地址可用的中断号以上不带星号标记的是必要条件,带星号的是视情况不同而要求的条件。具体情况在下面进一步说明。三、网卡的安装及配置第一步配置以太网卡的工作参数配置网卡就是配置网卡的工作参数,如端口地址、中断号等。网卡的缺省参数一般存储于网卡内部的EEPROM,这是网卡出厂前设置好的。缺省参数在大多数情况下是可行的,但如果这些参数与你的系统有冲突并且网卡又不支持软件动态设置,那么你就要使用网卡的设置程序。并不是所有的网卡都要经过这一步,因为有些网卡支持通过驱动软件及其输入参数来确定网卡的工作参数。可以通过查阅网卡使用说明书来确定这一点。网卡的设置程序与驱动程序不同,设置程序仅仅用来精品文档2016全新精品资料全新公文范文全程指导写作独家原创7/19对网卡EEPROM中的设置进行修改。网卡程序本身可能运行在其它操作系统下,如WINDOWS95/98、OS/2、DOS等。如果是非LINUX平台,那你就先在适合设置程序运行的系统中安装网卡,按设置程序说明设置网卡参数。然后再在LINUX系统下安装该网卡。第二步安装LINUX系统假如你将要安装以太网卡的LINUX系统本身还未安装,那么可以先试着在安装LINUX的同时安装网卡。这一步成功的前提是你的LINUX发行版本包含将要安装的网卡的驱动程序。运行LINUX的安装程序,按提示进行操作,别忘了安装核心的网络部分。当进行到LAN配置时,安装程序会列出它支持的所有网卡的类型。看看你的网卡是否榜上有名。随着LINUX发行版本的不断升级,目前REDHAT60已经覆盖了常用的网卡类型。如果很幸运地你的网卡恰好在其中,那么下文讨论的很多步骤都可以不必考虑了,安装程序会自动完成网卡的安装与驱动。但如果没找到适用于你的网卡类型,也不必担心,继续下一步。精品文档2016全新精品资料全新公文范文全程指导写作独家原创8/19第三步手工安装网卡安装网卡也就是安装网卡的驱动程序。网卡要工作必须要有驱动程序,并且驱动程序越成熟越好。驱动程序一般由网卡的生产或供应商提供。由于LINUX是一个起步不久的新兴操作系统,网卡的生产商并不一定提供LINUX环境下的驱动程序。这时候你就得从其它途径想办法了,比如到INTERNET上专门提供硬件驱动程序的网站查找一下,也可以在新闻组上贴个求助信息。总之,只有得到网卡的驱动程序后,方可进行下一步。网卡的驱动程序有两种类型。一是可直接使用的二进制代码;另一种是驱动程序的源代码。二进制代码一般是预先编译好的可装载模块。源代码可以编译成可装载模块,也可以编译成系统核心的一部分。如何把源代码编译成可装载模块不在本文讨论之列,具体可以查阅驱动程序的说明书。1可装载模块的使用系统提供了一组命令用于将驱动程序模块载入内存执行。这些命令包括精品文档2016全新精品资料全新公文范文全程指导写作独家原创9/19MODPROBE、INSMOD、ISMOD、RMMOD。MODPROBE与INSMOD命令功能相似,但是方式各异。MODPROBE命令使用配置文件/ERC/CONFIGMODULES来加载可执行模块。要用MODPROBE命令加载以太网卡的驱动程序,可以在CONFIGMODULES文件中加入ALIASETH0DRIVERMODULE这行配置信息把以太网卡的设备名与驱动程序模块联系起来。MODPROBE命令依据这条信息,自动加载存放于/LIB/LIBRARY/XXXX/NET目录下名为DRIVERMODULEO的模块。因此要使MODPROBE命令找到驱动程序模块,必须将该模块放在/LIB/LIBRARY/XXXX/NET目录下。那么驱动程序的参数如何指定呢还是使用CONFMODULES文件。方法是在接着上述配置信息的后面加入下行信息OPTIONSDRIVERMODULE精品文档2016全新精品资料全新公文范文全程指导写作独家原创10/19PARMLVALUEL,PARM2VALUE2,这里PARM1是驱动程序可以接受的参数名,VALUEL是该参数值;依次类推。比如OPTIONSCS89X0IO0X200IRQ0XAMEDIAAUIINSMOD命令直接通过命令行参数将驱动程序模块载入内存,并可以在命令中指定驱动程序参数。例如INSMODDRIVERMODULEOPARMLVALUEL,PARM2VALUE2,以上两个命令中可以使用驱动程序参数要依据具体的网卡及其驱动程序而定,要仔细阅读网卡及驱动程序的说明书。有的网卡驱动程序可以用这些参数覆盖网卡本身EEPROM中存储的参数。有的则必须使用EEPROM中的参数。有的因为驱动程序不自动检测网卡使用的参数,所以还得把网卡使用的EEPROM中的参数传给驱动程序。卸载驱动程序模块使用RMMOD命令精品文档2016全新精品资料全新公文范文全程指导写作独家原创11/19RMMODDRIVERMODULEO2把驱动程序编译入系统核心除了以可装载模块的形式使用驱动程序,还可以把驱动程序编译进LINUX核心,以获取更高的效率。这种方式需要驱动程序的源代码、LINUX核心源代码及其编译工具。LINUX核心的编译过程包括配置核心、重建依赖关系、生成核心代码等步骤。配置核心的过程是用系统提供的配置工具重新生成用来编译核心的众多MAKE文件的过程。为了让核心的配置工具了解你的网卡驱动程序,你需要修改一些核心的配置文件。修改配置文件主要修改核心源代码目录下的四个文件,即DRIVERS/NET/CONFIG文件、DRIVERS/NET/CONFIGIN文件、DRIVERS/NET/MAKEFILE文件和DRIVERS/NET/SPACEC文件。CONFIG和CONFIGIN文件用于控制核心配置工具的运行,主要是加入关于是否包括该网卡的支持提示。MAKEFILE和SPACEC文件用于编译核心代码并说明面向核心的接口。详细语句参见下面例子。精品文档2016全新精品资料全新公文范文全程指导写作独家原创12/19运行核心配置工具在核心源代码目录下执行MAKECONFIG或MAKEMENUCONFIG命令。MAKECONFIG是面向命令行的,通过逐句回答提问来配置核心。由于其在配置过程中不可改变或撤消以前的回答,故多有不便。MAKEMENUCONFIG则是通过窗口菜单方式,使用起来很方便。就本文而言,你只要在上一步中正确修改了配置文件,那么在CONFIG中会出现是否需要该网卡支持的提问,你选择Y。或者在MENUCONFIG中的NETWORK菜单中出现表示该网卡的菜单项,把它选上即可。重建依赖关系很简单,执行MAKEDEP和MAKECLEAN命令。生成核心代码执行MAKEZIMAGE命令。这个命令开始真正编译核心代码,并把核心代码存放为ARCH/I386/BOOT目录下的ZIMAGE。为了使用新的核心代码,你需要用新的核心代码替换原有的。原有的核心代码一般存放在/BOOT目录下,文件名称类似于VMLINUZVSRM表示核心的版本号。如VMLINUZ20341。执行下列命令精品文档2016全新精品资料全新公文范文全程指导写作独家原创13/19CPARCH/I386/BOOT/ZIMAGE/BOOT/VMLINUZVSRM为了安全起见,可以先把原有的核心代码做个备份,以便发生错误时恢复。至此,你可以重新引导系统以使用新的带有正确网卡驱动支持的LINUX核心。唯一剩下未解决的是驱动程序的参数问题。有些网卡驱动程序如果不输入参数,那它工作就会不正常,甚至根本不工作。由于现在网卡的驱动程序是系统启动时由核心载入运行的,系统启动之后用户就很难改变这些参数了,所以你必须在系统启动时告诉LINUX核心网卡驱动程序使用的参数。具体方法有两种在系统引导程序LILO中输入。在LILO开始引导系统时,用ETHER子命令设定以太网卡驱动程序的参数。ETHER命令的使用方式为LILOLINUXETHERIROBASE_ADDR,NAME精品文档2016全新精品资料全新公文范文全程指导写作独家原创14/19这里带下划线的是要输入的部分,IRQ表示中断号,BASE_ADDR表示端口号,NAME表示网卡的设备名。例如LINUXETHER15,0X320,ETH0在LILO配置文件中设定。每次在系统启动时再输入驱动程序参数似乎有点过于麻烦。幸好系统提供了LILO的配置文件可以用来永久性的设置LINUX系统启动时的子命令。方法是在/ETC/LILOCONF文件中的适当位置加入以下一行APPEND“ETHERIRQ,BASE_ADDR,NAME”这里带下划线部分的意义同上。加入这一行后,还需要用/SBIN/LILO命令把这个配置写入引导程序。第四步网络配置及测试安装完网卡就可以配置网络通信了。配置网络简单地就是使用IFCONFIG命令,精品文档2016全新精品资料全新公文范文全程指导写作独家原创15/19例如IFCONFIGETH01234NETMASK255000UP最后PING一下网上其它机器的IP地址,检查网络是否连通。五、一个以太网卡安装实例下面以CIRRUS公司生产的CRYSTALCS8920以太网卡为例,详细说明上述安装配置过程。本例中,有些命令参数,如核心源代码目录等,是以我使用的系统环境为出发点。具体应用中还要加以本地化。为了更接近实际,例子中也包括了对安装中碰到的问题的描述。1此网卡是IBMPC机的内置式网卡,机器只提供了WINDOWS95/98环境下的驱动程序。由于REDHAT50发行版本尚未提供对此网卡的直接支持,所以从CIRRUS的站点上找到并下载了该网卡驱动程序的LINUX版本,是一个名为LINUX102_TARGZ的压缩文件。2文件LINUX102_TARGZ解压后包括五个文件。包括精品文档2016全新精品资料全新公文范文全程指导写作独家原创16/19源代码,仅适用于LINUX20版本的目标模块以及README文件。3查阅README文件后,了解到这个驱动程序只能使用网卡EEPROM中设定的端口号、中断号。为了知道网卡EEPROM的设置,又从CIRRUS站点下载了该网卡DOS版本的设置程序SETUPEXE4在DOS中运行SETUPEXE,发现网卡的起始端口号为0X360,中断号为10,与别的设备有冲突。选择SETUPEXE程序的相应菜单,把中断号改成5。另外,此驱动程序不支持PLUGANDPLAY,故也在SETUPEXE中将网卡的PNP功能屏蔽掉。5我所使用的REDHAT50的LINUX核心版本为2034,所以不能用现成的驱动程序目标模块,需要自己动手编译。如上文所述,有两种方式使用此驱动程序。6如果要编译成独立模块,执行下列命令GCCD_KERNEL_I/USR/SRC/LINUX/INCLUDEI/USR/SRC/LINUX/NET/INETWALL精品文档2016全新精品资料全新公文范文全程指导写作独家原创17/19WSTRICTPROTOTYPES02FOMITFRAMEPOINTERDMODULEDCONFIG_MODVERSIONSCCS89X0C编译结果是名为CS89X0O的驱动程序目标模块。要装载此驱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安顺市中石油2025秋招笔试提升练习题含答案
- 南宁市中储粮2025秋招面试专业追问题库仓储保管岗
- 中国联通宝鸡市2025秋招心理测评常考题型与答题技巧
- 中国联通清远市2025秋招市场与服务类专业追问清单及参考回答
- 2025年中药分析考试试题及答案
- 深圳市中储粮2025秋招面试专业追问题库机电维修岗
- 2025年弟子出师考试题及答案
- 2025年四川机械联考试题及答案
- 石家庄市中石化2025秋招笔试模拟题含答案油田勘探开发岗
- 国家能源抚顺市2025秋招能源与动力工程类面试追问及参考回答
- 痛风性关节炎鉴别
- 2025年河北大学版(2024)小学信息科技三年级(全一册)教学设计(附目录 P179)
- 团队士气提升培训课件
- DZ 53-1987沉积岩分散有机质中镜质组反射率测定方法
- 超市水产合作商协议书
- 第三届全国技能大赛竞赛-无人机驾驶(植保)选拔赛备考试题库(附答案)
- 市场营销合同协议书
- 加快建设教育强国-2025年上半年形势与政策
- 异常子宫出血护理查房
- 2025年各地高三语文2月试卷【语言文字运用题】汇集练附答案解析
- 销售部组织体系及管理制度
评论
0/150
提交评论