操作系统基础:文件系统基础【上】

简介: 操作系统基础:文件系统基础【上】



⚔️1 文件系统概述

⚙️1.1 文件管理应该解决的问题

📡1.1.1 文件属性

📡1.1.2 文件数据的组织

📡1.1.3 文件之间的组织

📡1.1.4 向上提供的功能

📡1.1.5 总结

⚙️1.2 文件应该怎么存放在外存中

⚙️1.3 其他问题

⚙️1.4 总结

⚔️ 2 文件目录

🧲2.1 总览

🧲2.2 文件控制块

🔬2.2.1 什么是目录文件

打开一层目录,都可以看到里面的文件内容,比如:

那么操作系统会为每一层文件都建立一个目录文件,如图

这张表记录了文件名(最重要)、文件存放的物理位置(最重要)、文件类型等等很多的信息。当我们打开一个文件时,实际上操作系统内部发生的事情为:

🔬2.2.2 什么是文件控制块

目录文件中的一条记录就是一个文件控制块(FCB)。如图

🔬2.2.3 文件目录快的作用

(1)存储基本信息

(2)实现映射

🔬2.2.4 目录需要提供的功能

🧲2.3 目录结构

🔬2.3.1 单文件目录结构

主要存在于早期操作系统,整个系统中只有一个目录表,每个文件都占一个目录项。

🔬2.3.2 两级目录结构

示意图如下所示:

允许不同用户的文件重名,但是用户不可以对自己的文件进行分类,不太方便。

🔬2.3.3 多级目录结构(树形目录结构)

(1)示意图

是现在大多计算机普遍使用的目录结构

(2)绝对路径

(3)相对路径

总而言之,相对路径可以提升操作系统的效率

🔬2.3.4 无环图目录结构

(1)树形结构的缺点

(2)示意图

简而言之,在无环图目录结构中,允许多个文件名指向同一个文件,这样就可以实现文件的共享。

(3)如何删除共享文件?

(4)注意

🧲2.4 索引结点(FCB的改进)

⚗️2.4.1 概述

在之前介绍的目录文件中,每一个FCB都存储了文件的很多信息,但是实际上当操作系统在查找文件时,需要的唯一信息是文件名。此时就可以对目录文件进行瘦身。

⚗️2.4.2 索引结点示意图

索引结点指针指向索引结点,它存储了文件的除文件名以外的所有信息。

⚗️2.4.3 索引结点提升的效率

(1)使用FCB的访问磁盘次数

(2)使用索引结点的访问磁盘次数

🧲2.5 总结

🕮 3 总结

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍

相关文章
|
6月前
|
Web App开发 移动开发 Linux
DP读书:《openEuler操作系统》(七)FSCK与VFS虚拟文件系统
DP读书:《openEuler操作系统》(七)FSCK与VFS虚拟文件系统
193 0
|
2月前
|
存储 算法 安全
操作系统之文件系统的奥秘
【9月更文挑战第19天】本文将深入探索操作系统中不可或缺的组件——文件系统,揭示其工作原理与实现细节。我们将通过浅显的语言和生动的比喻,一步步解析文件系统如何组织数据、管理存储空间,并确保数据的完整性和安全性。文章不仅适合初学者构建基础概念,也能帮助有经验的开发者更深入地理解文件系统的高级特性。
|
10天前
|
存储 安全 大数据
深入浅出操作系统:文件系统的秘密
【10月更文挑战第35天】本文将揭示文件系统背后的奥秘,从其基本概念到复杂的实现机制。我们将一起探索文件系统的结构和原理,并了解它如何影响我们的日常计算体验。通过简单的例子和比喻,文章旨在使读者对文件系统有一个清晰而深刻的理解,就像甘地所言:“你必须成为你希望在世界上看到的改变。”让我们一起成为理解操作系统的先行者。
|
5月前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
6月前
|
存储 Unix Linux
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
118 1
|
2月前
|
存储 缓存 文件存储
探索操作系统中的文件系统管理
【9月更文挑战第25天】在数字世界的海洋中,操作系统是指引我们航行的灯塔。它不仅管理着硬件资源,还维护着软件的秩序。本文将深入探讨操作系统中一个至关重要的部分——文件系统管理。我们将从基础概念出发,逐步深入到文件系统的设计与实现,最后通过代码示例来直观展示文件系统的操作。让我们一起揭开文件系统管理的神秘面纱,理解其背后的逻辑与奥秘。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
45 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
54 6
|
3月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。
|
3月前
|
存储 算法 Unix
OS—文件系统
OS—文件系统
52 0