什么是Linux系统架构?( 二 )


UNIX的一条哲学是让每个程序尽量独立的做好一个小的功能 。而shell充当了这些小功能之间的“胶水” , 让不同程序能够以一个清晰的接口(文本流)协同工作 , 从而增强各个程序的功能 。这也是Linux老鸟鼓励新手多用shell , 少用图形化界面的原因之一 。
(shell也有很多种 , 最常见的是bash ,  另外还有sh ,  csh ,  tcsh ,  ksh 。它们出现的年代不同 , 所支持的功能也有差异 。)

什么是Linux系统架构?


一个使用bash shell的终端
一个shell对应一个终端 (terminal) 。曾经来说 , 终端是一个硬件设备 , 用来输入并显示输出 。如今 , 由于图形化界面的普及 , 终端往往就像上图一样 , 是一个图形化的窗口 。你可以通过这个窗口输入或者输出文本 。这个文本直接传递给shell进行分析解释 , 然后执行 。
最后 , 我们进入一般的应用 。应用是一个程序 , 它可以
1.直接调用系统函数
2.调用库函数
3.运行shell脚本
这些应用可以由多种语言开发 。最常见的是C语言 。
总结
Linux利用内核实现软硬件的对话 。
通过系统调用的这个接口 , Linux将上层的应用与下层的内核分离 , 隐藏了底层的复杂性 , 也提高了上层应用的可移植性 。
库函数利用系统调用创造出模块化的功能 , 
Shell则提供了一个用户界面 , 并让我们可以利用shell的语法编写脚本 , 以整合程序 。
上面就是Linux系统架构的介绍了 , 从文中的图片可以看出 , Linux系统主要由硬件、内核、系统调用、shell、库函数这几个部分构成 , 通过本文的阅读相信你对Linux系统有了一定的了解 。

推荐阅读