实现用户与Linux内核的接口

  • shell的性质

Linux系统的shell相当于操作系统的“一层外壳”,它是命令语言解释器,它为用户提供了使用操作系统的接口。它不属于内核,而是在内核之外以用户态方式运行。它的基本功能是解释并执行用户打入的各种命令,实现用户与Linux内核的接口。

个人理解:shell就是普通的用户态程序,能够理解用户命令。是用户和系统的传信者。

  • shell工作原理

在启动Linux系统后,内核会为每个终端用户建立一个进程去执行shell解释程序。

以下内容为个人理解:

1.shell检查并预处理命令行后,使用fork或vfork创建子进程。

2.在子进程中调用execve执行命令。

3.在本进程中等待子进程处理完毕(对于非后台进程),继续等待用户输入命令。