作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
参考地址
http://www.cnblogs.com/vamei/archive/2012/09/19/2692452.html
图示
硬件
物质基础。包括CPU、内存、硬盘、网卡等
内核
一段计算机程序,直接管理硬件。所有的计算机操作通过内核传递给硬件。包括CPU接口、内存接口、硬盘接口、网络接口等
系统调用
将内核的功能接口制作成系统调用。系统调用看起来就像C语言的函数,可以在程序中直接调用。
库函数
属于应用层,将系统调用组合成某些常用的功能。如分配内存的操作,定义为如malloc()这样的函数。
shell
属于应用层,是一个特殊的应用,也称为命令行。
shell是一个命令解释器,如"ls -l",将此解释为"在默认路径中找到ls文件,执行该文件,并附着参数-l"。
在没有图形界面之前,shell充当了图形界面。
shell是可编程的,可以执行符合shell语法的文本,即shell脚本
shell下通系统调用,上通各种应用,同时自身还有许多的小工具可以使用。
UNIX的哲学:让每个程序尽量独立做好一个小功能。shell充当了这些小功能的"胶水",让不同程序以一个清晰的接口协同工作,从而增强程序的功能。
一个shell对应一个终端
应用
是一个程序。可以直接调用系统调用、调用库函数、运行shell脚本。
可以有多种语言开发,最常见的是C语言。