深度探索Linux操作系统:系统构建和原理解析-王柏生 - (EPUB全文下载)
文件大小:11.31 mb。
文件格式:epub 格式。
书籍内容:
原创精品系列
深度探索Linux操作系统
——系统构建和原理解析
王柏生 著
ISBN:978-7-111-43901-1
本书纸版由机械工业出版社于2013年出版,电子版由华章分社(北京华章图文信息有限公司)全球范围内制作与发行。
版权所有,侵权必究
客服热线:+ 86-10-68995265
客服信箱:service@bbbvip.com
官方网址:www.bbbvip.com
新浪微博 @研发书局
腾讯微博 @yanfabook
目录
前言
为什么要写这本书
读者对象
如何阅读本书
勘误和支持
致谢
第1章 准备基本环境
1.1 安装VirtualBox
1.2 创建虚拟计算机
1.3 安装Linux系统
1.4 使用root用户
1.5 启用自动登录
1.6 挂载实验分区
1.7 安装ssh服务器
1.8 更改网络模式
1.9 安装增强模式
1.10 使用Xephyr
第2章 工具链
2.1 编译过程
2.2 构建工具链
第3章 构建内核
3.1 内核映像的组成
3.2 内核映像的构建过程
3.3 配置内核
3.4 构建基本根文件系统
第4章 构建initramfs
4.1 为什么需要initramfs
4.2 initramfs原理探讨
4.3 配置内核支持initramfs
4.4 构建基本的initramfs
4.5 将硬盘驱动编译为模块
4.6 自动加载硬盘控制器驱动
4.7 挂载并切换到根文件系统
第5章 从内核空间到用户空间
5.1 Linux操作系统加载
5.2 解压内核
5.3 内核初始化
5.4 进程加载
第6章 构建根文件系统
6.1 初始根文件系统
6.2 以读写模式重新挂载文件系统
6.3 配置内核支持网络
6.4 启动udev
6.5 安装网络配置工具并配置网络
6.6 安装并配置ssh服务
6.7 安装procps
6.8 安装X窗口系统
6.9 安装图形库
6.10 安装字体
第7章 构建桌面环境
7.1 窗口管理器
7.2 任务条和桌面
第8章 Linux图形原理探讨
8.1 渲染和显示
8.2 显存
8.3 2D渲染
8.4 3D渲染
8.5 Wayland
光盘内容
谨以此书献给恩师李明树先生。
前言
为什么要写这本书
真正认真开始学习计算机是在2000年,当时书店里到处充斥着一系列如“21天精通xxx”、“7天掌握xxx”之类的图书,更有甚者宣称“24小时学会xxx”。既是高科技,又这么容易学,谁会拒绝呢?于是我走上了这一行。最初,确实如这些书所说,只要按照书中描述,将类似于Visual Studio等IDE安装到机器上,然后像搭积木一样,拖拽几个控件,再添加几行代码,一个程序就完成了。
短暂的兴奋后,好奇心驱使我想更深层次地探索这一切是如何发生的。于是我开始关注更多的书籍、更多的文章、更多的编程参考,国内的、国外的。但是,结果让我很沮丧,如果依然是用积木来举例子,我发现它们的区别就像一盒10块的积木和一盒100块的积木,只有量的变化,没有质的区别。有人说Win32编程更底层,于是我抛开MFC,研究Win32编程。但是,结局一样让我失望。其实它们也没有本质区别,只不过如果把MFC比作大块积木,Win32是小块积木而已。其间我又遍寻那些Windows内幕的书进行研读,也是铩羽而归,似乎前方已无路可走……
2003年4月毕业后,我到了中科院软件所工作,开始从事与Linux相关的开发。经历了从Windows到Linux转型的阵痛后,我开始喜欢上了Linux,因为它是开源的,我似乎看到了曙光。于是我开始疯狂地购买Linux方面各种各样的书籍,阅读各种权威资料,基本上网络上各种权威专家推荐的书籍在我的书桌上全部可以找到。其中,绝大部分是关于内核源码分析的书,于是我一头扎进讲解内核源码分析的书中。但是我很快淹没在庞大的内核代码中,几次都到了难以坚持的程度,但是我强迫自己坚持,强制自己接受作者的灌输。但是,最终的结果是:看的时候似乎明白,但是看完后感觉又什么也没有看。现在回头看,当初很有点像“盲人摸象”这个典故所描述的,在我还没有看清整个“大象”的时候,我就直接去研究“大象”的某些部分的构造了。
彷徨中,我又看到了另外一条路,低版本的内核。我就像一个在沙漠中饥渴难忍的人突然看到了绿洲,我甚至将低版本的内核打印出纸版,然后就像拿着伟人语录一样,只要觅得空隙,就虔诚地潜心研读。但是这条新路除了代码量小了点,与之前的相比并没有太多本质的区别,而且还有一个致命的缺点——早期版本的内核不能和工作中使用的Linux很好地结合。
2005年,我从软件所被派到了中科红旗。最初从事桌面操作系统的开发,使用的是基于Qt的KDE,因为比较成熟,所以当时做得更多的是一些维护工作。但是在我的探索过程中依然重复着上面的故事,没有任何的起色。转折大概出现在2007年,Intel因为一个低功耗平台项目开始和中科红旗合作,他们要在低功耗平台上开发一套Linux操作系统,我接手了这项工作。因为这个平台的处理器性能相对要低,所以对于操作系统的要求比较高。同时因为用于消费类电子产品,用户体验要求也与普通的PC环境完全不同。所以,基于已有的桌面系统几乎是不可能了。于是,我们开始从头开发和定制。
这个从零开始的过程,让我彻底认识了整个Linux操作系统,而不仅仅是Linux的内核。曾经对内核中很多做法和模块不明了,通过构建整个操作系统,我豁然开朗。比如,内核中的DRM模块,其全称是Direct Rendering Manager,从字面上看是直接渲染管理,这到底是什么意思?如果你仅仅从内核的角度来理解,相信我,你永远也不能正确理解它。恰恰是在构建系统时,亲手组装和调试图形环境,包括X、OpenGL、2D/3D图形驱动,让我明白了DRM的用途。这样的例子举不胜举。
经过这个过程中,我深刻认识到,学习操作系统,有三件最重要的事:第一是实践,第二依然是实践,第三还是实践。老祖宗说“纸上得来终觉浅”,唯物主义者说 ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 深度探索Linux操作系统:系统构建和原理解析-王柏生 - (EPUB全文下载)