[操作系统] 文件系统基本概念

杭电操作系统-课前测试-6.1 文件系统基本概念 一、单选题 1.在Linux中,一个源程序经过编译之后得到的可执行文件属于() 答:普通文件 解析:Windows、Unix、Linux中都有普通文件和目录文件 普通文件包含ASCII文件和二进制文件,一般用户建立的源程序文件、数据文件和操作系统自身代码文件、实用程序等都是普通文件。 目录文件是管理文件系统组织结构的系统文件 2.在unix系统中,一个用C语言编写的源程序属于() 答:普通文件 解析:见单选第一题解析 3.unix系统中文件分类 不包括以下类型() A.普通文件 B.目录文件 C.系统文件 阅读详情

文件系统基本概念



1. 为什么要使用文件系统

所有的计算机应用程序都需要存储和检索信息。

  1. 由于存储容量受虚拟地址空间大小的限制,一些程序的地址空间不足以满足自己所需哟的信息。

  2. 在进程地址空间中保存的信息,当进程终止时,保存的信息也随之丢失。对于一些程序而言,这是不可接受的。

  3. 经常存在多个进程同时存取同一信息的情况。如果只在某个进程中保存一信息,那么其他进程就无法对它进行存取了。

因此,长期存储信息有三个基本要求:

  1. 能够存储大量信息
  2. 使用信息的进程终止时,信息仍旧存在
  3. 必须能使多个进程并发存取有关信息

现代计算机使用硬盘来实现长期存储,但在这个基础上,还存在一些问题

  1. 如何找到信息?
  2. 如何防止一个用户读取另一个用户的数据?
  3. 如果知道磁盘上哪些块是空闲的?

现代计算机使用新的抽象——文件来解决这个问题。

2. 什么是文件

文件是进程创建的信息逻辑单元,一个磁盘一般含有几千甚至几百万个文件,每个文件是独立于其他文件的。可以把一个文件看成一种地址空间。

进程可以读取已经存在的文件,也可以创建新的文件。存储在文件中的信息必须是持久的,不会因为进程的创建和终止而受到影响。

操作系统对文件进行管理,包括构造、命名、存取、使用、保护、实现和管理等。在操作系统中处理文件的部分称为文件系统。

3. 文件命名

文件是一种抽象系统,提供了在磁盘上保留信息并且读取的方法。在用户使用时,可能不了解文件存储方法,位置,实际工作方式。用户只需要知道文件名。

在进程创建文件时,它给文件命名。在晋城终止时,该文件依旧存在,并且其他进程可以通过这个文件名进行访问。

在许多操作系统中,支持将文件用”.”符号分为两部分,”.”后的一部分被称为扩展名,其中包括了文件的一些信息。

4. 文件结构

文件结构

  1. 无结构的字节序列
    操作系统把文件看成字节序列,用户可以向文件中假如任何内容,并以任何方式命名。操作系统不会提供帮助,也不会构成阻碍。

  2. 固定长度的记录序列
    文件是具有固定长度记录的序列,每个记录都有其内部结构。读操作返回一个记录,而写操作重写或追加一个记录。

  3. 记录树
    每个记录并不具有同样的长度,而记录的固定位置有一个“键”字段。树按“键”字段进行排序,从而可以对特定键进行快速查找。

5. 文件类型

UNIX和Windows中都有普通文件和目录两种类型的文件,在UNIX中还有字符特殊文件和块特殊文件。

普通文件中包含有用户需要的信息。目录是管理文件系统结构的系统文件。

普通文件一般分为ASCII文件和二进制文件。

  1. ASCII文件
    由多行正文组成。在某些系统中,每行用回车符结束,其他系统则用换行符结束。文件中各行长度不一定相同。ASCII文件的最大优势是可以直接显示和打印,还可以使用任何文本编辑器进行编辑。如果很多程序都以ASCII文件作为输入输出,就很容易把一个程序的输出作为另一个程序的输入。

  2. 二进制文件
    打印出来的二进制文件是无法理解的,充满混乱字符的一张表。只用使用该文件的程序才能了解二进制文件的内部结构。不同格式的二进制文件可能具有不同的结构,如图所示为两种不同的二进制文件结构(不同格式的文件具有不同的扩展名)。
    二进制文件

6. 文件存取

  1. 顺序存取
    进程在系统中可从头顺序读取文件的全部字节或记录,但不能跳过任何内容,也不能不按顺序读取。可以返回起点,即可以多次读取。

  2. 随机存取
    可以不按顺序地读取文件中的字节或记录,或者按照关键字而不是位置来存取记录。对于一些程序很重要,如数据库系统,如果按顺序查找记录可能浪费很多时间。

7. 文件属性

除文件名和数据外,系统还会保存一些诸如创建时间、文件大小、创建者等信息,这些信息被称为属性。

8. 目录系统

文件系统通常提供目录或文件夹用于记录文件,在很多系统中目录本身也是文件,在这些系统中,目录是管理文件系统结构的系统文件。

  1. 一级目录系统

    在一个目录中包含所有文件,通常被称为根目录,但因为只有这一个目录,所以名称不重要。这一设计的优点在于简单, 可以快速定位文件(因为只有一层目录要查看)。

    一级目录系统

  2. 层次目录系统

    当用户有太多的文件时,一级目录变的很难寻找文件。所以需要一种层级结构(即目录树)。通过这种方式,用很多目录把文件分组。

    多级目录系统

9. 路径名

用目录树组织文件系统时,需要用指明文件名。

  1. 绝对路径名

    由从根目录到文件的路径组成。例如,路径/usr/ast/mailbox表示在根目录中有子目录usr,而usr中有子目录ast,文件mailbox在目录ast中,该方式中,路径名必须从根目录开始,且一定是惟一的。如果一个地址以分隔符开始(如”/”,”\”,”>”)那么这个路径就是绝对路径。

  2. 相对路径名

    常和工作目录(也称当前目录)一起使用。用户可以指令一个目录为当前目录,这时路径名可以相对工作目录开始。例如,当前工作目录为usr/ast,那么这时可以直接用mailbox来引用该文件。在这种情况下,/usr/ast/mailbox 与 mailbox是相等的。

绝对路径名的好处是,无论当前工作目录是什么,总能正常工作。相对路径的好处则是更加方便。

每个进程都有自己的工作目录,这样在进程改变工作目录并退出后,其他进程不会受到影响,文件系统中也不会有改变的痕迹。所以对于进程而言,切换工作目录是安全的。但是对于库过程,如果改变了它的工作目录,并且在工作完毕后没有改回去,那么其他程序有可能无法正常运行,因为他们关于当前目录的假设已经失效。

参考书目:现代操作系统第三版

LFI Scanner 本地文件包含漏洞扫描、文件路径遍历、敏感文件读取(etcpasswd) ✅ **敏感文件读取验证**:内置`/etc/passwd、/windows/system32/drivers/etc/hosts、phpinfo.php`等敏感文件字典,一键验证漏洞可利用性;🔴 **Windows**:`/windows/win.ini`(系统配置)、`/windows/system32/drivers/etc/hosts`;🔴 **Linux**:`/etc/passwd`(用户信息)、`/proc/version`(内核版本)、`/etc/hosts`(域名解析); 阅读详情

相关推荐

TransUnet官方代码训练自己数据集(彩色RGB3通道图像的分割)

官方代码:https://github.com/Beckschen/TransUNet 目的:训练5个类别的汽车部件分割任务(测试在另一篇博客中) 实现效果: 1. github下载代码,并解压。 项目里的文件可能跟你下载的不一样,不急后面会讲到! 2. 配置数据集(尽最大努力还原官方数据集的格式)。 通常自己手上的数据集分images和labels文件夹,分别存放着原始图像和对应的mask图像,如下图所示; mask图像中的像素有0,1,2,3,4 分别代表背景,车身,轮子,车灯,窗户,一共五个

qq_37652891的博客 5万+

操作系统——文件系统

文章目录文件系统的功能规划文件系统的基本组成一切皆文件目录项和目录是一个东西吗?那文件数据是如何存储在磁盘的呢?虚拟文件系统文件的物理结构文件块文件分配方式连续分配非连续空间存放方式链式分配隐式链接显式链接索引分配空闲空间的管理空闲表法空闲链表法位图法文件系统的结构文件的存储目录的存储 文件系统的功能规划 对于运行的进程来说,内存就像一个纸箱子,仅仅是一个暂存数据的地方,而且空间有限。如果我们想要进程结束之后,数据依然能够保存下来,就不能只保存在内存里,而是应该保存在外部存储中。就像图书馆这种地方,不仅空

zhouhengzhe的博客 1万+

32位ALU设计(verilog实现)

32位ALU设计 ​ 算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。算术逻辑单元是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate"(与门) 和"Or Gate"(或门)构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。 设计思路 设计实现 仿真测试 文章目录32位ALU设计一、设计

Destiny的博客 4万+

操作系统:浅谈文件系统

我们知道文件可以分为:已被打开文件(被进程加载) 和 未被打开文件(在磁盘中保存)这两种文件,而我们对文件的学习也不能只局限于 对被进程打开的文件,因为大部分文件都不是被打开的,而是在磁盘中。这就引申到了操作系统是如何管理未被打开文件,并如何将他们从磁盘中加载到内存,并被进程调用的呢?这就是我们接下来要讲的文件系统的知识了。

weixin_73234157的博客 1249

不到200块!手把手教你用ZYNQ7010和AD9363攒一台自己的开源SDR硬件(附BOM清单)

本文详细介绍了如何用不到200元的预算,基于ZYNQ7010 FPGA和AD9363射频芯片打造一台功能完备的开源SDR硬件平台。从核心组件选型、PCB设计到焊接调试,提供全流程实战指南,特别适合预算有限的硬件爱好者和创客群体探索无线通信世界。

weixin_26854829的博客 479

基于YOLOv8的水果新鲜程度检测系统设计与实现

数据采集与预处理模块:负责收集水果图像数据并进行标注和增强深度学习模型:基于YOLOv8的目标检测模型新鲜度评估模块:根据检测结果评估水果新鲜程度用户界面:提供友好的交互界面系统集成:将各模块整合为完整系统水果新鲜程度检测需要包含多种水果在不同新鲜度状态下的图像数据集。:包含5种常见水果(苹果、香蕉、橙子、葡萄、草莓)在不同新鲜度下的图像包含约8,000张图像,分为新鲜和腐烂两类AgriVision:大型农业图像数据集,包含水果检测和分类任务Fruit-360:包含120种水果的高质量图像。

YOLO 444

【操作系统/OS笔记17】文件系统基本概念、文件描述符、文件系统访问、文件别名、文件系统种类

【操作系统/OS笔记17】文件系统基本概念、文件描述符、文件系统访问、文件别名、文件系统种类 本次笔记内容: 12.1 文件系统:总体介绍 12.2 基本概念 12.3 基本概念——文件系统和文件 12.4 基本概念——文件系统的功能 12.5 基本概念——文件和块 12.6 基本概念——文件描述符 12.7 基本概念——目录 12.8 基本概念——文件别名 12.9 基本概念——文件系统种类 文章目录【操作系统/OS笔记17】文件系统基本概念、文件描述符、文件系统访问、文件别名、文件系统种类文件系统的功能

夜空中最亮的星 330

机器学习项目实战案例数据集

本专栏整理了《机器学习项目实战案例》,内包含了各种不同的机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

优快云 精品推荐 3635

操作系统原理 - 学习笔记(7 - 1)文件系统 - 文件系统基本概念

cas

Henry1991back的博客 322

2024.12.29 【RNA-seq】Rawdata数据缺失问题与解决方案

Fastq格式是一种用于存储高通量测序数据的文件格式,包含序列和相应的质量信息。第一行以开头,后接序列标识符;第二行是测序的DNA序列;第三行以开头,可能会跟随序列标识符;第四行是对应的质量值,以ASCII字符表示。Rawdata的数据完整性通常情况下是没有问题的,但我们仍然需要对下机数据进行验证,确保后续分析的正常进行,好的分析习惯可以提高整体的分析效率,避免很多不必要的麻烦。

1109

回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证

回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证 目录回归预测 | MATLAB实现SVR(支持向量机回归)K折交叉验证基本介绍划分原理留一划分交叉验证K折交叉数据下载程序设计参考资料致谢 基本介绍 在机器学习里,通常来说我们不能将全部用于数据训练模型,否则我们将没有数据集对该模型进行验证,从而评估我们的模型的预测效果。为了解决这一问题,有如下常用的方法: 第一种是最简单的,也是很容易就想到的。我们可以把整个数据集分成两部分,一部分用于训练,一部分用于验证,这也就是我们经常提到的训练集

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 6375

清华操作系统课程(向勇、陈渝)笔记——第十二章(一)(基本概念:文件系统和文件,文件描述符,目录,文件别名,文件系统种类)

基本概念 1. 文件系统和文件 1. 1 文件系统 一种用于持久性存储(掉电不会丢失数据,例如硬盘)的系统抽象。 1. 2 文件 文件系统中一个单元的相关数据在操作系统中的抽象。 1. 3 文件系统的功能 (在磁盘角度)分配文件磁盘空间: 管理文件块(哪一块属于哪一个文件) 管理空闲空间(哪一块是空心啊的) 分配算法 (在用户角度)管理文件集合: 定位文件及其内容 命名:通过名字找到文件的接口 文件系统类型 提供的便利及特征 保护:分层来保护数据安全 可靠性/持久性:保持文件的持久即使

WeilingDu的博客 305

【实战教程】BMAD-METHOD 入门教程:用 AI 组建你的“七人开发团队”

简单说,BMAD-METHOD 就像一个会自己运转的“AI 软件公司”。它不是某个单一应用,而是一种AI 工作流方法论—— 把一个项目拆解成多个角色(产品、架构、前后端、测试、运维等),每个角色由一个 AI 智能体负责协作,就像你真的在带一个 7 人团队。GitHub 项目地址 👉目前 Star 数已经达到了恐怖的 20k,可见这套方法的影响力不小。BMAD-METHOD 的核心理念不是“生成代码”,而是“自动化协作”。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1622

操作系统之文件系统的基本概念

创建文件操作允许用户在文件系统中生成一个新的文件实体。截断文件操作将文件的大小减小到用户指定的大小。删除文件操作从文件系统中移除指定的文件。写文件操作允许用户将数据写入到文件中。读文件操作允许用户从文件中读取数据。系统调用)改变文件的读写位置。重新定位文件操作(通常通过。

song0789的博客 860

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

《操作系统》之文件系统篇(一)- 基本概念

基本概念 文件 文件是操作系统对存储设备的物理属性加以抽象定义的逻辑存储单位。 文件包括文件的属性和操作: 属性包括:名称,标识符,类型,位置,尺寸,权限,创建和修改时间,文件的所有者和使用者等等。 文件的操作包括:创建文件,读文件,写文件,重新定位文件的读写位置,删除文件和截断文件。 进行文件操作的实质? 上面的文件操作涉及搜索目录。为了方便文件操作的搜索更简单,许多系统在首次使用文件之前进行系统调用open()。 操作系统在内核上维护一个打开文件表用于维护所有打开文件的信息。当进行访问文件时,直接使用这

lluojian的博客 679

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2.基本概念之MBR硬盘、GPT硬盘、UEFI操作系统、ESP分区、UEFI支持FAT文件系统、文件系统

1.MBR硬盘(Master Boot Record):MBR是一种硬盘划分规范,其规定了硬盘扇区的组织方式,是一种传统的硬盘分区规范,遵循该规范的硬盘称作MBR硬盘,与传统Legacy BIOS配合使用; 2.GPT硬盘(GUID Partition Table):GPT是Intel公司开发的一种硬盘划分规范,其规定了硬盘扇区的组织方式(如第0个扇区作为保护性MBR,第2~33扇区作为分区表项

JIA_GUOQIANG的博客 5965

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文件系统学习1——文件系统基本概念

2019.2.27 最近准备学习一下文件系统的基本知识,学习路线如下: 文件系统基本概念->文件系统磁盘布局->文件系统IO系统->MQ队列机制->IO管控。 下面开始简单介绍一下文件系统的一些基本概念,大部分来自于书籍和一些博客上的内容,相关链接如下: Ext4专题文章索引 linux文件系统详解 鸟哥 Linux 磁盘与文件系统管理 Linux 的虚拟文

Zuoerfeng 2277

【操作系统】探究文件系统奥秘:创建proc文件系统的解密与实战

作者深入研究了创建proc文件系统的关键内容。首先,文章解析了proc文件系统的基本概念,强调了其在内核中的实现方式和功能。其次,深入讨论了创建和管理proc文件系统的接口,涉及内核模块的编写以及与之相关的注册、注销和回调函数。

朝花夕拾 1万+

【操作系统】第十二章文件系统

12.1基本概念 不同的操作系统,有不同的文件系统,还可能有多个文件系统 一、文件系统与文件 文件系统:一种用于持久性存储的系统抽象 需要注意: 一首音乐和一张图片都是一个文件,都是以文件的形式存放在硬盘上的,但是和桌面级不一样,但是读写命名创建的形式都是一样的。 文件:文件系统中一个单元的相关数据在操作系统中的抽象 二、文件系统的功能 1、分配文件磁盘空间 1)管理文件夹(那一块属于哪一个文件...

Clichong 1453

【操作系统】第十二章

来源:操作系统_清华大学(向勇、陈渝) 1.总体介绍 2.基本概念 3.文件系统和文件 4.文件系统的功能 5.文件和块 6.文件描述符 7.目录 8.文件别名 9.文件系统种类 10.虚拟文件系统 11.数据缓存 12.打开文件的数据结构 13.文件分配 14.空闲空间列表 15.多磁盘管理-RAID 16.磁盘调度 ...

yangyang的专栏 1063

Linux系统基本概念与文件系统组成

Linux系统基本概念与文件系统组成

weixin_46619605的博客 1255

计算机基础之操作系统——文件系统

硬链接(Hard Link)和符号连接(Symbolic Link,也称为软链接,Soft Link)是文件系统中两种不同的文件链接方式。它们允许用户通过不同的路径访问同一个文件或目录,但在实现方式、行为和用途上有显著的区别。类似于。

qq_45444343的博客 909

【操作系统笔记】-文件系统

为了避免刚删除文件导致空闲链表写回磁盘后马上又有需要写文件导致刚写回的空闲链表块又读回内存,做了一个优化,当内存中的空闲链表块满时,不是整块写回磁盘,而是写一半,然后内存中的空闲块就只剩一半左右的空闲块,来处理临时的释放和申请空闲块,减少磁盘IO。虽然单级目录系统有简单和定位文件快的好处,但是现在计算机的用户通常有成千上万的文件,不可能放到一个目录中,因此需要一种方法将有关系文件分组聚集在一起,一种方案是层级目录,就像一本书的目录,如下图,不仅可以分组聚集相关文件,还可以为不同用户创建独立的目录。

weixin_40293999的博客 720
上一篇: [操作系统] 分段
下一篇: [LeetCode] 74. Search a 2D Matrix
LLLZHLIU
博客等级 码龄10年 19粉丝 43原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值