基于《Linux内核设计与实现》笔记概述------从内核出发

整章的重点:编译内核

捎带介绍基本常识:内核源代码的获取,以及如何安装新的内核,使用补丁,内核源码树


内核源码的获取:可以登录Linux官网获取源代码。PS:希望拥有最新的代码。

安装内核源代码(位置):内核源码一般安装在/usr/src/linux目录下。

注意:不能把这个源代树用于开发。

不要以root身份对内核进行修改。

使用补丁:不再需要下载庞大的内 核源码的全部压缩,而只需给旧版本打上一个增量补丁就OK了

可以以补丁的形式发布对代码的修改,也可以以补 丁的形式接收其他人所做的修改。

一般来说,一个给定版本的补丁的内核总是打在前一个版本上。


内核源码树:内核源码树由许多目录组成,而大多数目录又包含饿了更多的子目录。

编译内核:

编译内核包括三部分,配置内核,较少编译的垃圾信息,衍生编译的多个作业。

编译内核之前,首先要配置它。PS:由于内核提供了数不胜数的功能,且支持了难以计数的硬件,因而有许多东西需要配置。

可以配置 各种选项,配置选项既可以用来决定那些文件编译进了内核,也可以通过预处理命令处理代码。

配置项可以是二选一,或者是三选一。

配置选项既可以值字符串,可以是整数。


重点:如果你是一个黑客,你应当编译自己的内核,并按照自己的意愿决定包括或不包括哪一模块。

内核提供了不同的工具来简化内核配置:简单的有三种方法。

  1. 最简单的一种是一个字符界面下的命令行工具:$ make config1.
  2. 或者,是用基于gtk+的图形工具:$ make gconfig
  3. 基 于ncurse库编制的图形界面工具:$ make menuconfig

这三种工具将所有配置项分门别类放置,这些配置项也会被存放在内核代码树的根目录文件下。

一旦你配置好了,就可以用简单的命令来编译它了。
安装内核
在内核编译好之后,该需要安装它。
一定要保证随时有一个或两个可以启动的内核,以防新编译的内核出现问题。

内核开发的特点:

无libc库抑或无标准头文件
Linux内核是用C语言编写的
没有内存保护机制
不要轻易在内核代码中使用浮点数。
容积小而固定的栈
同步和并发性
以及重要的可移植性
从这几点可以看出他们的 重要差异:
•内核编程时既不能访问C库也不能访问标准的C头文件。
•内核编程时必须使用GNU C。
•内核编程时缺乏像用户空间那样的内存保护机制。
•内核编程时难以执行浮点运算。
•内核给每个进程只有一个很小的定长堆栈。
•由于内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发。
•要考虑可移植性的重要性。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值