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

来源:互联网 发布:什么的是网络协议 编辑:程序博客网 时间:2024/05/16 09:20

整章的重点:编译内核

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


内核源码的获取:可以登录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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ui设计师接不到私活怎么办 微信打开很慢怎么办 小泰迪感冒加身上结痂怎么办 法斗眼睛肿了怎么办 地图鱼身上有白点怎么办 人被广告牌砸了怎么办 小米手机出现繁体中文英文怎么办 雅思考试把姓名写错了怎么办 房贷的流水账假怎么办 报到证报道期限过期了怎么办 注销公司公章丢了怎么办 家里的猫太调皮怎么办 孩子纹身了我该怎么办 46天婴儿感冒了怎么办 狗病了不吃东西怎么办 幼儿急诊见风了怎么办 哺乳期乳房有硬块而且疼怎么办 哺乳期乳头破裂乳房似针扎怎么办 回奶胀痛的厉害怎么办 淡水龟的壳变软了怎么办 棕色的泰迪变白怎么办 大班教案泥石流来了怎么办 鸟类的嘴巴坏了怎么办 四川麦蚊子咬了怎么办 脸上被晒脱皮了怎么办 额头被晒脱皮了怎么办 脸黑一块白一块怎么办 小乌龟的壳软了怎么办 把田螺后面吃了怎么办 微生物生态菌群异常怎么办 怀孕初期感染了动物病毒怎么办? 金龙和银龙打架怎么办 海水缸盐度高了怎么办 洗空调洗坏了怎么办 老师是条青花鱼怎么办 吃了带鱼和南瓜怎么办 苹果平板ad忘了怎么办 小米6进海水了怎么办 小米手机掉海水里怎么办 苹果7进海水了怎么办 7p手机进海水怎么办