当前位置: 首页 > news >正文

4.文件系统

组成

Linux:一切皆文件

索引节点(I-node)

I-node(Index Node):文件系统的内部数据结构,用于管理文件的元数据和数据块。

  • 文件的元数据:包括文件的权限、拥有者、大小、时间戳、索引和指向数据块的指针等信息。
  • 是文件的唯一标识,与文件一一对应

V-node(Virtual Node):操作系统级别的数据结构,用于维护打开文件的状态和信息。

  • V-node包含了文件的描述符、权限、模式、文件位置指针等信息。
  • 每当一个文件被打开时,操作系统会为该文件创建一个对应的V-node,并将其与文件描述符关联起来。
  • V-node可以看作是操作系统维护的文件控制块,用于跟踪和管理打开的文件。

目录项

内核维护的数据结构,缓存在内存,不存放在磁盘

  • 包含文件或目录的元数据信息,如文件名、文件大小、文件类型、权限、创建时间、修改时间等。
  • 包含指向文件数据所在位置的指针或索引信息。
  • 记录与其他目录项的层级关联关系。

目录是文件系统中用于组织和管理文件的一种特殊类型的文件。

  • 目录可以包含一组目录项,每个目录项对应一个文件或子目录。
  • 目录项是文件系统中的逻辑概念,而目录是文件系统中的特殊文件。
  • 目录项用于描述文件和目录的元数据,而目录则用于存储目录项和维护文件系统的结构。

存储

连续空间存放

文件头(相当于i-node)指定起始块的位置、长度
磁盘空间碎片、文件长度不易拓展

非连续空间存放

隐式链表

每个数据块留出一个指针空间,易丢失

显式链表

指针存放在一个文件分配表(FAT)
在这里插入图片描述

索引

在这里插入图片描述

空闲空间管理

空闲表

在这里插入图片描述

空闲链表

在这里插入图片描述

位图

在这里插入图片描述

链接

硬链接是文件系统中一个文件的多个名称,它们共享相同的索引节点(inode)。

原始文件和硬链接之间没有明显的区别,它们都指向相同的数据和元数据,可以独立地访问和修改文件内容。删除其中任何一个硬链接或原始文件,并不会影响其他链接或文件。

软链接,也称为符号链接或软连接,是一个特殊类型的文件。

它的文件内容是另一个文件的路径,实际上是一个指向另一个文件或目录的快捷方式,类似于操作系统中的快捷方式或符号链接。软链接和目标文件或目录之间是独立的实体,它们具有不同的索引节点。

相关文章:

4.文件系统

组成 Linux:一切皆文件 索引节点(I-node) I-node(Index Node):文件系统的内部数据结构,用于管理文件的元数据和数据块。 文件的元数据:包括文件的权限、拥有者、大小、时间戳、索引…...

Shell脚本case in esac分支语句应用

记录:434 场景:Shell脚本case in esac分支语句应用。 版本:CentOS Linux release 7.9.2009。 1.case in esac格式 格式: case 值 in 模式1)expression;; 模式2)expression;; 模式n)expression;; esac 解析:case…...

【线性dp必学四道题】线性dp四道经典例题【最长上升子序列】、【最长公共子序列】、【最长公共上升子序列(maxv的由来)】【最长公共子串】

【最长上升子序列】、【最长公共子序列】、【最长公共上升子序列】 最长上升子序列f[i] 表示以i结尾的最长子序列 最长公共子序列f[i][j] 表示 a前i 和 b前j个 最长公共长度 最长公共上升子序列f[i][j]代表所有a[1 ~ i]和b[1 ~ j]中以b[j]结尾的公共上升子序列的集合 最长公共子…...

追寻幸福:探索幸福的关键特征和行为

目录 1. 积极的心态 2. 良好的人际关系 3. 自我接纳和自尊 4. 追求意义和目标 5. 健康的身心状态 6. 感知和实现个人价值 幸福是一个主观的感受,因此不同的人对于幸福的定义和追求方式可能会有所不同。然而,有一些共同的特点和行为模式&#xff0c…...

Redis-02-集群

一、redis5搭建集群 1.1、案例:搭建6台redis主机,配置如下 redis并发量:https://www.gxlcms.com/redis-350423.html主机IP:192.168.168.60~65修改redis配置文件hash槽移动,槽内的数据也随之移动 [root60 ~]# vim /e…...

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第三章——MindSpore云上调试调优

1.ModelArts云上调试调优 ModelArts密钥初始化 详细教程: 初始化OBS服务 创建训练作业 2.MindSpore IDE插件效率提升 通过智能代码块推荐、代码自动补全等特性,提升MindSpore脚本开发效率,对接ModelArts云服务,实现模型训…...

python笔记17_实例演练_二手车折旧分析p2

…… 书接上文 4.车辆等级维度 探查车龄为5年的车辆,折旧价值与车辆等级的关系。 # 筛选出车龄为5的数据创建新表 data_age5 data[data[age] 5] data_age5 # 分组聚合计算均值 data_car_level data_age5.groupby(car_level_name)[lowest_price].mean().reset…...

android 12.0长按Power弹出关机对话框去掉屏幕截图和紧急呼救功能

1.概述 在12.0的系统长按关机键,会弹出关机的对话框,关机对话框里面由关机重启截图和紧急呼叫等功能,而由于开发功能需求要求去掉屏幕截图和紧急呼叫等功能,所以就要先找到关机对框的代码 然后实现功能 功能分析: 长按电源键弹出关机对话框,通过adb shell命令发现 就是f…...

2023年下半年软考高级需要报班吗?

首先,对于软考高级考试报班与否的问题,需要根据自身的情况来做出决定。如果你有较强的自学能力,且具备丰富的实际工作经验和技术知识,那么不报班也完全可以自学备考。但如果你对软件工程的知识掌握程度较低,或者时间紧…...

使用WordPress提高企业敏捷性

喜欢WordPress的原因有很多:该平台非常适合内容管理以及控制预算。此外, 在 提高开发效率和简化项目管理方面,WordPress可以通过多种方式提供帮助。 对于任何企业业务,目标始终是在不影响质量的情况下更快地启动项目、发布修复和…...

SSM编程---Day 07

目录 SpringMVC 一、概念 二、springMVC的请求处理流程 三、mvc:annotation-driven 标签的作用 四、HandlerMapping、Handler和HandlerAdapter的介绍 五、SpringMVC 体系结构 六、SpringMVC的常用注解 七、view和controller之间的传值 SpringMVC 一、概念 1、 Spring…...

Seata术语

1.什么是Seata Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 官网 2.Seata能干嘛 一个典型的分布式事务过程 分布式事务处理过程的一ID三组件模型: Transaction ID XID 全局唯一的事务ID三组…...

【Axure教程】通过文本框维护下拉列表选项

下拉列表(Dropdown List)是一种常见的用户界面元素,用于提供一组选项供用户选择。它通常以一个展开的列表形式出现,用户可以点击或选择列表中的一个选项。一般来说,他的选项值是由系统代码组成的,所以一般是…...

【C++】基础知识--输入/输出(5)

前面部分的示例程序几乎没有提供与用户的交互(如果有的话)。他们只是在屏幕上打印简单的值,但标准库提供了许多其他方式通过其输入/输出功能与用户交互。本节将简要介绍一些最有用的方法。 cin标准输入cout标准输出cerr标准错误(输…...

经典文献阅读之--PIBT(基于可见树的实时规划方案)

0. 简介 作为路径规划而言,不单单有单个机器人自主路径规划,近年来随着机器人行业的兴起,多机器人自主路径规划也越来越受到关注,对于多智能体寻路(MAPF)。一般的操作会给定一个地图、机器人集群、以及它们的初始位置和目的地&am…...

SAP-MM-计算方案字段解析

01、 “步骤”:标识此条件类型在计算方案中的顺序编号,此编号会影响到后续业务中条件类型的排序,不同条件类型之间的编号最好间隔大一些,这样设置便于以后对计算方案进行扩展; 02、 “计数器”&#xff1…...

go-gf框架两个表以事务方式写入示例

下面是对每一行代码的中文解释: // 创建数据库连接对象 var tx gdb.TX这行代码声明了一个名为tx的变量,类型为gdb.TX,表示数据库事务对象。 // 开启事务 if tx, err g.DB().Ctx(ctx).Begin(ctx); err nil {这行代码通过在数据库连接&…...

2023-5-31第三十一天

conform顺从,遵从,一致 squeeze挤压 proprietary专卖权,专利的,所有的 endeavor努力,尽力 comprise由...组成,包含 compose组成,写作 compact小型的 consult咨询,查阅 expan…...

什么是MQTT?mqtt协议和http协议区别

摘要: 什么是MQTT?MQTT(Message Queuing Telemetry Transport)译为:消息队列遥测传输,是一种轻量级的通讯协议,用于在网络上传输消息。MQTT 最初由 IBM 发布,后来成为 OASIS&#xf…...

平台使用篇 | 批处理(bat)脚本使用教程(四)

导读 一个开启多机软件在环仿真的批处理文件 (对应卓面RflyTools文件夹中SITLRun快捷方式),双击它,输入想要生成的飞机数量,即可生成多机软件在环仿真,等待RflySim3D显示3DFixed 4/4,然后可通过QGC控制飞机起飞。运行…...

Deep-Live-Cam性能优化指南:从环境配置到实时换脸全流程解决方案

Deep-Live-Cam性能优化指南:从环境配置到实时换脸全流程解决方案 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam Deep-Live-…...

Llama-3.2V-11B-cotGPU算力优化:双卡4090自动拆分模型实测报告

Llama-3.2V-11B-cot GPU算力优化:双卡4090自动拆分模型实测报告 1. 项目概述 Llama-3.2V-11B-cot是基于Meta最新多模态大模型开发的高性能视觉推理工具,专为双卡RTX 4090环境深度优化。作为一款11B参数规模的视觉推理工具,它解决了传统大模…...

intv_ai_mk11实测效果:在24GB显存限制下保持128~512 token长文本生成质量

intv_ai_mk11实测效果:在24GB显存限制下保持128~512 token长文本生成质量 1. 模型效果惊艳展示 intv_ai_mk11作为一款基于Llama架构的中等规模文本生成模型,在24GB显存环境下展现出了令人印象深刻的长文本生成能力。不同于常规模型在显存限制下容易出现…...

告别大模型幻觉!RAG 原理 + Spring AI 代码实现一步到位

RAG 诞生背景:大模型原生缺陷 LLM 存在 3 个无法自愈的问题,这是 RAG 技术的核心出发点: LLM存在幻觉现象, 生成无事实依据、虚假编造的内容LLM知识更新缓慢, 预训练数据固定,无法同步新数据 / 私有数据LLM对领域知识的理解有限, …...

5大核心优势!PingFangSC字体配置完全指南:从安装到设计工具深度应用

5大核心优势!PingFangSC字体配置完全指南:从安装到设计工具深度应用 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件,包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 在数字设计领…...

高效实时换脸架构优化:Deep-Live-Cam技术实现与部署方案

高效实时换脸架构优化:Deep-Live-Cam技术实现与部署方案 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam Deep-Live-Cam是一款…...

电赛E题三子棋:我是如何用Open MV色块识别替代矩形识别,搞定棋盘定位的?

电赛E题三子棋:OpenMV色块识别技术实战解析 从矩形识别到色块识别的技术转型 在电子设计竞赛的视觉识别任务中,棋盘定位一直是个经典难题。最初我们团队采用了官方推荐的矩形识别方案,但实际调试中遇到了诸多挑战: 识别率不稳定&a…...

数据库索引原理:B+树与哈希索引的深度对决

数据库索引原理:B树与哈希索引的深度对决在数据库的世界里,索引是提升查询性能的“核武器”。如果把数据库表比作一本厚厚的书,那么索引就是书中的目录。没有目录,想要找到特定的知识点只能一页页翻找(全表扫描&#x…...

RWKV7-1.5B-G1A多模态应用初探:从文本到简单图表描述生成

RWKV7-1.5B-G1A多模态应用初探:从文本到简单图表描述生成 1. 开篇:当语言模型遇见数据可视化 最近在测试RWKV7-1.5B-G1A模型时,我发现一个有趣的现象——这个原本设计用于文本处理的模型,居然能通过巧妙的Prompt设计&#xff0c…...

Ubuntu下Minicom与Kermit串口工具对比:哪个更适合你的嵌入式开发?

Ubuntu下Minicom与Kermit串口工具深度评测:嵌入式开发者的终极选择指南 在嵌入式开发领域,串口通信如同开发者的"听诊器",是调试硬件、监控系统状态的核心工具。Ubuntu作为最受开发者欢迎的Linux发行版之一,其生态中Mi…...