0
点赞
收藏
分享

微信扫一扫

Linux文件系统,虚拟文件系统,linux内核结构

googlefrank 2022-04-30 阅读 53

文章目录

一、文件系统

1、文件系统概述

学术定义:文件系统是操作系统用于明确存储设备的文件和数据结构,即在存储设备上组织文件的方法。
常规认知:根目录 cd /

文件系统种类

文件的格式又有FAT,HFS,…
常见的:

比如,windows用的是NTFS。
在这里插入图片描述
树莓派的有:

df -T

在这里插入图片描述

什么是分区

windows对于分区的管理较为“随意”,因为其面向普通PC用户。C,D盘随意存放文件。
而linux较为严格,按照功能来分区,大多面向开发者。

简单理解windows和linux文件系统的区别

在windows下会有驱动器盘符(C,D,E等),某个文件确切的存在于某个盘符中,占用一段连续的存储空间。

在linux下没有盘符的概念,所有的文件都在根目录(/),通过cd /指令进入。(cd或者cd ~ 进入的是工作目录home)下。可以理解为所有文件都分散到整个磁盘上,你看到的同一个文件夹下内容可能来自于不同的分区。

2、文件系统结构

要求熟悉且记忆。

在Linux系统中,目录被组织成一个单根倒置树结构,文件系统从根目录开始,用/来表示,是按照功能划分的。
在这里插入图片描述

/etc目录下可以设置开机启动程序

为什么KTV的点歌机开机就是点歌界面,而不是linux的启动界面,通过配置更改。

例如要设置智能家居的程序,当芯片上电后自动运行,而不是还去拿电脑去开始运行。
复制可执行文件的绝对路径,例如:

/home/pi/wiringPi/a.out

粘贴到etc目录下的rc.local的exit 0之前。
要加超级用户权限,否则只能进行只读操作

sudo vi /etc/rc.local

这里可以看到之前的开机自动配置ip地址的操作。
在这里插入图片描述

/proc目录举例

可以在这个目录下查看cpu的更详细的信息

cat /proc/cpuinfo

processor是核心,有n个就是n核cpu
在这里插入图片描述
也可以在这个目录下查看内存的相关信息

cat /proc/meminfo

在这里插入图片描述
绝对路径与相对路径:
绝对路径 :以/开始,表示该文件从根目录开始的完整位置路径,必须以根开始。

相对路径 :不以/开始,指该文件相对于该目录的路径或某个目录的路径,不以根开始。可以作为一个简短的形式来指定一个文件名。

二、虚拟文件系统

1、定义

VFS是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用接口

2、有什么作用?

文件对应的分区可能不一样,有的来自ext4,或者tmps。即为文件系统的类型可能不一样,数据存储的方式不一样,访问方式也就不一样,没办法做到操作统一化,给编程开发带来困难。
在这里插入图片描述
而虚拟文件系统的存在正是解决了这个问题:简化上层应用程序员的开发,不管是什么文件类型,磁盘还是设备,通通都是用open,read,write统一操作。

3、cp指令的实现

用户输入以下指令:

cp /floppy/TEST /tmp/test

在这里插入图片描述

4、从系统编程,从上层到底层来看

如果从分区的角度,串口操作的就是/dev;普通文件如 .config在ext4上;共享内存 tmpfs dev/shm…

之前所学的Linux系统编程,各种应用层的知识,vfs都提供了帮助
在这里插入图片描述

Linux内核结构

1、Linux内核结构框图

对内核结构框图有个总体的把握,有助于理解为什么驱动要这样写,为什么写的应用程序所用的C库接口能够产生这么多的事情。
在这里插入图片描述

2、图解linux系统架构

在这里插入图片描述

3、shell

shell(壳)是一个特殊的应用,也经常被称为命令行 。可以理解为是一个命令解释器

一个shell对应一个终端 (terminal)。曾经来说,终端是一个硬件设备,用来输入并显示输出。如今,由于图形化界面的普及,终端往往就像下图一样,是一个图形化的窗口。
在这里插入图片描述
你可以通过这个窗口输入或者输出文本,这个文本直接传递给shell进行分析解释,然后执行,本质就是提供和内核交互的程序。

shell脚本

在没有图形界面之前,shell充当了用户的界面,当用户要运行某些应用时,通过shell输入命令,来运行程序。shell是可编程的,它可以执行符合shell语法的文本,这样的文本叫做shell脚本(script)。

举报

相关推荐

0 条评论