如何学习一个内核子系统
本文是原「蜗窝讨论区」的历史存档(2017-03-25),来自版块「灌水区」,共 2 帖。讨论区已停止服务,此处仅供查阅。
最近看了wowo同学的 “Linux I2C framework(1)_概述“这篇文章,感觉提纲挈领,也很清晰。但是作为读者一般只会看到分析的结果和产出,却很难了解作者对整个子系统分析总结的历程,想在这里请教一个wowo怎样学习一个内核子系统,大家有很好的学习方法和经验也帮忙指教下。 有如下2个问题: 1. 一般框架性的文章都是在对子系统理解比较深刻的时候提炼出的,你是在分析完整个I2C子系统才写这篇概述文章呢?还是在深入分析之前先给出呢? 2. 如何学习一个子系统,大概遵循怎样的步骤呢? 如:先去网上搜索一些概述性的文章,从总体上得出子系统的框架?->从硬件上了解工作流程->结合硬件流程分析软件流程,各种实体,各种API?
Terryjourneys 写道: 最近看了wowo同学的 “Linux I2C framework(1)_概述“这篇文章,感觉提纲挈领,也很清晰。但是作为读者一般只会看到分析的结果和产出,却很难了解作者对整个子系统分析总结的历程,想在这里请教一个wowo怎样学习一个内核子系统,大家有很好的学习方法和经验也帮忙指教下。 有如下2个问题: 1. 一般框架性的文章都是在对子系统理解比较深刻的时候提炼出的,你是在分析完整个I2C子系统才写这篇概述文章呢?还是在深入分析之前先给出呢? 2. 如何学习一个子系统,大概遵循怎样的步骤呢? 如:先去网上搜索一些概述性的文章,从总体上得出子系统的框架?->从硬件上了解工作流程->结合硬件流程分析软件流程,各种实体,各种API?
觉得这个问题不好回答啊…… 我自己的感受是: 对框架的理解不是一蹴而就的,但如果理解了某一个框架,所有的框架都是一个样子了,无论是Linux、Windows还是RTOS,无论是硬件、软件还是其它什么。 至于框架是怎么提炼出来的,肯定不是一开始就知道,而是做过了很多东西,慢慢学习、理解、抽象出来的。 最后,所谓的框架,无非就是软件工程的经典思想,抽象、封装、屏蔽细节、等等。 多看、多做、多想,我能说的,也就是这么多了。
