当前位置:首页 > 数码 >

linux内核深度解析(linux内核源码详解)

来源:原点资讯(www.yd166.com)时间:2024-05-08 03:44:22作者:YD166手机阅读>>

linux内核

最后有福利

在看一些 GNU 开源软件,或者阅读 Linux 内核、驱动源码时,相信大家和我一样,经常会遇到一些“看似熟悉”,但一仔细分析又不是很懂的 C 语言“稀奇古怪”的语法。其实这些都是 GNU C 对 C 语言语法的扩展。一般的教材中基本不会讲到这些,所以看不懂这些特殊的 C 语法应用也很正常。

此达人课将带领大家,一起学习 Linux 内核或 GNU 开源软件中对 C 语言各种扩展语法的使用,最终的目标是看懂 Linux 内核或 GNU 开源软件中这些“奇葩的语法”,扫除理解 Linux 内核驱动或 GNU 开源软件的语法障碍。

1《Linux内核设计与实现》

2《深入理解Linux内核》

3《Linux内核完全注释》

4《Linux内核源代码情景分析 》

一。《Linux内核设计与实现》

1. 单内核和微内核

linux内核深度解析,linux内核源码详解(1)

linux内核深度解析,linux内核源码详解(2)

Linux的内核虽然是基于单内核的,但是经过这么多年的发展,也具备微内核的一些特征。(体现了Linux实用至上的原则)

主要有以下特征:

  1. 支持动态加载内核模块
  2. 支持对称多处理(SMP)
  3. 内核可以抢占(preemptive),允许内核运行的任务有优先执行的能力
  4. 不区分线程和进程

2. 内核版本号

内核的版本号主要有四个数组组成。比如版本号:2.6.26.1 其中,

2 - 主版本号

6 - 从版本号或副版本号

26 - 修订版本号

1 - 稳定版本号

副版本号表示这个版本是稳定版(偶数)还是开发版(奇数),上面例子中的版本号是稳定版。

稳定的版本可用于企业级环境。

修订版本号的升级包括BUG修正,新的驱动以及新的特性的追加。

稳定版本号主要是一些关键性BUG的修改。


二,深入理解Linux内核

Linux 和一些商用unix的区别

1. Linux 主要是由 unix 内核加上 gnu的引用程序组成的 兼容IEEE POSIX 标准

2.linux 是传统上面的单块结构有逻辑上不同的部分组成

3.linux采用的是模块的方式(动态编译的方式)加载程序块。

4.Linux内核支持对称多处理器

5.Linux支持面向对象的虚拟文件系统,日志文集系统

优势:

1.免费

2.充分定制Linux系统 随时随地修改Linux代码

3.可以充分利用硬件平台 ,对硬件性能要求不高

4.Linux系统的代码运行时高效率的 ,而且没有商用的限制 。

5.内核精简

6.Linux系统兼容性好

7后台支持广泛

系统调用是 实现用户态到内核态的过程 , 特权模式由用户态转变为内核态 保存断点 ,最后 由硬件实现系统调用 返回进程断点

linux内核深度解析,linux内核源码详解(3)

三,《Linux内核完全注释》

1、选择《Linux内核完全注释》的理由

从现在起,我打算学习Linux内核,作一个基本的了解和入门吧。在网上也看了许多国内外的一些经典书籍的评价,最后我还是选择阅读《Linux内核完全注释》这本书,作为一个基础入门,这本书在网上的评价也还可以。

这本书讲解的Linux内核版本是Linux 0.11,虽然内核版本很低,但是作为学习来说应该还是可以的,该内核已经能够正常的编译运行,并且其中已经包括了Linux工作原理的精髓。由于Linux 0.11内核不超过2万行代码量,因此可以完全的通过一本书进行了解和学习。正是因为Linux 0.11内核代码量小,这本书对Linux 0.11内核的全部代码进行了注释,便于读者学习和理解。

为了让读者对所研究的系统有感性的了解,并能通过实验来加深对原来的理解,作者还专门重建了基于该内核的可运行的Linux 0.11系统,因为其中含有GNU gcc编译环境,因此使用该系统也能做一些简单的开发工作。

当然,使用早期内核作为学习的对象也有不足之处。所选用的Linux 0.11内核,不包含对虚拟文件系统VFS的支持、对网络系统的支持,仅支持a.out执行文件和对其他一些现有内核中复杂子系统的说明。

2、资料传送门

下面列举一下书中提供的一些资料链接,也方便以后自己的查找吧:

http://oldlinux.org/Linux.old/images/:该目录中含有已经制作好的内核映像文件bootimage和根文件系统映像文件rootimage。

http://oldlinux.org/Linux.old/bochs/:该目录中含有已经设置好的运行在计算机仿真系统bochs下的Linux系统。

http://oldlinux.org/Linux.old/Linux-0.11/:该目录中含有可以在Linux 0.11系统中使用的其他一些工具程序和原来发布的一些安装说明文档。

http://oldlinux.org/Linux.old/kernel/0.1x/:可以在这里下载本书讲解的Linux 0.11内核源码,文件名:linux-0.11.tar.gz。

3、内核源码目录结构

整个Linux 0.11内核源代码的目录结构如下图所示:

linux内核深度解析,linux内核源码详解(4)

首页 123下一页

栏目热文

linux系统电脑推荐(笔记本linux系统好用吗)

linux系统电脑推荐(笔记本linux系统好用吗)

遇到了一个用户,说到他在读大学的时候买了台电脑,在当时也算是豪华配置了,但过了这么多年,使用起来卡顿死机也是常有的事。...

2024-05-08 03:27:28查看全文 >>

海来阿木女儿怎么去世的(海来阿木前妻现在过得怎么样了)

海来阿木女儿怎么去世的(海来阿木前妻现在过得怎么样了)

点击观看视频版:30岁的海来阿木在春晚舞台上与单依纯合唱的《不如见一面》感动了无数人,但演出结束后,他并未停留享受赞誉,...

2024-05-08 03:02:54查看全文 >>

海来阿木女儿是生什么病吗(海来阿木的女儿几岁夭折了)

海来阿木女儿是生什么病吗(海来阿木的女儿几岁夭折了)

近日,网络上有关知名彝族歌手海来阿木女儿的私人信息被广泛讨论,这引发了我们对于公众人物个人隐私权的思考。作为公众人物,他...

2024-05-08 03:22:42查看全文 >>

海来阿木家世简介(海来阿木个人曲折经历简介)

海来阿木家世简介(海来阿木个人曲折经历简介)

引言在四川腹地的山水间,海来阿木的爱情故事起始于甜蜜的浪漫,却未曾预料到即将迎来的风暴。初恋的美好瞬间被命运的残酷玩笑所...

2024-05-08 02:54:51查看全文 >>

海来阿木结过两次婚(海来阿木老婆结婚几次)

海来阿木结过两次婚(海来阿木老婆结婚几次)

为了您更好的阅读互动体验,为了您及时看到更多内容,点个“关注”,我们每天为您更新精彩故事。文|瓜呱娱乐编辑|瓜呱娱乐前言...

2024-05-08 03:03:34查看全文 >>

人身体最怕冷的地方(人到冷的地方会有什么不适)

人身体最怕冷的地方(人到冷的地方会有什么不适)

中国天气网讯 今(27日)后一周,影响我国的冷空气活动频繁,且实力不弱。第一股冷空气,27日内蒙古中东部、东北地区将有4...

2024-05-08 03:03:05查看全文 >>

舒兰市在吉林市哪个区(舒兰市是吉林县级市么)

舒兰市在吉林市哪个区(舒兰市是吉林县级市么)

5月7日,位于吉林省吉林市北部的县级市舒兰新增一例新冠肺炎确诊病例,截至5月15日,官方通报的该名患者的关联确诊病例已增...

2024-05-08 03:37:03查看全文 >>

舒兰市归哪个市管辖(舒兰为什么是县级市)

舒兰市归哪个市管辖(舒兰为什么是县级市)

吉林省境内有8个名字非常好听的县,你知道是哪几个吗?你知道是这几个县名字的由来吗?看看这8个县里边有没有你的家乡第一个,...

2024-05-08 03:30:39查看全文 >>

舒兰地级市吗(舒兰市属于哪个市地图)

舒兰地级市吗(舒兰市属于哪个市地图)

舒兰,本是一个东北的小城市,走路只用半小时就能逛完的小地方,最近舒兰却突然走入了人们的视线之中,下面我们了解以下舒兰这个...

2024-05-08 03:16:53查看全文 >>

舒兰市有区吗(舒兰有哪些县市)

舒兰市有区吗(舒兰有哪些县市)

吉林省吉林市9个区县(或县级市)的户籍人口:1、昌邑区, 60.852、舒兰市, 60.783、磐石市, 50.644、...

2024-05-08 02:56:48查看全文 >>

文档排行