了解Linux系统架构、内核、基本原理,才是进入Linux平台下编程学习的前提。不了解这些,调用C/C++库来开发,可能表面上会学用一些库函数接口,实则可能是代码处处缺陷,一旦遇到有点深度的故障,程序开发寸步难行。
1 Linux的分层架构
不管是Linux、Windows,还是其它的操作系统,采用分层结构模型,这几乎是一个通行做法了。不仅是大系统,小的嵌入式系统,往往程序员也会不由自主地采用分层模型,就像上面的图上所示,通常的操作系统会分为这样几层:硬件层、系统层和应用层。系统层内部一般情况下,大概再细分为驱动层、操作系统内核和系统扩展层。
分层结构是为了模块化、分工协作、降低代码耦合度的需要,也是功能优化、易维护、高效率低成本的一个自然选择。