Linux系统组成
1. 内核:
是linux系统内部最核心的软件 kernel
内核是开源免费的 是使用c语言编写的( https://www.kernel.org/ )
Linux内核有什么作用:
对cpu进行调度 --》cpu
对进程进行管理,例如创建一个进程,杀死一个进程,运行进程等
对内存进行管理,例如给那个进程分配内存空间,回收内存空间等 --》内存 memory
对磁盘里的文件系统进行管理,例如:创建文件,删除一个文件等 --》disk 磁盘
对网络进行管理--》网卡
其他硬件的管理
2.系统调用:
system call 是内核给外面的应用程序的接口,也是程序
3.应用程序:
实现某个功能的程序,例如mkdir cd ls pwd
4.shell解释器:
实现人机交互的,给人使用的,来操作操作系统的程序
shell解释器是什么:
shell 提供了一个命令行界面,解释和执行用户的命令
shell也是一个程序,帮助我们人去操作计算机的,接受人输入的命令,然后告诉linux系统去执行
对命令进行语法分析,得出哪些是命令,哪些是参数,哪些是选项等并且对变量和其他的语法进行分析
name="zhouyiwei"
mkdir -p hunan/changsha/$nameshell拿到我们人输入的命令后,会将输入的内容分割成一个一个的token
token是最基本的单元
5.库函数:
实现某个功能的程序,给别的程序使用的
Linux系统组成图
Linux命令运行原理
1.用户输入命令
2.shell解释器去解释这条命令,分解出什么是命令,什么是参数
3.在到磁盘中去找对应的命令
4由磁盘告诉Linux内核命令的位置,加载命令的二进制可执型程序到内存
5.在由Linux内核分配内存空间,并启动对应命令的进程
6.内存中执行命令,在返回给shell解释器
7.在由shell解释器将结果返回给用户