提问者:扫灭网络骗子 | 浏览次 | 提问时间:2018-12-27 | 回答数量:7

theother169
回答数:98 | 被采纳数:87
老猫枕咸鱼free
回答数:213 | 被采纳数:46
可达疯侠
回答数:167 | 被采纳数:10
boballan
回答数:62 | 被采纳数:44
筱沫茜芸
回答数:87 | 被采纳数:109
564904250
回答数:52 | 被采纳数:21

内核开发指的是形成linux操作系统的过程,也就是内核开发者向内核中添加信息使得linux从无到有的过程或者添加新的功能,比如Linux内核在2.6版本内核之前是没有设备驱动模型,内核开发者在2.6版本中增加了设备驱动模型,这属于linux内核开发。而linux驱动开发指的是使用Linux内核提供的接口,驱动开发者根据实际情况按照内核提供驱动的框架写相应的驱动并注册到相应的总线上,进而驱使硬件设备工作,比如I2C设备就注册到i2c总线上,这个i2c总线是内核开发者为我们提供的接口,我们只需要调用相应接口即可。整个工作流程是:linux应用程序-内核-驱动-硬件。如下图所示:
亦水悠悠999
回答数:5 | 被采纳数:126
我学习的时候结合了国外的操作系统原理第七版,因为这两本书介绍的侧重点有所不同,上图的书注重实践性(相比后一本),后一本注重算法方面。额。。说偏了哈,反正总有一天楼主估计是想开发内核的,所以建议先把原理学会,还有最基本的计算机科学基础知识最好学的扎实点,到时学习内核就不是特别吃力,当然是相比什么都不懂的情况下。