码迷,mamicode.com
首页 > 系统相关 > 详细

《Linux内核设计与实现》读书笔记 1&2

时间:2016-03-27 17:51:59      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

第一章    Linux内核简介

1.1Unix历史

         Unix特点:1、很简洁

                            2、所有东西都被当成文件对待

                            3、Unix内核和相关的系统工具软件都是用C语言编写而成

                            4、进程创建非常迅速

         所以Unix很强大。

1.2追寻Linus足迹:linux简介

         Linus开发。Linux是类Unix系统。Linux内核也是自由软件。

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内核开发的特点

         与应用程序开发的不同:

l  既不能访问C库也不能访问标准的C头文件库

l  必须使用GUN C

l  缺乏像用户空间那样的内存保护机制

l  难以执行浮点运算

l  给每个进程只有一个很小的定长堆栈

l  由于内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发

l  要考虑可移植性

《Linux内核设计与实现》读书笔记 1&2

标签:

原文地址:http://www.cnblogs.com/mqy123/p/5326189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!