2021-07-23嵌入式学习---Linux内核

本文详细解读Linux内核的五个核心子系统,包括进程调度的CPU资源管理、内存管理的虚拟内存机制,以及VFS如何统一文件访问。讨论了系统调用、库函数和shell的角色,展示了Linux如何实现软硬件交互和简化应用开发。
摘要由CSDN通过智能技术生成

1、Linux内核结构
在这里插入图片描述
根据内核的核心功能,Linux内核提出了5个子系统,分别负责如下的功能:

  • Process Scheduler,也称作进程管理、进程调度。负责管理CPU资源,以便让各个进程可以以尽量公平的方式访问CPU。

  • Memory Manager,内存管理。负责管理Memory(内存)资源,以便让各个进程可以安全地共享机器的内存资源。另外,内存管理会提供虚拟内存的机制,该机制可以让进程使用多于系统可用Memory的内存,不用的内存会通过文件系统保存在外部非易失存储器中,需要使用的时候,再取回到内存中。

  • VFS(Virtual File System),虚拟文件系统。Linux内核将不同功能的外部设备,例如Disk设备(硬盘、磁盘、NAND Flash、Nor Flash等)、输入输出设备、显示设备等等,抽象为可以通过统一的文件操作接口(open、close、read、write等)来访问。这就是Linux系统“一切皆是文件”的体现(其实Linux做的并不彻底,因为CPU、内存、网络等还不是文件,如果真的需要一切皆是文件,还得看贝尔实验室正在开发的"Plan 9”的)。

  • Network,网络子系统。负责管理系统的网络设备,并实现多种多样的网络标准。

  • IPC(Inter-Process Communication),进程间通信。IPC不管理任何的硬件,它主要负责Linux系统中进程之间的通信。

进程调度是 Linux 内核中最重要的子系统,它主要提供对 CPU 的访问控制。

内存管理同样是 Linux 内核中最重要的子系统,它主要提供对内存资源的访问控制。Linux 系统会
在硬件物理内存和进程所使用的内存(称作虚拟内存)之间建立一种映射关系,这种映射是以进
程为单位,因而不同的进程可以使用相同的虚拟内存,而这些相同的虚拟内存,可以映射到不同的物理内存上。

虚拟文件系统(Virtual Filesystem, VFS)的功能就是管理各种各样的文件系统,屏蔽它们的差异,以统一的方式,为用户程序提供访问文件的接口。

网络子系统在 Linux 内核中主要负责管理各种网络设备,并实现各种网络协议栈,最终实现通过
网络连接其它系统的功能。
在这里插入图片描述

  • 最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器。硬件是物质基础,而应用提供服务。
  • Linux首先启动内核 (kernel),内核是一段计算机程序,这个程序直接管理管理硬件,包括CPU、内存空间、硬盘接口、网络接口等等。所有的计算机操作都要通过内核传递给硬件。
  • 为了方便调用内核,Linux将内核的功能接口制作成系统调用(system call)。系统调用看起来就像C语言的函数。你可以在程序中直接调用。
  • shell是一个特殊的应用。很多用户将它称为命令行。shell是一个命令解释器(interpreter),当我们输入“ls -l”的时候,它将此字符串解释为1.在默认路径找到该文件(/bin/ls),2.执行该文件,并附带参数"-l"。shell充当了这些小功能之间的"胶水",让不同程序能够以一个清晰的接口(文本流)协同工作,从而增强各个程序的功能。shell也有很多种,最常见的是bash, 另外还有sh, csh, tcsh, ksh。
  • 应用是一个程序,它可以1.直接调用系统函数2.调用库函数3.运行shell脚本。

总结:
1、Linux利用内核实现软硬件的对话。
2、通过系统调用的这个接口,Linux将上层的应用与下层的内核分离,隐藏了底层的复杂性,也提高了上层应用的可移植性。
3、库函数利用系统调用创造出模块化的功能,
4、Shell则提供了一个用户界面,并让我们可以利用shell的语法编写脚本,以整合程序。
学习连接:https://www.cnblogs.com/vamei/archive/2012/09/19/2692452.html
https://zhuanlan.zhihu.com/p/250522837

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值