Linux文件系统 Linux文件系统-软件介绍,Linux文件系统-Linux

文件系统是Linux操作系统的重要组成部分,Linux文件具有强大功能。

linux文件系统_Linux文件系统 -软件介绍

很详细地了解某个操作系统的实际工作方式是非常困难的,因为大多数操作系统的源代码都是严格保密的。在以实际使用为目标的操作系统中,让任何人都可以自由获取系统源代码,无论目的是要了解、学习还是修改,这样的系统并不多。本论文的主题就是这些少数操作系统中的一个:Linux。

linux文件系统_Linux文件系统 -Linux

是一个性能稳定、功能强大、效率高的操作系统。它在功能特性方面与Unix系统相似,同时又具有多任务、多用户、多平台等若干特性。Linux的源代码是开放的,阅读Linux源代码,无疑是深入学习Linux的最好方法。

文件系统是Linux操作系统的重要组成部分,Linux文件具有强大的功功能。文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。

Linux 最早的文件系统是Minix,但是专门为Linux 设计的文件系统――扩展文件系统第二版或EXT2被设计出来并添加到Linux中,这对Linux产生了重大影响。EXT2文件系统功能强大、易扩充、性能上进行了全面优化优化,也是现在所以Linux发布和安装的标准文件系统类型。

每个实际文件系统从操作系统和系统服务中分离出来,它们之间通过一个接口层:虚拟文件系统或VFS来通讯。VFS使得Linux可以支持多个不同的文件系统,每个表示一个VFS 的通用接口。由于软件将Linux 文件系统的所有细节进行了转换,所以Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。Linux 的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。

在Linux文件系统中,作为一种特殊类型/proc文件系统只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。/proc文件系统是一个伪文件系统,用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。

在Linux文件系统中,EXT2文件系统、虚拟文件系统、/proc文件系统是三个具有代表性的文件系统,本论文试图通过对他们的分析来研究Linux文件系统机制。并且在分析这三种文件系统的基础上对Linux文件系统操作进行了解、研究(本论文选取了open和close两种操作进行研究)。在第二部分中将介绍EXT2文件系统;第三部分论述虚拟文件系统的特点;第四部分简要介绍/proc文件系统;最后,介绍两种具体文件系统操作的实现。

Linux文件系统 Linux文件系统-软件介绍,Linux文件系统-Linux

linux文件系统_Linux文件系统 -EXT2文件系统

在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。

引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。

Linux最早引入的文件系统类型是MINIX。MINIX文件系统由MINIX操作系统定义,有一定的局限性,如文件名最长14个字符,文件最长64M字节。第一个专门为Linux设计的文件系统是EXT(Extended File System),但目前流行最广的是EXT2。

第二代扩展文件系统由Rey Card 设计,其目标是为Linux 提供一个强大的可扩展文件系统。它同时也是Linux界中设计最成功的文件系统。通过VFS的超级块(struct ext2_sb_info ext2_sb)可以访问EXT2的超级块,通过VFS的inode(struct ext2_inode_info ext2_i)可以访问EXT2的inode。

文件系统EXT2的源代码在/usr/src/linux/fs/ext2目录下,它的数据结构在文件/usr/src/linux/include/linux/ext2_fs.h以及同一目录下的文件ext2_fs_i.h和ext2_fs_sb.h中定义。

EXT2文件系统将它所占用的逻辑分区划分成块组(block group),如下图所示:

组0
组1
…………
组N



超级块
组描述符表
块位图
inode位图
inode表
数据块

linux文件系统_Linux文件系统 -文件系统



图1 EXT2文件系统逻辑分区

和很多文件系统一样, EXT2 建立在数据被保存在数据块中的文件内这个前提下。这些数据块长度相等且这个长度可以变化,某个EXT2 文件系统的块大小在创建(使用mke2fs)时设置。每个文件的大小和刚好大于它的块大小正数倍相等。如果块大小为1024 字节而一个1025 字节长的文件将占据两个1024 字节大小的块。这样你不得不浪费差不多一般的空间。我们通常需要在CPU 的内存利用率和磁盘空间使用上进行折中。而大多数操作系统,包括Linux 在内,为了减少CPU 的工作负载而被迫选择相对较低的磁盘空间利用率。并不是文件中每个块都包含数据,其中有些块被用来包含描叙此文件系统结构的信息。EXT2通过一个inode 结构来描叙文件系统中文件并确定此文件系统的拓扑结构。inode 结构描叙文件中数据占据哪个块以及文件的存取权限、文件修改时间及文件类型。EXT2 文件系统中的每个文件用一个inode 来表示且每个inode 有唯一的编号。文件系统中所有的inode都被保存在inode 表中。 EXT2 目录仅是一个包含指向其目录入口指针的特殊文件(也用inode表示)。

对文件系统而言文件仅是一系列可读写的数据块。文件系统并不需要了解数据块应该放置到物理介质上什么位置,这些都是设备驱动的任务。无论何时只要文件系统需要从包含它的块设备中读取信息或数据,它将请求底层的设备驱动读取一个基本块大小整数倍的数据块。EXT2 文件系统将它所使用的逻辑分区划分成数据块组。每个数据块组将那些对文件系统完整性最重要的信息复制出来, 同时将实际文件和目录看作信息与数据块。为了发生灾难性事件时文件系统的修复,这些复制非常有必要。

  

爱华网本文地址 » http://www.413yy.cn/a/8103280103/40036.html

更多阅读

Root后怎么删除软件? root后删除系统软件

Root后怎么删除软件?——简介若不清楚该删除哪个软件,请参考固件说明,或者互联网搜索相关固件版本对应可以删除的软件!误删系统软件将会导致手机无法开机!Root后怎么删除软件?——工具/原料R

DNF佣兵系统详细介绍 dnf支援兵系统详细介绍

DNF佣兵系统详细介绍——简介早在不知道什么时候,DNF推出了佣兵系统,到底是什么玩意呢?DNF佣兵系统详细介绍——DNF佣兵系统:DNF佣兵系统详细介绍 1、在某次版本更新以后,DNF就推出了佣兵系统。DNF佣兵系统在哪?我们可以看到屏幕的右下

Android手机系统软件apk开发制作!免费学教程 android apk系统权限

Android手机系统软件apk开发制作!免费学教程——简介随着Android安卓系统的日益广泛使用,越来越多人发现手机潜在的力量,当然手机应用软件app的朝阳也随之并进,手机app软件潜在着无线巨大的发展空间和利益金钱空间!例如说:微信!UC浏览器!手

无错增强版 清除系统垃圾文件的软件(clear.bat) list clear清除问题

网上的东西有很多经典的,但也有很多不足的地方,这篇文章网上很流行的,可以说是很精典,你在网上找一下下边这些关键词。“清除系统垃圾.bat”,“清除系统垃圾文件.bat”,“清除系统垃圾文件的软件.bat”,“一个手动清除垃圾文件的批处理文

声明:《Linux文件系统 Linux文件系统-软件介绍,Linux文件系统-Linux》为网友一直都在努力分享!如侵犯到您的合法权益请联系我们删除