我不善于分析算法并试图获得一些知识。 由于我对内核感兴趣,linux设备驱动程序或模块编写器编程是这些编程真正需要的分析,如果是,那么一些概念就足够了或者我必须是我的代码的良好分析器或者我可以跳过这个并继续编程知识像C,C ++,Linux内核等
由于
答案 0 :(得分:5)
没有算法的编程就像没有句子的文学 - 这是一个非感性的想法。您编写的每个代码块都实现了一些算法,在不理解算法的情况下开始编写代码是没有意义的。
幸福的是,实现算法理解的最佳方法之一就是实现算法。
一旦超出基础知识(排序,搜索,基本数据结构操作),特定领域,您需要与哪些算法密切相关,以及分析的哪些方面。因此,一旦掌握了基础知识,就应该将研究工作指向您所选择的领域。
答案 1 :(得分:1)
作为Linux内核程序员,
您应该对以下方面有一些了解。
Operating system Concepts(Memory Management, Process Management particularly)
Good C programming.
Based on Driver you working, you should specialize the kernel APIs.
Basic hardware knowledge like BAR, Interrupt, Register.