学习linux底层驱动开发有什么经典的参考书

学习linux底层驱动开发有什么经典的参考书,第1张

结构、 *** 作系统、体系结构、编译原理、计算机网络你全修过

我想大概可以分为4个阶段,水平从低到高

从安装使用=>linux常用命令=>linux系统编程=>内核开发阅读内核源码

其中学习linux常用命令时就要学会自己编译内核,优化系统,调整参数

安装和常用命令书太多了,找本稍微详细点的就ok,其间需要学会正则表达式

系统编程推荐《高级unix环境编程》,黑话叫APUE

还有《unix网络编程

这时候大概还需要看资料理解elf文件格式,连接器和加载器,cmu的一本教材中文名为《深入理解计算机系统》比较好

内核开发阅读内核源码阶段,从写驱动入手逐渐深入linux内核开发

参考书如下《linux device drivers》,黑话叫ldd

《linux kernel development》,黑话叫lkd

《understading the linux kernel》,黑话叫utlk

《linux源码情景分析》

这四本书为搞内核的必读书籍

最后,第三阶段和第四阶段最重动手,空言无益,光看书也不罩,不动手那些东西理解不了

学习linux/unix编程方法的建议

建议学习路径:

首先先学学编辑器,vim, emacs什么的都行。

然后学make file文件,只要知道一点就行,这样就可以准备编程序了。

然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。

如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。

然后再看Douglus E Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。

如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。

对于几本经典教材的评价:

《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。

《Advanced Programing in Unix Envirement》 WRichard Stevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。

《Unix Network Programing》WRichard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。

《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。

《用TCP/IP进行网际互连》DouglusEComer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。

《Operating System - Design and Implement》这个是讲 *** 作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《 *** 作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对 *** 作系统的底层怎么工作的就会

有一个清晰的认识。

《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。

Linux运维是一个融合多学科的综合性技术岗位(网络、系统、开发、安全、应用架构、存储等),可以多个职业发展方向,主要包括:

1 Linux运维工程师

主要负责具体的产品运维工作,需要具有一定的开发能力,需深入了解业务,能够判断系统架构的优劣对比,对业务的掌控决定了相应运维工程师在业务发展中的作用,该职业长期发展方向是成为大型系统架构师。

2 Linux运维平台研究工程师

该职业是专门研究运维相关通用平台和技术,需要有一定的产品线运维经验或相关运维需求,对研发能力有较高要求,长远发展方向是成为各个技术纵向领域的技术专家。

3 数据库工程师

数据库工程师是一个非常重要的岗位,一般公司都很重视,其还有细分领域,主要包括数据库内核、云数据库等,长远发展是数据库领域的技术专家、数据库架构师。

4运维总监

该岗位需拥有丰富的运维经验,对协调和推进能力要求比较高,拥有一定的技术基础,是后期转型的理想管理岗位。

相较于其他的IT技术,Linux运维是一个很不错的选择,市场需求量一直都很大,找工作也更加容易一些,而且随着经验、资历和技术的增加,薪资和发展前景都很不错!

linux内核最经典的书是《深入理解Linux内核》,这本书内核编程看;如果你是搞UNIX/Linux环境下的应用程序编程,那么就看《UNIX环境高级编程》;如果做Linux下设备驱动程序开发,就看《Linux设备驱动》(第三版)。这几本都是老外写的,都是很经典的书。

入门得话,不要看经典书籍了,太专业不好理解。

推荐几本LINUX应用软件入门书籍

《嵌入式Linux应用开发完全手册》

《嵌入式Linux应用程序开发标准教程》

《嵌入式LinuxC语言应用程序设计》

下面 才是重点,绝对经典书籍:

入门篇

《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。

驱动篇

《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解

内核篇

浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX内核完全剖析--基于012内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。

shell篇

《LINUX与UNIX Shell编程指南》

应用编程

不用说了肯定是《unix环境高级编程》被称为unix编程的圣经。

TCP/IP篇

《TCP/IP详解》作者WRichard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。

c语言

《The C Programming Language》正是作者造出来的c语言,书能垃圾就怪了

《c和指针》和《c缺陷和陷阱》两本必备。包含了c语言最容易出错的地方,加深c语言功力的好材料。

关于算法

《算法导论》

以下是华清远见·星创客嵌入式精英训练营提供的学习嵌入式必看的100本书:

001《大话数据结构》

002《鸟哥的 linux 私房菜》

003《疯狂 android 讲义》

004《第一行代码》

005《linux 内核设计与实现》

006《驱动设计开发》

007《linux 内核解密》

008《unix 环境高级编程》

009《linux 内核设计与实现》

010《essential C++》

011《嵌入式 linux》

012《linux 设备驱动》

013《c 语言深度解剖》

014《linux 下的 c编程》

015《C Primer Plus(第五版)》

016《ARM 体系结构与编程(第二版)》

017《lINUX 设备驱动开发详解(第三版)》

018《android 开发艺术探讨》

019《c++plus》

020《Unix 环境高级编程》

021《与大数据同行——学习和教育的未来》

022《用户体验的要素》

023《编程与艺术》

024《ARM 嵌入式体系结构与接口技术》

025《cortex-m0 接口编程》

026《C 语言程序设计:现代方法》

027《C++ Primer》

028《数据结构》(严蔚敏)

029《算法导论》

030《Linux 设备驱动开发》

031《代码大全》

032《深入理解计算机系统》

033《UNIX 环境高级编程》

034《计算机安全原理》

035《UNIX 网络编程》

036《HeadFirst 设计模式》

037《linux 驱动》(宋保华)

038《C++ primer4》

039《qt5 精彩实例》

040《ldd3》

041《C++高级编程》

042《C语言教程》

043《实战 linux 编程精髓》

044《ARM 教程》

045《JAVA 编程思想》

046《HTML+CSS 网页设计与布局从入门到精通》

047《C 语言深度解剖》

048《深度实践嵌入式 Linux 系统移植》

049《unix 高级编程》

050《c 嵌入式一站式教学》

051《编译原理》

052《深度实践嵌入式 Linux 系统移植》

053《UNIX 环境高级编程》

054《linux 网络编程》

055《C 语言程序设计》

056《unix 环境高级编程》

057《嵌入式 linuxc 语言程序设计基础教程》

058《Java 编程思想》

059《TCP/IP 详解》

060《linux 技术手册》

061《C 语言深度剖析》

062《Unix 高级环境编程》

063《C++primerplus》

064《QT》

065《C 程序设计》

066《C 和指针》

067《C++primer》

068《C 程序设计语言》

069《ProgrammingC#》

070《thinking in C++》

071《Linux Device driver》

072《Linux kernel development》

073《软件工程》

074《C 和指针》

075《Android 核心代码》

076《Android 技术内幕》

077《Android 底层移植》

078《Unix 编程手册(上下卷)》

079《Linux 驱动设计第三版》

080《ARM 实战开发》

081《unix 环境高级编程》

082《tcp/ip 编程详解》

083《Linux 网络编程》

084《Unix 编程艺术》

085《计算机程序的构造和解释》

086《C Primer plus》

087《LINUX 权威指南》

088《LINUX 设备驱动程序》

089《The C Programming Language》

090《ajax 高级程序设计》

091《angula js 权威教程》

092《ARM 体系结构》

093《Unix 环境高级编程》

094《Linux 设备驱动程序》

095《现代 *** 作系统》

096《TCP/IP 协议详解》

097《嵌入式 C 语言设计模式》

098《Struts In Action》

099《c 程序设计语言(第二版)》

100《深入理解 Linux 内核(第三版)》

驱动模块(ko文件)只能加载(insmod命令)到内核,不能加载到某个文件夹下。

你的意思应该理解为驱动模块被加载到内核后,能不能在/dev/misc自动生成一个设备文件?

如果这样理解的话,有两种可能:

一种是在你所写的驱动代码里已经写了类似create_proc_entry()的函数,在模块加载后会自动创建(参数改为"/dev/misc/XXX"),无需手动创建。

另一种是在驱动模块定义了主从设备号,那么需手动创建设备节点,类似"mknod /dev/misc/mydevice c 1 0" (详细见LINUX设备驱动程序第三版P51)

“一般直接加载都是加载到/dev下面”,加载到哪里都没关系,只要设备号唯一就行,关键是设备号。

首先声明:

这是我电脑珍藏的了。当然,都是别人的。阁下看看:

这帖子我已经珍藏几年了,只是转贴而已,为啥说这帖子好,您自己看。我是计算机系大四学生,就这篇文章让我得益非浅

一、为何要学编程?

每个人的动机不一样。大致有:

1、为了找个好工作;或为了有更好的机会和更好的发展。

2、看到别人超厉害,所以也想学。

3、实际工作中很多场合需要。

4、从小就立志做个程序员,做软件工程师。

5、振兴中国的软件事业。

。。。。。。

================================================

二、如何学编程?

1、多看好书。

差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,让会让人怀疑自已

的学习能力。

现在的书很多,但好书很少,特别是被大家公认很有价值的好书,更是少之又少。历经多年时间考验

和市场风雨不残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨

著,也只不过<<红楼梦>>等四本名著而已。

编程方面也是如此。

2、多动手。

这一点很重要。而且特别重要。

“纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方

面。

================================================

三、用什么语言最好?

这主要取决于应用领域,每种语言都有自已的长处和不足。

1、汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C++/c#的起点。

2、C++系统编程等多个方面,最常用的编译器是VC。

3、C#/Java网络编程方面新兴的。

4、VB通用。

5、还有Delphi等。。。。。。

个人建议:从未编过程的,就从学vb开始。有基础的可直接学c++/VC。

===================================================

四、有什么好书?

几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做《MFC四大天王》。文章的

意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。侯先生虽以

MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。

通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此互相配合,形成一个完

整的体系。对于学习者来说,只需要认真研读这几本书,就足以升堂入室。我乐于将这种现称为“四书五

经现象”。对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经

济的选择。好书几本,胜过烂书几捆,这个体会想必大家都有。在此,帮助大家遴选各个技术领域里的“

四书五经”。

编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快的入

门并尽快的投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以

了。

所谓活到老学到老,程序员是个终身学习的职业,要不断的看书,直到放弃编程的那一天。所以,

您要读的好书也绝非以下推荐的这些书哟,呵呵。

一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。

[/equote]

[equote]

经典好书分类热销榜

================================================================

1、Java

Java编程语言(第三版)---Java四大名著----James Gosling(Java之父)

Java编程思想(第2版)----Java四大名著----Bruce Eckel

Java编程思想(第3版)----Java四大名著----------------Bruce Eckel

JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名著-----Cay Horstmann

JAVA 2核心技术 卷II:高级特性(原书第7版)----Java四大名著-----Cay Horstmann

Effective Java中文版------Java四大名著--------Joshua Bloch

精通Struts:基于MVC的Java Web设计与开发---孙卫琴

精通Hibernate:Java对象持久化技术详解---孙卫琴

Tomcat与Java Web开发技术详解------------孙卫琴

Java与模式------------------------------阎宏

2、c#

C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”

C# Primer中文版--------Stanley BLippman---C#语言“倚天屠龙双剑”

NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---NET平台四大天王

c#Windows程序设计----------Charles Petzold“windows编程泰山北斗”------NET平台四大天王

NET程序设计技术内幕-------------Jeff Prosise---NET平台四大天王

NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---NET平台四大天王

3、C++

C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”

C++ Primer (第3版)中文版----c++八大金刚---Stanley BLippman

C++ Primer (第4版)中文版----c++八大金刚---Stanley BLippman

C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai MJosuttis

C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”

深度探索C++对象模型---c++八大金刚----Stanley BLippman

Essential C++中文版---c++八大金刚---Stanley BLippman

Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers

More Effective C++中文版----c++八大金刚------Scott Meyers

C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel

C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel

C++程序设计--------------------------谭浩强

C++ 程序设计教程(第2版)--------------钱能

C++ Primer Plus(第五版)中文版---Stephen Prata

广博如四库全书The c++ programming language、c++ Primer

深奥如山重水复Inside the c++ object model

程序库大全The c++ standard libray

工程经验之积累Effective c++、More Effective c++、Exceptional c++

c++八大金刚:

1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者

2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,

圣经。

3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。

4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。

5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。

作者: 热布克 2006-7-11 16:18 回复此发言

--------------------------------------------------------------------------------

3 C++原创,超经典:为何要学编程?如何学编程?用什么语言最好?有

6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。

7、The c++ standard libray---c++标准库的百科全书。

8、设计模式:可复用面向对象软件的基础------good!

4、c

C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian WKernighan“C语言之父”

C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata

C程序设计(第三版)---------------------------谭浩强

C语言大全(第四版)---------------------------HERBERT SCHILDT

C语言接口与实现:创建可重用软件的技术-------------DAVID RHANSON

C语言参考手册(原书第5版)--------------------------Samuel PHarbison

C程序设计教程---------------------------------HMDeitel/PJDeitel

C陷阱与缺陷-----------------------------------Andrew Koenig

5、VB

Visual Basic NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”

Windows程序设计-Visual BasicNET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山

北斗”---

NET框架程序设计:Visual BasicNET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北

斗”---,Francesco Balena“vb首席大师”

Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”

Visual BasicNET 从入门到精通-------------------------Petroutsos,E

高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND

6、Delphi

Inside VCL(深入核心——VCL架构剖析)----------李维

Delphi 7高效数据库程序设计--------------李维

面向对象开发实践之路(Delphi版)----------李维

7、VC

Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---

Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---

Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---

深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷

MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise

Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski

深入解析MFC-------------MFC四大天王”-----------George Shepherd

Visual C++NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski

8、vf

Visual Foxpro程序设计参考手册-------------------张洪举

专家门诊——Visual FoxPro开发答疑160问-------------------张洪举

Visual FoxPro 60/90解决方案与范例大全-------------------张洪举

Visual FoxPro软件开发模式与应用案例-------------------张洪举

9、黑客

应用密码学(协议算法与C源程序-----------Bruce Schneier

网络信息安全的真相-----------Bruce Schneier

黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE

软件加密技术内幕------------看雪学院

加密与解密——软件保护技术与完全解决方案------------看雪学院

加密与解密(第二版)--------段钢

10、汇编

Intel微处理器结构、编程与接口(第六版)---------Barry B Brey

8086、奔腾机汇编语言程序设计---------Barry B Brey

Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬

IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵

IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL著,沈美明 温冬蝉译

11、驱动开发

作者: 热布克 2006-7-11 16:18 回复此发言

--------------------------------------------------------------------------------

4 C++原创,超经典:为何要学编程?如何学编程?用什么语言最好?有

Windows WDM设备驱动程序开发指南------------------------------------ Chris Cant

Windows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河

WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河

12、网络

计算机网络第四版中文版----网络编程三剑客--------------Andrew STanenbaum

TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客

UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客

用TCP/IP进行网际互联-----------Douglas E Comer

高级TCP/IP编程-------------------Jon C Snader

C++网络编程-----------------------Douglas Schmidt

UNIX环境高级编程(第2版)--------------------Richard Stevens

13、算法

计算机程序设计艺术-------DonaldEKnuth----------算法“倚天屠龙”双剑

算法导论-----------------Thomas H Cormen--------算法“倚天屠龙”双剑

离散数学及其应用----------Kenneth HRosen

具体数学—计算机科学基础--------DonaldEKnuth

14、图形编程

Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书

15、数据结构

数据结构 C++语言描述》5800(Data Structures C++) William Ford,William Topp 刘卫东 沈官林

数据结构算法与应用-C++语言描述》4900Sartej Sahni 汪诗林 孙晓东等机械工业出版社

16、软件工程

设计模式--可复用面向对象软件的基础

重构—改善既有代码的设计

17、 *** 作系统

深入理解计算机系统(修订版)-------RANDAL EBRYANT

18、Unix

UNIX 网络编程 卷I 套接字联网API(英文版 第三版

UNIX 编程艺术

UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经

UNIX环境高级编程(英文影印版)(第2版)

99-UNIX环境高级编程(第2版)

UNIX环境高级编程(第2版)---UNIX编程“圣经

UNIX网络编程 第1卷:套接口API(第3版)

UNIX网络编程卷2:进程间通信(第2版)(英文影印版)

UNIX 网络编程(第二版)第2卷:进程间通信

UNIX编程环境

UNIX 网络编程 卷I 套接字联网API(英文版 第三版

UNIX系统编程

UNIX环境高级编程

UNIX环境高级编程(英文影印版

88-LINUX内核分析及编程

UNIX 网络编程 卷I 套接字联网API(英文版 第三版)

UNIX网络编程 第1卷:套接口API(第3版)

UNIX 网络编程(第二版)第2卷:进程间通信

UNIX网络编程卷2:进程间通信(第2版)(英文影印版)

UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API

UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)

UNIX环境高级编程

UNIX 环境高级编程(英文版)

UNIX环境高级编程(第2版)

Unix技术手册

19、Linux

Linux内核设计与实现

Linux内核完全注释

LINUX内核分析及编程

GNU/Linux 编程指南(第二版)

Linux设备驱动程序(第三版)

嵌入式设计及Linux驱动开发指南——基于ARM 9处理器

Linux设备驱动程序 第三版(英文影印版)

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

Linux内核设计与实现(英文影印版)(第2版)

linux技术手册

20、游戏编程

Windows游戏编程大师技巧(第二版

游戏之旅--我的编程感悟

OpenGL超级宝典:第三版

OpenGL编程指南(第四版)

Java 游戏高级编程

J2ME手机游戏编程入门

游戏之旅——我的编程感悟

游戏开发中的人工智能(英文影印版)

3D游戏:卷2 动画与高级实时渲染技术

面向对象的游戏开发

Java 游戏高级编程

3D游戏编程大师技巧

游戏编程精粹

面向对象的游戏开发

3D游戏 卷1:实时渲染与软件技术

3D游戏:卷2 动画与高级实时渲染技…

J2ME手机游戏编程入门

Direct3D游戏编程入门教程(第二版…

21、移动开发

Windows Mobile手机应用开发

SYMBIAN OS C++手机应用开发

68-Windows Mobile手机应用开发--傅曦 齐宇 徐骏

48-SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣译

68-SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON著,周良忠译

Windows CEnet内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林

嵌入式系统Windows CE 开发技巧与实例--傅曦

Palm OS编程实践---绝版

22、单片机

单片机轻松入门----------------------------------周坚(平凡老师)

单片机典型模块设计实例导航-----------------------求是科技

例说8051----------------------------------------张义和 陈敌北

KEIL CX51 V70单片机高级语言编程与ΜVISION2应用实践-----徐爱钧

单片机应用程序设计技术(修订版)--------------------周航慈

8051单片机实践与应用-------------------------------吴金戎

MCS-51系列单片机实用接口技术---------------------李华

23、串并口通讯

Visual C++/Turbo C串口通信编程实践------------------龚建伟

VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之

24、电子

无线电识图与电路故障分析轻松入门(第二版) -------------------胡斌

无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌

图表细说电子技术识图-------------------胡斌

图表细说电子元器件-------------------胡斌

图表细说元器件及实用电路-------------------胡斌

[/equote]

[equote]怎样成为一名程序员[/equote]

[equote]

通过以下4个阶段的训练, 没有任何编程基础人就可以成为一名普通的程序员。

第一阶段:掌握一种编程语言

学习内容:学习任意一种主流的编程语言。例如C++语言。

学习目标:熟练掌握一种语言的语法和基本的编程技巧。

学习时间:3个月左右

注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等

程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指

Visual C++ 60、Visual Basic 60、Delphi 70等包括了源代码编辑器、程序编译器

在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 60里编写,也可以在

记事本里编写,而同一个C++源程序可以用Visual C++ 60编译、执行,也可以用C++ Builder 50

编译、执行,所以: C++ 不等于 Visual C++ 60

第二阶段:掌握一种编程工具

学习内容:学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的

编程语言是C++,那么编程工具要选Visual C++ 60或者C++ Builder 50。

学习目标:熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。

学习时间:3个月左右

注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。

第三阶段:掌握“算法与数据结构”这门课程

学习内容:算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。

学习目标:熟练掌握各种常用的算法与数据结构

学习时间:4个月左右

注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,

这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。

第四阶段:实现一个模拟的小型软件项目

学习内容:软件项目的开发过程

学习目标:掌握软件项目的基本开发过程和方法

学习时间:4个月左右

注意事项:自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推荐

“中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效,

以它为基础再加以扩展,就可以做出实用的MIS软件来。

此丛书包括多种开发工具,大家可以选择适合自己的:《VISUAL FOXPRO60 数据库系统开发实例导航》

《JAVA数据库系统开发实例导航》 《VISUAL BASIC数据库系统开发实例导航》

《VISUAL C++60数据库系统开发实例导航》 《ASPNET数据库管理系统开发实例导航》

DELPHI数据库系统开发实例导航》 《POWERBUILDER 80数据库系统开发实例导航》。

最后将完成的模拟软件刻成光盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!

第一:《Linux内核设计与实现》

简称LKD,从入门开始,介绍了诸如进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等方面,内容比较浅显易懂,个人认为是内核新人首先必读的书籍。新人得有此书,足矣!

第二:《深入理解Linux内核》

简称ULK,相比于LKD的内容不够深入、覆盖面不广,ULK要深入全面得多。

前面这两本,一本提纲挈领,一本全面深入。

第三:《Linux设备驱动程序》

简称LDD,驱动开发者都要人手一本了。

第四:《深入理解Linux虚拟内存管理》

简称LVMM,是一本介绍Linux虚拟内存管理机制的书。如果你希望深入的研究Linux的内存管理子系统,仔细的研读这本书无疑是最好的选择。

第五:《深入理解LINUX网络内幕》

一本讲解网络子系统实现的书,通过这本书,我们可以了解到Linux内核是如何实现复杂的网络功能的。

了解更多开源相关,去LUPA社区看看吧。

以上就是关于学习linux底层驱动开发有什么经典的参考书全部的内容,包括:学习linux底层驱动开发有什么经典的参考书、请教学习linux的职业规划和发展方向、linux内核和驱动开发,有什么经典的书籍推荐吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9495949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存