Linux内核介绍

内核结构框图
Linux内核介绍_第1张图片
其中可以看到三个层次:硬件级、内核级和用户级。
用户程序通过陷入完成由用户态到内核态的转换。系统调用作为用户级与内核级交互方式,分为2部分:与文件子系统的交互和与进程控制子系统的交互。
文件子系统管理文件包括:分配文件空间、管理空闲空间、控制对文件的存取以及为用户检索数据。
进程控制子系统负责进程同步、进程间通信、进程调度和存储管理。
Linux内核主要包括5个模块:进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块。
1.进程调度模块:用来负责控制进程对CPU资源的使用。
2.内存管理模块:用于确保所有进程能够安全地共享机器主内存区。
3.文件系统模块:用于支持对外部设备的驱动和存储。(一些皆文件)
4.进程间通信模块:用于支持多种进程间的信息交换方式。通过系统调用实现进程间的信息交换。
5.网络接口模块:提供多种网络通信标准的访问并提供对多种网络硬件的支持。
所有的模块都要通过进程调度来运行。

Linux内核介绍_第2张图片
C库和系统调用接口打交道,系统调用接口可以操作底层的东西
比如ftp服务器中的:open 会调用系统调用接口里的sys_open。
read调用系统调用接口里的sys_read

Linux架构图:

Linux内核介绍_第3张图片
最内层是硬件,比如树莓派

什么是 Linux shell:

·shell 是一个程序,当我们在终端敲击命令行并回车的时候,系统就会启动一个 shell 程序, 此时它就会产生一个系统调用,操作linux内核做出一系列的动作并返回数据。

·shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果

你可能感兴趣的:(树莓派,linux,运维,服务器)