嵌入式软件工程师需不需要读内核

经常听到有人说,我虽然是一名嵌入式软件工程师,但我又不自己写操作系统,不做内核开发,为什么要读linux内核呢?有这个必要吗?读内核那么费心费力,面对那么庞大的无从下口的东西,还是不要去碰为妙,而且没什么大用。

  真的是这样吗?我想很多说读内核没有用的人都是曾经试图去读过内核,但很快就被其浩瀚无边和复杂无比的代码给击败了,毕竟linux内核太过庞大,盘根错节,而且牵扯到那么多数据结构、汇编指令和满天飞的指针。

  对嵌入式软件工程师而言,C语言的功底起着决定其水平高低的关键作用,书读百遍,其义自现,那么对于C语言的磨练来说,读内核绝对是一个很好的选择,事实上,在读内核的过程中,你的C语言、汇编语言的水平会有很大的提高。比如说,C语言做到一定程度的人都会说只有完全掌握了指针,才能说自己精通了C语言,在内核中,指针的运用达到了随心所欲而不逾矩的程度,其精妙之处会让耐心而又坚定读内核的你击节而叹,震撼不已。

  而且除了语言,还有数据结构以及一些常用算法及其思想,在内核中一样得到酣畅淋漓的体现,链表、AVL树,这些在数据结构书籍中冷冰冰的词汇在内核中会带给你身临其境的体会,我们经常说电子工程师一定要动手,很多不读内核的嵌入式工程师经常也拿这句话来搪塞,其实软件工程师在动手写代码之前,应该做的是去阅读大量的程序,这是个前提,这个阅读本身就是动手的一部分。

  我不能说不读内核,就不能成为一个高级嵌入式软件工程师,我只能说,读内核会让你在做软件时如虎添翼,信手拈来。当然我们要承认内核的复杂性,在心理上有啃这个硬骨头的准备,这样才不至于很快败下阵来。内核这么硬而好吃的骨头,会在你埋头硬啃的过程中给你很大的惊喜和收获,套用一句广告语,相信我,没错的!

你可能感兴趣的:(嵌入式软件)