Linux内核设计与实现(第2版)

2019-03-01 01:44|来源: Robert Love 译者: 陈莉君

IPB Image
虽然是扫描版,但个人感觉质量还不错,并且带书签。

本书基于Linux 2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。主要内容包括:进程管理、系统调用?中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。.

本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。

本书填补了Linux内核理论和实践细节之间的鸿沟。本书针对Linux 2.6内核,包括0(1)调度程序、抢占式内核。块I/O层以及I/O调度程序等。本书还包含了Linux内核开发者在开发时需要用到的很多信息,包括调试技术、编程风格、注意事项等等。

如果你是一名Linux内核爱好者,本书的内容可以帮助你大显身手。如果你是一名普通程序员,本书的内容将会拓宽你的编程思路。如果你初次接触Linux内核,本书则可以帮助你对内核各个核心子系统有一个整体把握。


作者简介:Robed Love是开源社区的名人,很早就开始使用Linux。他活跃于Linux内核和GNOME两个社区。最近,他受聘于Novell公司,作为高级内核工程师在Ximian桌面组工作。他的内核项目包括抢占式内核、进程调度程序、内核事件层,VM增强以及多任务处理性能优化。他创建和维护的另外两个开源项目是schedutils和GNOME卷管理器。此外,他还是Lmux Journal杂志的特邀编辑。

下面是截图:
IPB Image


目录
 译者序  
序言  
前言  
第1章 Linux内核简介  
1.1 追寻Linus的足迹:Linux简介  
1.2 操作系统和内核简介  
1.3 Linux内核和传统Unix内核的比较  
1.4 Linux内核版本  
1.5 Linux内核开发者社区  
1.6 小结  
第2章 从内核出发  
2.1 获取内核源码  
2.1.1 安装内核源代码  
2.1.2 使用补丁  
2.2 内核源码树  
2.3 编译内核  
2.3.1减少编译的垃圾信息  
2.3.2衍生多个编译作业  
2.3.3安装内核  
2.4内核开发的特点  
2.4.1 没有libc库  
2.4.2 GNU C  
2.4.3 没有内存保护机制  
2.4.4 不要轻易在内核中使用浮点数  
2.4.5 容积小而固定的栈  
2.4.6 同步和并发  
2.4.7 可移植性的重要性  
2.5小结  
第3章 进程管理  
3.1 进程描述符及任务结构  
3.1.1 分配进程描述符  
3.1.2 进程描述符的存放  
3.1.3 进程状态  
3.1.4 设置当前进程状态  
3.1.5 进程上下文  
3.1.6 进程家族树  
3.2 进程创建  
3.2.1 写时拷贝  
3.2.2 fork()  
3.2.3 vfork()  
3.3 线程在Linux中的实现.  
3.4 进程终结  
3.4.1 删除进程描述符  
3.4.2 孤儿进程造成的进退维谷  
3.5 进程小结  
第4章 进程调度  
第5章 系统调用  
第6章 中断和中断处理程序  
第7章 下半部和推后执行的工作  
第8章 内核同步介绍  
第9章 内核同步工作  
第10章 定时器和时间管理  
第11章 内在管理  
第12章 虚拟文件系统  
第13章 块I/O层  
第14章 进程地址空间  
第15章 页调整缓存和页回写  
第16章 模块  
第17章 Kobect与sysfs  
第18章 调试  
第19章 可移植性  
第20章 补丁、开发和社区  
参考资料

相关问答

更多
  • 操作系统内核可以分为两大阵营:单内核和微内核(第三阵营是外内核,主要用在科研系统中,不做讨论) 单内核:把内核从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间。 微内核:微内核并不作为一个单独的大过程来实现,相反,微内核的功能被划分成多个独立的过程,每个过程叫做一个服务器。 Linux是单内核,windows是微内核。差异分析大家自己看着办,从6页自己选择性填写。 更多关于Linux知识的学习,请参考书籍《Linux就该这么学》
  • 下载地址: http://www.embeded.cn/Upfiles/005/005/2005_9_14/2005914152848.pdf 原始页面: http://www.embeded.cn/down_list/005005/3562.htm
  • 后者相当于前者的升级版,前者介绍的是0.11版, 不过其实没有多少区别,如果你是开发的话,建议还是看《深入理解linux内核》 对你的帮助大些~~
  • 你至少要清楚linux内核运行轨迹大概是怎么样的,才能与程序结合来看源码啊,网上相关的书很多的,可以去找来看看
  • 都是好书啊,我都有,linux内核设计比较理论,讲述操作系统的一些基本概念但结合linux这个特定的OS,从总体上把握linux内核的设计思想,而深入理解Linux内核则比较具体的讲解内核的设计实现引用的代码比较多,比较细,比较杂,要细细分析。都挺不错,如何你比较入门,可以先看linux内核设计,但要结合代码分析,不然也很难入门,深入理解比较难,如果有一定水平,可以入手。
  • 后者相当于前者的升级版,前者介绍的是0.11版, 不过其实没有多少区别,如果你是开发的话,建议还是看《深入理解linux内核》 对你的帮助大些~~
  • 这个是下载的地址 https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.18.13.tar.gz 这个是3.X的内核源代码总的目录 https://www.kernel.org/pub/linux/kernel/v3.0/ 下载其他的内核有关的可以在一些目录下找 https://www.kernel.org/pub/linux/kernel 不知道啥继续问
  • 用不着,只要仔细学习操作就可以了 通过长时间的对各种操作方法的学习自然就会对内核了解了 平时多看相关网站就行要是没学过上来就学不会有啥效果
  • Linux的内核版本有两种:1稳固版2开发版。 Linux内核版本号是由3个数字构成:a.b.c a:目前发布的内核主版本。 b:偶数表示稳固版本;奇数表示开发中版本。 c:错误修补的次数。 其中第一个数字是主版本号,第二个数字是次版本号,第三个数字是修订版本号。