博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux内核学习-建议路线
阅读量:6854 次
发布时间:2019-06-26

本文共 3102 字,大约阅读时间需要 10 分钟。

三大经典书:

LDD: Linux Device Driver        

容易上手

LKD: Linux Kernel Development   

通俗易懂

UDK: Understand Linux Kernel     

抽象难懂

 

比较专的几本书:

Understanding the Linux Virtual Memory Manager  

内存管理

Understanding Linux Network Internals  

linux 配置等 很多.用到具体工具时可以参考.入门阶段各个linux社区的FAQ很重要,基本包含了初学者能碰到的大部分问题,好好利用.例如国内的linuxsir, CLF, CU, etc .国外主要时几个主要的邮件列表. Step 1:对于系统使用有了基本掌握之后,开始进入编写应用程序阶段 ,进入这阶段前提是C语言必须 有非常扎实的基础. 如果看完 expert c programming , 觉得没有困难,算是过关能基本使用vim,emacs ,其中之一.基本会编写makefile.这阶段学习的必备之书是APUE.作者steven是我非常敬佩的前辈,可惜英年早逝.这本书讲解非常全面,初学会感到困难,但是坚持下来受益非浅.第二版已经引进可以买到Howto write makefile 这个有中文的,可以作为写makefile的参考.O'Reilly 也有 emule上搜吧这里除了一般的应用程序外有3个重要的分支.A.网络编程. 类unix下有非常丰富的网络工具所以这个是很大的一类分支.网络通信本质上也是进程间通信,所以steven的进程间通信3卷本就是必看的书(steven生前只完成了2卷第三卷由他的朋友续写.具体情况不明).作为更进一步可以研究apache的衍生项目APR和ACE(这个需要比较深厚的C++,设计模式的功底).可以说网络编程是一个非常大的分支,精通需要耗费很多时间.研究内核看完steven的前2卷即可.B.Xwindows 这个涉及到GUI, 也是一个庞大的分支,研究内核只需要关注X的架构和驱动之间的关系即可.这个分支很庞大,可是好的书其实不多.只有92年的这个系列O'Reilly - The Definitive Guides To The X Window Systems,Vol 1 - Xlib Programming Manual, 3Rd Ed .最近xserver的架构有很大的变化,xgl的出现石破天惊,看过novell2月在法国的演示真是无话可说.只能说在创新这一点上我们还没有资格来谈.这点我同意BNN的观点,这10年我们的任务就是学习,追赶.CLF 上面有一些文章和翻译的projectC. 脚本.研究内核掌握Bash即可,不过这几年perl,php,python,ruby都很火爆,国内这这方面也很红火.这些书如过江之鲫,没啥好说的. Step2:开始进入OS 的正题, 首先要掌握基本概念 首推 operating system concepts 第六版通过这本书可以掌握基本概念, 有个感性认识.然后可以看<
<操作系统设计与实现>
> 这本书是结合minix这个教学系统来讲的,也是经典书籍不过很少有人有耐心看完上下两册.现在已经进化到minix3了,老头不甘于只作一个教学系统.差点去念老头的phd.minix3 已经改变了很多.还有一本很好的书籍Operating Systems: A Design-Oriented Approach 这本书很难找,当年我从一堆垃圾书中掏到这本世图的影印本,印数很小,不过确实是一本好书,作者把每章的概念对应到java代码 ,深入浅出,可惜没人重视.M. J. Bach , The Design of the UNIX Operating System, Prentice-Hall经典中的经典这个阶段主要是从总体上把握OS的整体结构,对各个概念基本了解. step 3:以linux为平台的内核开发的初级阶段.<
> 3th<
> 3th<
> 2th<
>介绍unix OS内核的几本重要的书:The Design and Implementation of the FreeBSD Operating SystemFreeBSD 的经典诠释.The Design and Implementation of the 4.4BSD Operating System4.4BSD-Lite的经典诠释《 UNIX 高级教程系统技术内幕 》中文的是96年的老版本,听说出新版了,还没到手Solaris Internals: Core Kernel Architecturesun在unix历史上作出了很多贡献,solaris的进程调度 内存管理,文件系统 都有独到之处.还有线程模型是m:n 的混合模式, 实现方法还有很有意思的. Step4:从这里开始进入了OS的具体实现和内核很具体的分支.进入这章之前必须要对编译器, 体系结构有中等水平的认识.也就是说编译器要看过龙书,体系要看过量化方法这本.最好加上see mips run调度, 内存管理, 网络协议栈,文件系统,体系相关.进程管理,Linker&&Loader , tool-chain这些都是很重要的分支都有很重要的应用.对于调试器原理要有一定的了解,能熟练使用The Linux® Networking Architecture: Design and Implementation of NetworkUnderstanding The Linux Virtual Memory Manager Mel Gorman ,和这本书的作者当面讨论过, 很nice的人,却在ibm做java coder 好奇怪 呵呵2.4内核内存管理的全面分析, 2.6中改动不小linux 情景分析 2.4 kernel 的全面分析. 浙大的毛德操,李善平老师力作.linux 完全注释 linux 早期版本的全面解析 国人力作www.opensolaris.orgsolaris 代码已经公开 可以参考Wiley.UNIX.Filesystems.Evolution.Design.and.ImplementationSunOS50MultithreadArchitectureWiley - Symbian OS Internals {Real-time Kernel Programming}这一阶段 书籍已经是辅助,主要是靠查看代码,做实际的修改,实验,比较. Step 5 :进入微内核高端专用系统移植与开发.QNX, IOX , RTEM,ARINC-653 XEN纯粹的学术研究的os : Plan 9(派生出utf8 , proc 文件系统) Plan B Hurd Oskit L4到这一阶段的人数很有限, 基本是靠团队,靠实力,靠经验摸索了有用的工具: lxr 索引代码的利器.有关系统软件的战略问题见陈怀临的对中国系统软件的思考http://www.xtrj.org/btw: kuth的书估计不是每个人都有耐心看完的,所以平时无聊的时候建议看mit算法导引的录像.绝对大补,emule上有,可以下到 . 中科大的acm站点上也有,教育网的可以去下.有什么遗漏不当之处,请大家指正.

 

转载地址:http://nmyyl.baihongyu.com/

你可能感兴趣的文章
自己动手编写 IronPython IDE
查看>>
Eclipse:Eclipse平台技术概述
查看>>
OSSIM让网络攻击无所遁形
查看>>
word打开错误解决方法小笔记
查看>>
OSSIM(开源安全信息管理系统)在企业网络管理中的应用
查看>>
【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端消息传递
查看>>
Word 2003启动后如何彻底去掉缩略图
查看>>
Puppet实战-Puppet主机、模块、类、资源、变量、参数、标签命名规范
查看>>
技术总结:自动扩张WPF树型表格列宽
查看>>
使用wxWidgets for C++从资源文件中静态装载图像
查看>>
WINSTC(windows remote server/run time/remote client)自己想的b/s方案
查看>>
oc54--auatorelease应用场景
查看>>
Ext.Net全部Icon图标名称展示
查看>>
RHEL7.0 配置网络IP的三种方法
查看>>
使用endmqm 命令无法停止MQ队列管理器,怎么办?
查看>>
ArcGIS中ObjectID,FID和OID字段区别
查看>>
Linux 小知识翻译 - 「Linux和CPU的兼容性」
查看>>
docker数据拷贝
查看>>
ejs模板中的四种表达式输出形式
查看>>
innerHTML与innerText的异同
查看>>