第一章 Linux内核简介linux
1.2追寻Linus足迹:linux简介git
Linus开发。Linux是类Unix系统。Linux内核也是自由软件。shell
1.3操做系统和内核简介服务器
操做系统:在整个系统中负责完成最基本功能和系统管理的那些部分。包括内核、设备驱动程序、启动引导程序、命令行shell或者其余种类的用户界面、基本的文件管理工具和系统工具。网络
内核:内核才是操做系统的核心。由负责响应中断和中断服务程序、负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通讯等系统服务程序共同组成。独立于普通应用程序,通常处于系统态。并发
1.4Linux内核和传统内核的比较异步
单内核工具
从总体是做为一个单独的大过程实现。你们都身处同一地址空间,内核之间的通讯是微不足道的。单模块具备简单和性能高的特色。性能
微内核网站
微内核功能被划分为多个独立的过程。经过消息传递处理微内核通讯,采用进程间通讯(IPC)机制
实际应用的基于微内核的系统都让大部分或所有服务器位于内核。
Linux内核
支持动态加载内核模块;支持对称多处理机制;内核能够抢占;对内核来讲全部进程都同样;提供北邮设备类的面向对象的设备模型;
1.5Linux内核版本
稳定的和处于开发中的。
1.6Linux内核开发者社区
Linux内核邮件列表颇有用。
第二章 从内核出发
2.1获取内核源码
Linux内核官方网站http://www.kernel.org
使用GIt:
获取最新提交到Linux版本树的一个副本:git clone git://git.kernel.org/pub/scm/linux/kernel/gie/Torvalds/linux-2.6.git
使用补丁;
至关于更新版本:patch –pl<../patch-x.y.z
2.3编译内核
编译内核以前须要进行配置。配置为二选一(yes or no)或三选一(yes or no or module)
配置工具:make config 遍历全部配置项,耗时长
Make menuconfig 基于ncurse库编制的图形界面工具
Make gconfig 基于gtk+的图形工具
Make defconfig 缺省配置
配置完成须要make就能够编译
2.4内核开发的特色
与应用程序开发的不一样: