没有合适的资源?快使用搜索试试~ 我知道了~
首页学习内核---Linux网卡驱动分析
学习内核---Linux网卡驱动分析
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
2002年,美国SUN公司将其开发的椭圆加密技术赠送给开放源代码工程 公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。 椭圆曲线密码体制来源于对椭圆曲线的研究,所谓椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程: y2+a1xy+a3y=x3+a2x2+a4x+a6 (1) 所确定的平面曲线。其中系数ai(I=1,2,…,6)定义在某个域上,可以是有理数域、实数域、复数域,还可以是有限域GF(pr),椭圆曲线密码体制中用到的椭圆曲线都是定义在有限域上的。 椭圆曲线上所有的点外加一个叫做无穷远点的特殊点构成的集合连同一个定义的加法运算构成一个Abel群。在等式
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/655490/bg1.jpg)
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网
络系统,决定着系统的性能和稳定性。
Linux 的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/li
nux 下找到,大部分应用软件也都是遵循 GPL 而设计的,你都可以获取相应的源程序代码。
全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明
显的好处就是 Linux 修补漏洞的快速以及对最新软件技术的利用。而 Linux 的内核则是这
些特点的最直接的代表。
想象一下,拥有了内核的源程序对你来说意味着什么?首先,我们可以了解系统是如
何工作的。通过通读源代码,我们就可以了解系统的工作原理,这在 Windows 下简直是天
方夜谭。其次,我们可以针对自己的情况,量体裁衣,定制适合自己的系统,这样就需要
重新编译内核。在 Windows 下是什么情况呢?相信很多人都被越来越庞大的 Windows 整得
莫名其妙过。再次,我们可以对内核进行修改,以符合自己的需要。这意味着什么?没错
相当于自己开发了一个操作系统,但是大部分的工作已经做好了,你所要做的就是要增加
并实现自己需要的功能。在 Windows 下,除非你是微软的核心技术人员,否则就不用痴心
妄想了。
内核版本号
由于 Linux 的源程序是完全公开的,任何人只要遵循 GPL,就可以对内核加以修改并
发布给他人使用。Linux 的开发采用的是集市模型(bazaar,与 cathedral--教堂模型--对应),
为了确保这些无序的开发过程能够有序地进行,Linux 采用了双树系统。一个树是稳定树
(stable tree),另一个树是非稳定树( unstable tree)或者开发树(development tree)。
一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所做的改进也可以
应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同的改进。一旦开发
树经过了足够的发展,开发树就会成为新的稳定树。开发数就体现在源程序的版本号中;
源程序版本号的形式为 x.y.z:对于稳定树来说,y 是偶数;对于开发树来说,y 比相应的稳
定树大一(因此,是奇数)。到目前为止,稳定树的最高版本是 2.2.16,最新发布的
Redhat7.0 所采用的就是 2.2.16 的内核;开发树的最新版本是 2.3.99。也许你已经发现和多
网站上都有 2.4.0-test9-pre7 之类的内核,但是这并不是正式版本。内核版本的更新可以访
问 http://www.kernel.org。
为什么重新编译内核
Linux 作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修
订了旧内核的 bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自
己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更
稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是
Linux 使用者的必要操作内容。
为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般
主要有下面四个考虑:
l 自己定制编译的内核运行更快(具有更少的代码)
l 系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
l 不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
![](https://csdnimg.cn/release/download_crawler_static/655490/bg2.jpg)
l 将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些
内核编译模式
要增加对某部分功能的支持,比如网络之类,可以把相应部分编译到内核中( build-
in),也可以把该部分编译成模块( module),动态调用。如果编译到内核中,在内核启
动时就可以自动支持相应部分的功能,这样的优点是方便、速度快,机器一启动,你就可
以使用这部分功能了;缺点是会使内核变得庞大起来,不管你是否需要这部分功能,它都
会存在,这就是 Windows 惯用的招数,建议经常使用的部分直接编译到内核中,比如网卡。
如果编译成模块,就会生成对应的.o 文件,在使用的时候可以动态加载,优点是不会使内
核过分庞大,缺点是你得自己来调用这些模块。
内核编译详解
新版本内核的获取和更新
Linux 内核版本发布的官方网站是 http://www.kernel.org,国内各大 ftp 上一般都可以找
到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另外一种
是 patch 文件,即补丁。完整的内核版本比较大,比如 linux-2.4.0-test8.tar.bz2 就有 18M 之
多,网速快的用户可以下载使用。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2 文件,
二者分别是使用 gzip 或者 bzip2 进行压缩的文件,使用时需要解压缩。patch 文件则比较小,
一般只有几十 K 到几百 K,极少的会超过 1M,网速慢的用户可以使用 patch 文件来升级内
核。但是 patch 文件是针对于特定的版本的,你需要找到自己对应的版本才能使用。
编译内核需要 root 权限,以下操作都假定你是 root 用户。请把你需要升级的内核拷贝
到/usr/src/下(下文中以 2.4.0test8 的内核的 linux-2.4.0test8.tar.gz 为例),命令为
#cp linux-2.4.0test8.tar.gz /usr/src
让我们先来查看一下当前/usr/src 的内容,注意到有一个 linux 的符号链接,它指向一
个类似于 linux-2.2.14(对应于你现在使用的内核版本号)的目录。首先删除这个链接:
#cd /usr/src
#rm -f linux
现在解压我们下载的源程序文件。如果所下载的是.tar.gz(.tgz)文件,请使用下面的
命令:
#tar -xzvf linux-2.4.0test8.tar.gz
如果你所下载的是.bz2 文件,例如 linux-2.4.0test8.tar.bz2,请使用下面的命令
#bzip2 -d linux-2.4.0test8.tar.bz2
#tar -xvf linux.2.4.0.test8.tar
现在让我们再来看一下/usr/src 下的内容,你会发现现在有了一个名为 linux 的目录,
![](https://csdnimg.cn/release/download_crawler_static/655490/bg3.jpg)
里面就是我们需要升级到的版本的内核的源程序。还记得那个名为 linux 的链接么?之所以
使用那个链接就是防止在升级内核的时候会不慎把原来版本内核的源程序给覆盖掉了。我
们也需要同样处理:
#mv linux linux-2.4.0test8
#ln -s linux-2.4.0test8 linux
这样我们也有了一个名为 linux 的符号链接,就不用担心以后会把它覆盖掉了(也许你
会觉得重新建立 linux 的符号链接没有必要,但实际上这是必不可少的,下文中会有介绍)。
如果你还下载了 patch 文件,比如 patch-2.4.0test8,你就可以进行 patch 操作(下面假设
patch-2.4.0test8 已经位于/usr/src 目录下了,否则你需要先把该文件拷贝到/usr/src 下):
#patch -p0 < patch-2.4.0test8
现在,我们已经把内核源程序升级到最新版本了,下面就让我们开始内核编译的旅程
吧。
准备工作
通常要运行的第一个命令是:
#cd /usr/src/linux;make mrproper
该命令确保源代码目录下没有不正确的.o 文件以及文件的互相依赖。由于我们使用刚
下载的完整的源程序包进行编译,所以本步可以省略。而如果你多次使用了这些源程序编
译内核,那么最好要先运行一下这个命令。
确保/usr/include/目录下的 asm、linux 和 scsi 等链接是指向要升级的内核源代码的。它
们分别链向源代码目录下的真正的、该计算机体系结构(对于 PC 机来说,使用的体系结
构是 i386)所需要的真正的 include 子目录。如:asm 指向/usr/src/linux/include/asm-i386 等。
若没有这些链接,就需要手工创建,按照下面的步骤进行:
# cd /usr/include/
# rm -r asm linux scsi
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
这是配置非常重要的一部分。删除掉/usr/include 下的 asm、linux 和 scsi 链接后,再创
建新的链接指向新内核源代码目录下的同名的目录。这些头文件目录包含着保证内核在系
统上正确编译所需要的重要的头文件。现在你应该明白为什么我们上面又在 /usr/src 下"多
余"地创建了个名为 linux 的链接了吧?
配置
接下来的内核配置过程比较烦琐,但是配置的适当与否与日后 Linux 的运行直接相关,
剩余14页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
yinlichuanmei
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 保险服务门店新年工作计划PPT.pptx
- 车辆安全工作计划PPT.pptx
- ipqc工作总结PPT.pptx
- 车间员工上半年工作总结PPT.pptx
- 保险公司员工的工作总结PPT.pptx
- 报价工作总结PPT.pptx
- 冲压车间实习工作总结PPT.pptx
- ktv周工作总结PPT.pptx
- 保育院总务工作计划PPT.pptx
- xx年度现代教育技术工作总结PPT.pptx
- 出纳的年终总结PPT.pptx
- 贝贝班班级工作计划PPT.pptx
- 变电值班员技术个人工作总结PPT.pptx
- 大学生读书活动策划书PPT.pptx
- 财务出纳月工作总结PPT.pptx
- 大学生“三支一扶”服务期满工作总结(2)PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)