文件系统是一个比较模糊的名词,文件也是一个比较模糊的名词。狭义上文件就是指磁盘文件,广义上说能够产生和消耗信息的都是文件,比如刻录机(消耗信息就是刻盘,产生信息读盘)。
文件是用来存信息的,但他不存自身的管理信息。比如一个数据文件,他记载了一大堆数据,但他不可能也不会记载自己在磁盘中的位置,也不会记载自己的访问权限,甚至可能连自己的文件名他也不会记载。这些管理信息都是由文件系统来记载和管理的。同时,文件本身不会提供自己读写操作的具体实现(也就是代码了)这些都是由文件系统来提供的。所以说不同的文件系统读写操作是不一样的。(文件系统还有很多功能就不一一细说了,比如寻址等。从文件系统提供的功能来看我们就可以看出文件系统在操作系统中是非常重要的,一个东西可以被称为操作系统,那么它必须具有进程管理或者文件系统中至少一个,如果2个都没有,那就不是操作系统了。没有进程管理的比如简单的批处理系统,没有文件系统的如嵌入式操作系统就可能没有)。
我们常见的文件系统有FAT,NTFS和EXT等。他们就是我们上面提到的来管理文件的文件系统的具体实现。操作系统里面文件系统也不能简单的理解成FAT,NTFS等,也许大家有些糊涂,但对一个名词有很多种解释是很正常的,前面我们是从文件的角度来解读文件系统这个词,这里是从操作系统的角度来解读文件系统这个词,那么从操作系统看来,文件系统则是另一种概念。
操作系统必须支持多种文件格式(为了以示区别,我们把FAT,NTFS叫做文件格式),操作系统必需支持多种文件格式,甚至是它们共存比如一个目录下是FAT格式,而另一个则是EXT的。操作系统做法是提供一个虚拟的文件系统,他里面涵盖了一些必不可少的文件信息和操作,然后当你读写某一个具体文件时候,就根据文件格式,将这些操作函数指向具体的文件格式中的操作函数。从面向对象角度来开,就是操作系统提供了接口,而各个文件格式则是这个接口的具体实现。我们在读写文件时候代码中第一步就是打开文件,这其实就是接口的初始化,将接口指向具体的文件格式,为文件的读写建立起上下文。最后要关闭文件就是撤销这些在内存中存贮的上下文信息。
上面大概介绍了文件系统,这里介绍2个在linux描述文件信息的数据结构,一个是dentry,而另一个则是inode.一个叫做目录,另一个叫做节点。目录是从逻辑角度来描述文件,而节点则是从物理角度描述文件。也许有人认为这两者应该合成一个数据结构,我们知道能够合成一个数据结构只有1对1情况,而目录和节点是多对一的,一个物理上存在的文件可能有多个逻辑上的存在,比如你多建立起来的软连接和硬链接。这里只简单介绍下,具体这些数据结构里面记载了那些信息,读者可以自己查找。
分享到:
相关推荐
(8)copy …: 拷贝文件,除支持模拟Linux文件系统内部的文件拷贝外,还支持host文件系统与模拟Linux文件系统间的文件拷贝。 (9)del …: 删除文件:删除指定文件,不存在时给出出错信息。 (10)check:检测并恢复文件...
本次实验是关于Linux文件系统及文件管理的上机操作,旨在让学生深入理解和熟练运用Linux操作系统中的文件系统管理和文件操作。实验涵盖了文件系统的格式化、挂载与卸载,目录和文件的创建、移动、复制、删除,以及...
C语言模拟实现Linux文件系统 1、在内存中开辟一块空间来模拟文件系统的运行,不读写硬盘。 2、面向单用户、单任务,不考虑并发,不考虑文件属主、组等概念。 3、程序开始后,初始化并接收用户输入。若输入”enter”...
"Linux文件系统的模拟实现" Linux文件系统是操作系统的核心组件之一,负责管理存储设备上的数据组织和访问。 Linux文件系统的模拟实现是指通过软件模拟实现一个Linux文件系统,来加深对文件系统的理解。 文件系统...
本篇将深入探讨Linux文件系统的结构,并阐述进程如何操作文件。 首先,Linux文件系统采用了一种层次式的目录结构,这种结构起始于根目录 `/`。所有其他目录和文件都是从这个根目录开始的,通过斜线 `/` 分隔的路径...
这篇学习资料详细介绍了Linux文件系统的一些关键概念和技术。 1. 文件系统类型 Linux支持多种文件系统类型,如EXT2、EXT3、EXT4、XFS、Btrfs、FAT、NTFS等。EXT4是目前最常用的一种,它在EXT2的基础上进行了优化,...
### Linux文件系统基础知识详解 #### 一、文件系统概述 文件系统是操作系统中不可或缺的核心组成部分之一,它负责管理和组织存储设备(如硬盘、SSD等)上的数据。具体而言,文件系统定义了一套规则和数据结构,用...
Linux 文件系统源码是了解操作系统核心机制的重要组成部分,特别是对于那些想要深入理解Linux内核以及文件系统工作原理的开发者和研究者来说。在这个压缩包中,包含了一系列的源码文件,涉及到了多种不同的文件系统...
Linux文件系统是Linux操作系统的核心组成部分,它负责管理和存储数据,为用户提供访问文件和目录的统一接口。Linux的一大特性是支持多种文件系统,包括但不限于ext、ext2、xia、minix、umsdos、msdos、vfat、proc、...
本文主要探讨了在Red Hat 9.0环境下Linux文件系统的管理,包括磁盘管理的各个方面。 1. Linux 文件系统类型 Linux 支持多种文件系统,如ext2、ext3和ext4,其中Red Hat 9.0默认使用ext3文件系统。ext3是一种日志...
模拟Linux文件系统。在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的 模拟Linux文件系统 在现有机器硬盘上开辟20M的硬盘空间,作为设定的硬盘空间。 2. 编写一管理程序对此空间进行管理,以...
Linux 文件系统详解 Linux 文件系统是 Linux 操作系统的核心组件之一,负责管理和组织存储在磁盘等存储设备上的文件。Linux 文件系统的核心是树状目录结构,目录提供了管理文件的一个方便而有效的途径。Linux 使用...
Linux 文件系统目录结构的详细解说 Linux 文件系统目录结构是 Linux 操作系统的根目录结构,它是 Linux 文件系统的组织者,也是最上级的领导者。 Linux 文件系统的目录结构可以用树形结构来形象地描述。在 Linux ...
用C编写的一个Unix/Linux文件系统
Linux文件系统概念