文件系统认知,Linux内核框图

一、什么是文件系统

  1. 文件系统是操作系统用于明确存储设备组织文件的方法,就是一个用于管理系统的方法。
  2. 这个方法就是文件管理系统,简称文件系统。可以理解为是在硬件上跑着很多个不同的程序

二、文件系统的种类有哪些

  1. FAT VFAT NTFS EXT1/2/3/4 HFS BRTFS …
  2. 树莓派查看文件系统命令:df -T
  3. vfat:与boot代码相关的系统(bootloader,dernel)
    ext4:根目录
    tmpfs:内存文件系统

三、 什么是分区

  1. windows: 随意(面向普通用户PC),目录即分区
    C(装系统的位置)也可以随意在C盘存放文件. D盘(用户随意发挥)
  2. Linux: 按照功能来分区,每个分区严格存放文件(开发者)
    嵌入式系统可以分为4个区,分别是
    bootloader、 启动代码
    para、 启动代码向内核传递参数的位置
    kernel、 内核分区
    根分区等 文件系统结构

四、什么是文件系统目录结构?

常规认知: 根目录,不是分区,和windows不同
在这里插入图片描述

五、什么虚拟文件系统Virtual File System ?

虚拟文件系统(vfs):就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口

六、虚拟文件系统有什么作用?

  1. 简化应用程序员的开发
  2. 不管是什么文件类型:不管文件是磁盘文件还是设备文件还是分区不同的文件,都只用open read write统一操作
    在这里插入图片描述

Linux系统内核框图:
在这里插入图片描述

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

在这里插入图片描述

什么是Linux shell?

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

参考文章:写的挺全面 带你真正认识Linux
系统结构

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星辰~念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值