标签:
第一章的学习内容就是对Linux内核有一个基本的了解,同时知道一些关于Linux的知识。
学习Linux,可以自己有一台装有Linux操作系统的机器,源代码的作用无可替代; Linux发展历程简介:Linux是Unix家族的重要成员,一名大学生Linus,他对Unix源代码的修改构建了现在Linux系统的雏形,而且Unix家族的源码都采用开放的原则。
Linux操作系统与其它操作系统的不同点:首先介绍一下单内核和微内核:单内核:单内核就是把它从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上,内核可以直接调用函数,这种模式具有简单和性能高的特点。微内核:微内核并不作为一个单独的大过程来实现,微内核的功能被划分为多个独立的过程,每个过程都叫一个服务器,所有的服务器都保持独立运行在各自的地址空间。这样不能像单模块内核那样直接调用函数,而是通过消息传递来实现。
Linux系统是一个单内核,运行在单独的内核地址空间上,模块化设计,强占式内核,支持内核线程以及动态装在内核模块的能力
使用一个新的版本控制系统来管理Linux内核源代码:Git
使用Git版本来获取Linux的一个最新版本的代码如下图所示:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux -2.6.git
下载完毕代码后,可以更新分支到Linux的最新分支:
$git pull
$make config #这是字符界面的,用于遍历一遍所有的配置选项,要求用户逐一选择yes、no或者是module选项 $make menuconfig #用于gtk+的图形界面工具直接进行选择,将会把所有配置选项分门别类放置 $make gconfig #也是按照图形界面将配置选型分门别类的放置供用户选择。 $make deconfig #基于默认的配置为你的体系创建一个配置。
2.1这些配置项被放在内核代码树根目录下的.config文件,可以直接修改它,在你修改过配置文件之后,或者用已有的配置文件配置新的代码的时候,应该验证和更新配置,命令为:
$make oldconfig
$zcat /proc/config.gz >.config
$make oldconfig
此时输入如下命令:$ make >/dev/null
$make -jn #其中n是要衍生出的作业数
$make -j32 >/dev/null
_asm_( 汇编语句模块: 输出部分:函数调用时候的参数 输入部分:函数调用时候的参数 破坏描述部分): 即格式为asm("statements":output_regs:input_regs:clobbered_regs);
标签:
原文地址:http://www.cnblogs.com/20135124freedom/p/5281446.html