`
younglibin
  • 浏览: 1211090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文件系统

阅读更多

 

  注1:操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
  文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。因此,可以说"我有2个文件系统"意思是他有2个分区,一个存文件,或他用 "扩展文件系统",意思是文件系统的种类。
  磁盘或分区和它所包括的文件系统的不同是很重要的。少数程序(包括最有理由的产生文件系统的程序)直接对磁盘或分区的原始扇区进行操作;这可能破坏一个存在的文件系统。大部分程序基于文件系统进行操作,在不同种文件系统上不能工作。
  一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就叫建立文件系统。
  大部分UNIX文件系统种类具有类似的通用结构,即使细节有些变化。其中心概念是超级块superblock, i节点inode, 数据块data block,目录块directory block, 和间接块indirection block。超级块包括文件系统的总体信息,比如大小(其准确信息依赖文件系统)。 i节点包括除了名字外的一个文件的所有信息,名字与i节点数目一起存在目录中,目录条目包括文件名和文件的i节点数目。 i节点包括几个数据块的数目,用于存储文件的数据。 i节点中只有少量数据块数的空间,如果需要更多,会动态分配指向数据块的指针空间。这些动态分配的块是间接块;为了找到数据块,这名字指出它必须先找到间接块的号码。
  UNIX文件系统通常允许在文件中产生孔(hole) (用lseek ; 请看手册), 意思是文件系统假装文件中有一个特殊的位置只有0字节,但没有为这文件的这个位置保留实际的磁盘空间(这意味着这个文件将少用一些磁盘空间)。这对小的二进制文件经常发生,Linux共享库、一些数据库和其他一些特殊情况。 (孔由存储在间接块或i节点中的作为数据块地址的一个特殊值实现,这个特殊地址说明没有为文件的这个部分分配数据块,即,文件中有一个孔。)
  孔有一定的用处。在笔者的系统中,一个简单的测量工具显示在200MB使用的磁盘空间中,由于孔,节约了大约4MB。在这个系统中,程序相对较少,没有数据库文件。
分享到:
评论

相关推荐

    广东工业大学操作系统实验四文件系统

    广东工业大学 操作系统 实验四 文件系统 一、实验目的 模拟文件系统实现的基本功能,了解文件系统的基本结构和文件的各种管理方法,加深理解文件系统的内部功能及内部实现。通过用高级语言编写和调试一个简单的文件...

    操作系统实验 编程实现简单文件系统

    操作系统实验,用C语言实现自己的文件系统。设有一个容量为2M字节的磁盘,磁盘中扇区(block)的大小为512字节,所有扇区可以视为构成一个线形存储空间,从0开始,顺序给每个扇区分配一个编号,视为物理扇区号,借助...

    emmc 文件系统优化

    随着移动设备和嵌入式系统越来越广泛的应用,对于eMMC存储设备文件系统进行优化成为了提升系统整体性能的关键。eMMC(嵌入式多媒体卡)是一种将NAND闪存与闪存控制器集成到单个芯片上的存储解决方案,广泛应用于各种...

    二级目录文件系统模拟

    在计算机科学中,文件系统是操作系统用来组织、存储和检索文件的一种方法。在这个大型实验“二级目录文件系统模拟”中,我们将关注如何使用VC6(Visual C++ 6.0)来实现一个基本的二级目录结构,这对于我们理解文件...

    C语言编写的一个模拟文件系统

    在计算机科学领域,文件系统是操作系统用来组织、存储和管理数据的一种机制。它定义了如何在硬盘或其他存储设备上创建、删除、访问和修改文件。本项目是一个使用C语言实现的简单模拟文件系统,旨在帮助初学者理解...

    操作系统实验4_文件系统

    操作系统实验四的核心目标是设计和实现一个简单的文件系统,它基于假设的I/O系统,以帮助实验者理解文件系统的基本工作原理。在这个实验中,文件系统通过一系列命令(如create、open、read)与用户交互,而I/O系统则...

    Linux下一个简单的文件系统实现

    在Linux操作系统中,文件系统是核心的重要组成部分,它负责组织和管理存储设备上的数据,使得用户和应用程序可以方便地存取文件。本项目名为“Linux下一个简单的文件系统实现”,其核心是一个名为XORFS(意为“或许...

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作

    ### 知识点详解 #### 一、二级目录结构及其...通过以上分析可以看出,本实习通过模拟实现采用了二级目录结构的磁盘文件系统中的文件操作,不仅加深了对文件系统原理的理解,还锻炼了数据结构设计和算法实现的能力。

    NTFS文件系统扇区存储探秘_扫描完整版

    《NTFS文件系统扇区存储探秘》主要内容包括:介绍NTFS文件系统优越的性能特征;介绍作者为了探索NTFS文件系统的存储特点编写的21个WIN32工具程序;使用作者编写的WIN32工具程序,探秘NTFS文件系统的扇区存储规律。 ...

    模拟文件系统设计报告

    《模拟文件系统设计报告》 本报告主要探讨的是如何使用C语言模拟实现操作系统中的文件管理系统。设计的核心目标包括实现文件的创建、查询、删除、修改、更名、拷贝等基本功能,以及采用多级目录机制来管理和操作...

    模拟Linux文件系统

    (8) copy …: 拷贝文件,除支持模拟Linux文件系统内部的文件拷贝外,还支持host文件系统与模拟Linux文件系统间的文件拷贝,host文件系统的文件命名为…,如:将windows下D:盘的文件\data\sample\test.txt文件拷贝到...

    操作系统课程设计模拟Linux二级文件系统

    操作系统课程设计是IT学习中的重要环节,特别是在模拟真实操作系统功能时,如本次的主题——模拟Linux二级文件系统。这个任务旨在让学习者深入理解文件系统的原理和运作方式,从而提升对操作系统核心机制的理解。 ...

    操作系统--文件系统实验源代码

    7. **文件系统挂载**:在Linux中,不同的物理存储设备可以被挂载到文件系统的某个点,形成虚拟的统一文件系统。挂载点和挂载操作是实验的重要部分。 8. **磁盘管理**:了解磁盘分区、格式化和文件系统类型(如ext4...

    操作系统 设计文件系统

    通过一个文件或者内存空间来虚拟一块“硬盘”,给这个“硬盘”编写一个虚拟文件系统,虚拟linux/unix文件系统的操作和管理。进一步熟悉操作系统中文件系统部分的原理以及linux/unix文件系统的管理方式。 实现的功能...

    操作系统——简单文件系统模拟实验

    在内存中模拟一个FAT格式的文件系统,完成文件的创建和索引功能,实现以下命令接口: (1)新建文件,格式:mkfile filename filecontent filename:文件名 filecontent:文件内容(字符) 实现按FAT格式写FAT表...

    exFAT文件系统结构分析.docx

    exFAT(Extended File Allocation Table)是微软推出的一种先进的文件系统,主要设计用于闪存设备,以解决FAT32在大容量存储上的限制。它提供了更好的性能、更高效的存储管理和更大的单个文件大小支持。在本文中,...

    操作系统的文件系统

    关于文件系统的ppt文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件...

    C#实现的文件系统

    本项目" C#实现的文件系统 "旨在创建一个既具有Windows 7风格图形用户界面(GUI)又具备Linux命令行界面特色的文件管理系统。通过这种方式,用户可以享受到两种操作系统的优点,无论是喜欢直观的图形操作还是偏爱...

    虚拟文件系统V2

    虚拟文件系统(Virtual File System,简称VFS)是一种在操作系统中用于实现不同文件系统兼容性的抽象层,它是Linux系统中的一项关键技术,为各种不同的文件系统提供统一的用户接口。Linux通过VFS能够在不同的文件...

Global site tag (gtag.js) - Google Analytics