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进行解释,然后对内核进行相应的操作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch:相关性工作台 - BM25 及 ELSER 的相关性比较

我们知道 Elastics Learned Sparse EncoderR (ELSER) 可以被用来做语义搜索。它是一个 out-of-domain 的语义搜索模型。无需训练,我们就可以得到很好的相关性。有关 ELSER 的更多知识,请参考文章 “Elastic Learned Sparse Encoder 简介:Elas…

jenkins-Generic Webhook Trigger指定分支构建

文章目录 1 需求分析1.1 关键词 : 2、webhooks 是什么?3、配置步骤3.1 github 里需要的仓库配置:3.2 jenkins 的主要配置3.3 option filter配置用于匹配目标分支 实现指定分支构建 1 需求分析 一个项目一般会开多个分支进行开发,测试&#x…

网络入门---可变参数原理和日志模拟实现

目录标题 前言有关函数的几个性质介绍可变参数的用法介绍可变参数的一个注意事项可变参数的底层原理va_listva_endva_startva_arg_INTSIZEOF 可变参数的注意事项日志的实现日志的测试 前言 在上一篇文章中我们介绍了TCP协议有关的函数,大致就是服务端先通过listen函…

Springboot的火车票订票系统(有报告)。Javaee项目,springboot项目。

演示视频: Springboot的火车票订票系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&#…

什么是供应链安全及其工作原理?

6000公里长的丝绸之路将丝绸、谷物和其他货物从中国运送到帕尔米拉。尽管蒙古治下的和平保护丝绸之路免受海盗、强盗和内部盗窃的侵害,但商人仍然装备精良,并依赖于大型商队旅行和战略性放置的小型堡垒所提供的安全。 为什么供应链安全很重要&#xff1…

代码随想录刷题题Day14

刷题的第十四天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C Day14 任务 ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和 1 平衡二叉树 二叉树节点的深度:指从根节…

新手HTML和CSS的常见知识点

​​​​ 目录 1.HTML标题标签(到)用于定义网页中的标题,并按照重要性递减排列。例如: 2.HTML段落标签()用于定义网页中的段落。例如: 3.HTML链接标签()用于创建链接…

2021年数维杯国际大学生数学建模A题新冠肺炎背景下港口资源优化配置策略求解全过程文档及程序

2021年数维杯国际大学生数学建模 A题 新冠肺炎背景下港口资源优化配置策略 原题再现: 2020年初,新型冠状病毒(COVID-19)在全球迅速蔓延。根据世界卫生组织2021年7月31日的报告,新冠病毒疫情对人类的影响可能比原先预…

Tomcat-安装部署(源码包安装)

一、简介 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 简单来说,Tomcat是一个WEB应用程序的托管平台…

【MySQL学习之基础篇】约束

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

BearPi Std 板从入门到放弃 - 先天神魂篇(7)(RT-Thread 定时器-软件定时器)

简介 RT-Thread 软件定时器的简单使用步骤 创建项目 参考 BearPi RT-Thread项目创建 定时器管理接口 定时器时钟节拍 定时器管理相关函数 定时器类型 #define RT_TIMER_FLAG_ONE_SHOT 0x0 //一次性计时器 #define RT_TIMER_FLAG_PERIODIC 0x2 // 周期性定时器 #…

【Docker】ES、Kibana及IK安装配置

目录 一.单节点安装部署 1.版本选择 2.推荐及总结 ​3.官网下载地址 4.创建网络 5.拉取镜像 6.创建文件夹 7.运行docker命令 二、安装kibana 1.安装kibana 2.浏览器访问 3.国际化 三、Elasticsearch查询 1.数据插入:POST或PUT 2.数据查询GET 3.分词…

如何用Adobe Audition 检测波形的pop和卡顿

在Adobe Audition中,检测卡顿和pop的方法各有不同: 1. **检测卡顿**: - 使用“诊断”面板中的“删除静音”或“标记音频”选项可以帮助识别音频中的静音段落,这可能表明存在卡顿。 - 配置诊断设置,指定静音的振…

docker consul容器的自动发现与注册

一、微服务(容器)的注册与发现——微服务架构中极其重要的组件 1、定义:是一种分布式管理系统以及定位服务的方法。传统架构中,应用程序之间直连到已知的服务,设备提供的网络(IP地址)&#xff…

高级前端开发工程师

岗位需求 熟练掌握前端主流框架Vue、React、Angular,至少熟练掌控Vue全家桶 文章目录 岗位需求前言一、Vue框架二、React框架三、Angular框架四、什么是Vue全家桶前言 -那就看你表哥的电脑里有没有硬盘 -我不敲键盘 一、Vue框架 Vue(读音为/vjuː/,类似于"view"…

Linux 内存池源码剖析

1 传统的分配与释放内存的函数缺点: void *malloc(size_t size); void *calloc(size_t nmemb,size_t size);void *realloc(void *ptr, size_t size);void free(void *ptr);缺点1: 高并发时较小内存块使用导致系统调用频繁,降低了系统的执行效率 缺点2: 频繁使用时增加了系统…

【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透)

【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透) 全国职业院校技能大赛高职组信息安全管理与评估 (赛项) 评分标准 第三阶段 夺旗挑战CTF(网络安全渗透) *竞赛项目赛题* 本文…

柔性数组(结构体成员)

目录 前言: 柔性数组: 给柔性数组分配空间: 调整柔性数组大小: 柔性数组的好处: 前言: 柔性数组?可能你从未听说,但是确实有这个概念。听名字,好像就是柔软的数…

如何连接到 Azure SQL 数据库(下)

在《如何连接到 Azure SQL 数据库(上)》中,我们已经了解到了以下内容↓↓↓ 开始之前:Azure 连接凭据和防火墙 如何检索 Azure 连接凭据如何配置服务器防火墙使用 SQL Server Management Studio 连接到 Azure使用 dbForge Studio…

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

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