Linux的文件系统 内核结构

Linux的文件系统

Q1:什么是文件系统?

A:在学术的角度下,文件系统操作系统用于明确存储设备组织文件的方法,是“文件管理系统”的简称,本质也是代码,一段程序


Q2:文件系统(文件管理系统的方法)的种类有哪些?

A:FATNTFSext1/2/3/4HFS......

  • 对于Windows可以右击磁盘属性查看文件系统,是NTFS

  • 对于Linux,输入“df -T”查看文件系统,是ext4

 (tmpfs是内存文件系统)

回忆上节替换内核时挂载U盘时提到的,当树莓派的SD卡挂载到电脑ubuntu虚拟机时:

fat分区是boot相关的内容;ext4是系统的根目录分区


Q3:什么是分区?

A:对于Windows来说,所谓的C/D/E盘,就是分区,用户可以随意的在分区里创建文件;对于Linux来说分区则有了严格的功能限制,要求按照功能严格的存放文件

嵌入式系统的分区:

  • bootloader分区:存放系统的启动代码
  • para分区:存放启动代码向内核传递参数的位置
  • kernel分区:存放内核的代码
  • 根分区:由“文件系统(目录)结构”存放各种代码
  1. 对于windows来说:是先将物理地址分开,再在分区上建立目录,所以windows的分区下,同一个目录下的两个文件必然属于同一个分区,分区是连续的。所有路径都是从盘符开始的,比如C盘下的一个文件,它的路径必然是C://开头。
  2. 对于Linux来说:是先有目录,再将物理地址映射到目录中,所以Linux的分区下,同一个目录下的两个文件可能属于不同的分区,分区是不连续的。在Linux操作系统中,所有路径都是从根目录开始。

Q4:什么是文件系统目录结构?

A:相比于文件系统代表“操作系统用于明确存储设备组织文件的方法文件系统目录结构代表“从根目录开始的文件架构 

在Linux系统中:

  • 以“.”开头的为隐藏文件
  • 路径用“/”来进行分隔(windows中使用“\”来分割)
  • 目录被组织成一个树形结构,并从根目录开始用“/”来表示,并遵循以下的结构:

对于windows来说,也采用树结构,但是可能存在多个根并列,而盘符就是根,有几个盘符就有几个并列的根


Q5:什么是虚拟文件系统 “Virtual File System” ?

A:在Linux系统中,不同的文件所属的文件系统可能是不同的,文件A可能是ext4,文件B可能是tmpfs......但是在代码的编写时,使用统一的如open,read,write,cp等函数就可以对不同文件系统下的不同文件进行操作,这就是靠VFS这个中间层实现的:上层的函数接口通过VFS就可以轻松的访问不同的文件系统下的不同文件VFS就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口

VFS的作用就是:简化开发的流程,不管属于什么文件系统,不管文件是磁盘还是设备,都可以使用上层的函数接口来进行统一的操作


Linux的内核结构

 补充:什么是shell?

shell也是一个应用程序,给用户提供了操纵内核的工具。一个shell对应一个终端(terminal),在终端输入的指令就会直接传递给shell进行解释,然后对内核进行相应的操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/248701.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx

模型亮点 模型文件: damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorchParaformer-large长音频模型集成VAD、ASR、标点与时间戳功能,可直接对时长为数小时音频进行识别,并输出带标点文字与时间戳: ASR模型…

如何用 Cargo 管理 Rust 工程系列 乙

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/__nvVZYti-G05QJHIp_f8Q 编译程序 这次我们用 cargo 来启动编译,cargo 提供了 build 指令来调度工具构建并输出软件。cargo build 只…

【MySQL学习之基础篇】约束

文章目录 1. 概述2. 基础约束3. 外键约束3.1. 介绍3.2. 外键的添加3.3. 外键删除和更新行为 1. 概述 概念: 约束是作用于表中字段上的规则,用于限制存储在表中的数据。     目的: 保证数据库中数据的正确、有效性和完整性。 分类&#x…

对BIOS进行简单快速的设置更改,就能启用安全引导来安装Windows 11

本文介绍如何在UEFI/BIOS中启用安全引导,以便继续安装Windows 11。 如何启用安全引导 启用安全引导最简单的方法是通过UEFI/BIOS进行。它通常被列为BIOS中的众多选项之一,因此你只需打开它即可启用它。 1、启动,或重新启动你的电脑或笔记本…

Linux---链接命令

1. 链接命令的介绍 链接命令是创建链接文件,链接文件分为: 软链接硬链接 命令说明ln -s创建软链接ln创建硬链接 2. 软链接 类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。 软…

深入理解 hash 和 history:网页导航的基础(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

怎样下载微博视频而不至于发生“403 Forbidden“现象?

近段时间不知道从什么时候开始,微博视频都不让从网页下载了。以前是看到有想要下载的微博视频,就点进去微博详情页用谷歌浏览器F12进入调试的方式,选“Network”->“Media”->重新F5刷新页面等待调试框里出现链接->在链接上鼠标右键…

南京农业大学研发古籍版的ChatGPT,AI大语言模型荀子面世

随着科技的飞速发展,人工智能已深入到各个领域。为响应古籍活化利用号召,推动大语言模型与古籍处理深度融合,以古籍智能化的研究为目的,南京农业大学国家社科基金重大项目“中国古代典籍跨语言知识库构建及应用研究”课题组与中华…

如何拍摄超级大像素图片,超级大像素有哪些应用

引言: 在数字摄影领域,超级大像素照片是指通过高像素的相机或拼接多张照片合成的照片。这样的照片具有更高的分辨率,细节更加清晰,绘画质感更强。那么如何拍摄超级大像素照片,超级大像素可以用在哪些领域呢。 一&…

ISSUE的基本概念

ISSUE:将符合一定条件的指令从发射队列(IssueQueue)中选出来,并送到FU中执行的过程; ISSUE QUEUE也称之为reservation station, 其按照一定的规则,选择那些源操作数都已经准备好的指令,将其送到FU中执行,这个过程称为…

最新50万字312道Java经典面试题52道场景题总结(附答案PDF)

最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题;花了3个月的时间将市面上所有的面试题整理总结成了一份50万字的300道Java高频面…

TCP服务器的编写(上)

tcp服务器的初始化,第一件事情就是创建套接字 目前来说我们的tcp套接和udp套接是没有任何区别的!!! 那么接下来,如果是udp创建好套接字在进行绑定,那么基本上就完成我们udp服务器的初始化 而我们tcp创建好…

题目:二进制中1的个数 (蓝桥OJ 1331)

题目描述: 解题思路: 使用位运算.右移并判断最低位是否为一.但需要注意一般的int类型不行,要使用unsigned int. 题解: #include <bits/stdc.h> using namespace std; int main() {unsigned int x;cin >> xint ans 0;while(x){if(x & 1)ans;x >> 1;}c…

算法基础概念之数据结构

邻接表 每个点作为头节点接一条链表 链表中元素均为该头节点指向的点 优先队列 参数: ①储存元素类型 ②底层使用的存储结构(一般为vector) ③比较方式(默认小于)

使用React实现随机颜色选择器,JS如何生成随机颜色

背景 在标签功能中&#xff0c;由于有「背景色」属性&#xff0c;每次新增标签时都为选择哪种颜色犯难。因此&#xff0c;我们思考如何通过JS代码生成随机颜色&#xff0c;提取一个通用的随机颜色生成工具&#xff0c;并基于React框架封装随机颜色选择器组件。 实际效果 原理…

Vue用<br>自定义换行,用v-html渲染,hover的时候title也需要使用自定义换行或者显示一行用省略号展示,hover展示全部

哈喽 大家好啊,最近遇到一个需求&#xff1a; 需求一&#xff1a;用<br>自定义换行&#xff0c;hover的时候title也需要使用自定义换行 然后我便想到了用<br>自定义换行&#xff0c;然后用v-html渲染&#xff0c;则就正常显示了 但是title只能用文本&#xff0c…

数据结构--稀疏矩阵及Java实现

一、稀疏 sparsearray 数组 1、先看一个实际的需求 编写的五子棋程序中&#xff0c;有存盘退出和续上盘的功能。 分析问题: 因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据.->稀疏数组。 2、稀疏数组基本介绍 当一个数组中大部分元素为&#xff10;…

[NAND Flash] 3.3 Flash闪存工艺知识深度解析

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 全文 3800 字。 1. Wafer 1.1 什么是 Wafer Wafer即晶圆&#xff0c;是半导体组件“晶片”或“芯片”的基材&#xff0c;从沙子里面…

【idea】idea尾部自动删除空格,idea2023.1.2关闭自动去除行尾空格的功能

这个功能是由于git或者svn上的代码有许多空格的时候&#xff0c;会自动把空格去掉&#xff0c;就会导致出现许多更改的地方&#xff0c;会自动删空格。 尾部刚打好空格准备写代码&#xff0c;自动就删掉空格&#xff0c;又得重打空格后继续编码&#xff0c;非常不爽。 设置如…

Kubernetes 的用法和解析 -- 2

一.集群常用指令 1.1 基础控制指令 # 查看对应资源: 状态 $ kubectl get <SOURCE_NAME> -n <NAMESPACE> -o wide [rootkube-master ~]# kubectl get pods -n kuboard -o wide# 查看对应资源: 事件信息 $ kubectl describe <SOURCE_NAME> <SOURCE_NAME_R…