linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

谢小编邀。

@云瑄软件回答的已经很全面了,他推荐的几本书都是内核入门经典中的经典。

我再推荐几本接触过好书:

《linux设备驱动程序》 Jonathan Corbet著,讲内核设备驱动开发,对内核抽象层次,设备原理讲的很细,还介绍了不少内核开发调试的技巧。

《linux内核设计的艺术》中科院新设计团队著,这本书褒贬不一,但是书中对于一些内核的算法数据结构讲的很详细,对内核bootloader也讲了很多,对我帮助不少。

另外强烈推荐先过一遍《深入理解计算机系统》,这本书深入浅出,可以说是基本功中的基本功了。

最后的最后,如果想自己开发内核,推荐一个网站:osdev.org,这个网站几乎可以找到所有内核开发的资料。

共勉。

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

Linux内核开发与Linux驱动开发有什么关系?

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

我做过驱动开发,说说我的看法。本质上说Linux内核开发和Linux驱动开发是不一样的,或者说驱动开发是内核开发的一部分,因为驱动属于内核。目前国内驱动开发和内核开发一般是一样的。有对应linux内核开发工程师和linux驱动开发工程师职位。

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

内核开发指的是形成linux操作系统的过程,也就是内核开发者向内核中添加信息使得linux从无到有的过程或者添加新的功能,比如Linux内核在2.6版本内核之前是没有设备驱动模型,内核开发者在2.6版本中增加了设备驱动模型,这属于linux内核开发。而linux驱动开发指的是使用Linux内核提供的接口,驱动开发者根据实际情况按照内核提供驱动的框架写相应的驱动并注册到相应的总线上,进而驱使硬件设备工作,比如I2C设备就注册到i2c总线上,这个i2c总线是内核开发者为我们提供的接口,我们只需要调用相应接口即可。整个工作流程是:linux应用程序->内核->驱动->硬件。如下图所示:

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

多说一点,要进行linux驱动开发,必须学好C语言、能够看懂电路图(因为驱动开发需要根据相应的引脚来编写驱动)需要模电和数电知识,linux操作系统知识,linux应用编程知识(多进程、多线程、文件io操作)因为我们要测试写的驱动能否正常工作需要linux应用编程知识。最好对数据结构中的链表有所了解,内核中有大量的内核链表。

感谢评论,交流,转发。更多精彩内容可关注本头条号:嵌入式软硬件开发。感谢大家。相互交流,共同进步。

LINUX零基础如何学习?

零基础入门Linux,目前来说非常容易,网上有大量的资料可供学习(视频、教程等),初期以熟悉Linux环境为主,后期可以结合实际应用研究一下Linux内核和常见服务器的搭建,下面我简单介绍一下Linux的学习过程,感兴趣的朋友可以尝试一下:

01

搭建Linux环境

首先,最基本也是最基础的,需要自己搭建一个Linux环境,这里建议直接使用Linux虚拟机,需要的时候可以任意创建,不需要的时候可以直接删除,至于发行版本的话,常见的Ubuntu、CentOS等都行,首次使用建议安装桌面版,迷你版只是一个终端窗口,初期接触会非常不适应,许多功能都需要自己手动配置,待熟悉环境后,可以安装简洁版,操作起来也会非常容易:

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

02

熟悉Linux命令

Linux环境搭建完成后,就是Linux入门的过程,这里主要以熟悉Linux常见的命令和配置为主,至于学习资料的话,网上就非常多了,B站、慕课网等都非常不错,当然,你也可以找一本适合自己的Linux专业书籍,一边学习一边练习,鸟哥的私房菜就非常不错,讲解通俗易懂,覆盖面广,循序渐进,非常适合零基础者入门:

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

03

深入Linux系统

熟悉Linux环境后,就是结合实际应用深入Linux系统,这里可以研究和学习的东西就非常多了,比较基础常见的就是各种服务器的搭建,硬件方面的话,就是嵌入式开发,深入一些就是Linux内核,包括内存管理、进程管理、文件系统、输入输出设备等,可以对照着Linux源码进行分析,对于操作系统的理解和整体把握来说非常不错,当然,这需要一个漫长的学习和积累过程,不可能短期内就会迅速掌握:

linux 内核 书籍,关于linux内核原理的入门书籍有哪些值得推荐的?

目前就分享这3个方面吧,零基础入门Linux来说,其实并不难,主要还是多看多练习,短期内就会很快掌握,但深入Linux需要一个漫长的学习过程,包括各种服务器的搭建、整体架构的理解等,需要不断的积累,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论