Linux 的体系结构源自于 Unix,主要分为三层,从内到外依次是:内核 --> 系统调用–> 应用层。
- 内核(kernel)负责两个功能:管理计算机硬件资源;为上层应用程序提供运行环境。
- 系统调用(system calls):内核给上层应用程序提供的接口。
- 库函数(library routines):通常我们会把系统调用封装成库函数,主要的目的是方便程序员使用。系统调用往往设计得比较繁琐复杂,相对于系统调用而言,库函数的设计会更加友好。比如: malloc 、free 、printf 、scanf 等。
- shell 是一个命令行解释器,它读取用户输入,然后执行命令,然后等待用户的下一次输入。
shell 拥有很多版本,我们将使用 bash(Bourne-again shell),它位于/bin/bash。
计算机的硬件资源有哪些?
CPU, 内存,外部设备
内核模块:文件管理,进程调度,内存管理,网络通信,设备驱动…
for( ; ; ) {
read(cmd);
execute(cmd);
}
命令:一般来说,就是一些简单的可执行程序。
脚本:命令的集合。