常见文件系统的格式

文件系统(File System)是文件管理系统的简称,根据维基百科的描述,文件系统是用来组织数据在存储介质上的存储方式以及检索方式的。没有文件系统,信息在存储介质上会是一个很大的信息块,没法知道一条信息什么时候会结束,也没法知道信息在什么时候开始,对信息的管理就会十分的麻烦。

??文件系统的种类有很多,每一种文件系统的结构,逻辑,存取速度,灵活性,安全性,大小,等等都不一样。

??文件系统可以被使用在很多不同的存储设备(storage devices)上,这些存储设备使用不同的媒介(media),比如磁带,移动硬盘,闪存等,有时候,计算机的主存(RAM)甚至会创建一个临时的文件系统来临时使用。

??总之,文件系统的类别有很多,也很复杂,又想弄明白文件系统的原理,需要学习的东西有很多,这里只介绍一些平时在使用不同的操作系统时可能用到的一些知识,几种不同系统下的常见文件系统格式。

windows系统常见的文件系统

FAT

wikipedia FAT文件系统

??FAT(File Allocation Table)文件系统诞生于1977年,它最初是为软盘设计的文件系统,但是后来随着微软推出dos和win 9x系统,FAT文件系统经过适配被逐渐用到了硬盘上,并且在那时的20年中,一直是主流的文件系统。

??后来随着硬件技术的进步,硬盘的容量也越来越大,这种文件格式逐渐被扩展了,出现了FAT12,FAT16,FAT32等文件系统,甚至后来还出现了FAT64的文件系统。

??在今天,FAT已经不是windows系统的主流文件系统了,但是它在软盘,闪存(u盘),以及很多嵌入式设备上还是很常见的。

??详细的情况wikipedia上有几张表,相关信息都可查看到。
??目前最通用的的是FAT32,很多U盘上都是FAT32格式,关于FAT32文件系统,以下几点值得注意:

单个文件最大为4G
最大文件数量268,435,437
分区最大容量8TB
可在多种操作系统读写
有时候,我们向U盘拷贝大文件时,会发现拷不进去,实际上就是因为这个U盘是FAT32格式的。

NTFS

??NTFS全称是New Technology File System,它是一种比FAT32功能更加强大的文件系统。
??从windows 2000之后的windows系统的默认文件系统都是NTFS,而且这些windows系统只能够安装在NTFS格式的磁盘上。
NTFS具有以下特点:

理论上最大文件尺寸可达16EB-1KB,实际上有16TB-64KB(1EB = 1024PB 1PB = 1024TB,至于理论和实际为什么差这么多,没有进行过深入研究,有可能是现在的科技还不足以制造出这么大的磁盘的)
最大文件数量可达232-1个
操作系统支持大部分windows系统,Unix/Linux系统,Mac OS(在Mac OS 10.4+系统上,NTFS格式是只读的,即在Mac系统下,你只能从NTFS格式的磁盘上读取数据,而不能写入数据)
NTFS系统是一个日志性的文件系统,系统中对文件的操作都可以被记录下来,当系统崩溃之后,利用日志功能可以修复数据
??由于在Mac系统下,ntfs是只读的,所以要想在Mac下想ntfs格式的硬盘写入数据,要装一个插件Paragon NTFS,但据说不是太稳定。
3. ExtFAT

?? ExFAT(Extended File Allocation Table)又叫FAT64,看名字就知道它是对FAT文件系统的扩展。
??E下FAT是虽然也是微软开发的文件系统,但说它是windows下的文件系统并不合适,它是专门为闪存盘设计的文件系统,单个文件突破了4G的限制,而且分区的最大容量可达64ZB(比EB大一级的),建议512TB。
??ExFAT在windows,Linux以及Mac系统上,都可以读写,作为U盘或者是移动硬盘的格式还是比较合适的。

Mac OS系统常见的文件系统

HFS/HFS+
??HFS全称叫分层文件系统(Hierarchical File System,HFS),诞生于1985年,最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到。
??HFS+是一个HFS的改进版本,支持更大的文件,并用Unicode来命名文件或文件夹,代替了Mac OS Roman或其他一些字符集。
??HFS+的最大文件尺寸可以达到8EB,文件数量可以达到232 - 1个。
?? 由于这两种文件格式是苹果专有的文件系统,所以在windows系统下,是看不到HFS分区的。
Linux系统常见的文件系统

?? 这几种文件系统wikipedia上资料也不多,所以就直接拷过来了。

Ext2
??wikipedia英文:https://en.wikipedia.org/wiki/Ext2
??wikipedia中文:https://zh.wikipedia.org/wiki/Ext2

??第二代扩展文件系统(英语:second extended filesystem,缩写为 ext2),是LINUX内核所用的文件系统。它开始由RémyCard设计,用以代替ext,于1993年1月加入linux核心支持之中。ext2的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。其他的实现包括GNU Hurd,Mac OS X (第3方),Darwin(第3方),BSD。
??ext2为数个LINUX发行版的默认文件系统,如Debian、Red Hat > Linux等。
Ext3
??wikipedia英文:https://en.wikipedia.org/wiki/Ext3
??wikipedia中文:https://zh.wikipedia.org/wiki/Ext3

??第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。Stephen Tweedie在1999年2月的内核邮件列表[2]中,最早显示了他使用扩展的ext2,该文件系统从2.4.15版本的内核开始,合并到内核主线中[3]。
??它的性能(速度)不如它的竞争对手,例如JFS2,ReiserFS和XFS,但它具有重要的优势,那就是它允许在适当的时候从流行的ext2文件系统升级,而无需备份和恢复数据;除此之外,它还具有比ReiserFS和XFS更低的的CPU使用率。
??尽管Ext3相对于Ext2有了不少的优势,但是它还是有一些劣势:
(1)ext3会在删除文件时把文件的节点(inode)中的块指标清除。这样做可以在unclean载入文件系统后,重放日志时,可以减少对文件系统的访问。但也同样也增加了文件在反删除上面的困难。用户唯一的补救是在硬盘中捞取数据,并且要知道文件的起始到结束的块指标。尽管提供了比 ext2在删除文件上稍微高一些的安全性,却也无可避免的带来了不便之处。
(2)Ext3不支持透明压缩(Ext2以非官方补丁支持)。
(3)大小限制,见下表。

块尺寸 最大文件尺寸 最大文件系统尺寸
1KB 16GB 2TB
2KB 256GB 8TB
4KB 2GB 16TB
8KB 16GB 32TB
(4)Ext3在写入日志时,并不做校验和。如果barrier=1没有作为加载参数(在文件/etc/fstab),并且如果硬件在无次序的写入缓存,在崩溃时会严重损坏文件系统(该选项在大多数流行的Linux发行版中都没有被启用,所以大多数发行版的处境都很危险。)
3 . Ext4
??wikipedia英文:https://en.wikipedia.org/wiki/Ext4
??wikipedia中文:https://zh.wikipedia.org/wiki/Ext4
Ext4具有以下特点

大型文件系统
??ext4文件系统可支持最高1 Exbibyte的分区[6]与最大16 Tebibyte的文件。
Extents
??ext4引进了Extent文件存储方式,以替换ext2/3使用的block mapping方式。Extent指的是一连串的连续实体block,这种方式可以增加大型文件的效率并减少分裂文件。ext4支持的单一Extent,在单一block为4KB的系统中最高可达128MB[1]。单一inode中可存储4笔Extent;超过四笔的Extent会以Htree方式被索引。
向下兼容
??ext4向下兼容于ext3与ext2,因此可以将ext3和ext2的文件系统挂载为ext4分区。由于某些ext4的新功能可以直接运用在ext3和ext2上,直接挂载即可提升少许性能。
ext3文件系统可以部分向上兼容于ext4(也就是说ext4文件系统可以被挂载为ext3分区)。然而若是使用到Extent技术的ext4将无法被挂载为ext3。
预留空间
??ext4允许对一文件预先保留磁盘空间。目前大多数文件系统做到这点的方式是直接产生一个填满0的文件;ext4和XFS可以使用Linux核心中的一个新的系统调用“fallocate()”获取足够的预留空间。
延迟获取空间
??ext4使用一种称为allocate-on-flush的方式,可以在数据将被写入磁盘(sync)前才开始获取空间;大多数文件系统会在之前便获取需要的空间。这种方式可以增加性能并减少文件分散程度。
突破32000子目录限制
??ext3的一个目录下最多只能有32000个子目录。ext4的子目录最高可达64000,且使用“dir_nlink”功能后可以达到更高(虽然父目录的link count会停止增加)。为了避免性能受到大量目录的影响,ext4默认打开Htree(一种特殊的B树)索引功能。该功能已经实现于Linux核心2.6.23版。
日志校验和
??Ext4使用校验和特性来提高文件系统可靠性,因为日志是磁盘上被读取最频繁的部分之一。这个特性还有一个好处就是可以安全地避免日志处理时磁盘I/O的等待,而稍微提高一些性能。日志校验和的技术源于威斯康辛大学的一篇名为IRON File Systems的研究论文(见第六节 transaction checksums校验和处理)[7]
在线磁盘整理
??对于在线磁盘整理工具有许多草案,但是这些草案都没有被包含在主流的内核当中。即使Ext4包含有许多避免磁盘碎片的技术,但是磁盘碎片还是难免会在一个长时间使用过的文件系统中存在。Ext4将会有一个具有磁盘整理功能的工具[8]。
快速文件系统检查
??Ext4将未使用的区块标记在inode当中,这样可以使诸如e2fsck之类的工具在磁盘检查时将这些区块完全跳过,而节约大量的文件系统检查的时间。这个特性已经在2.6.24版本的Linux内核中实现。

时间: 2024-10-21 21:54:14

常见文件系统的格式的相关文章

常见文件系统:

常见文件系统:EXT4(Linux)/XFS(SGI)/JFS(IBM)/Btrfs(Oracle)/ZFS(SUN)/ReiserFS/HFS+(Apple)/NTFS(MS)/FAT32(MS)/exFAT(MS)苹果没有采用ZFS的原因分析:ZFS需要占用大量的内存来实现文件系统操作,目标用户是大企业的工作站和服务器,不适用iOS设备.另外SUN被Oracle收购,Oracle又长期投资ZFS的竞争产品Btrfs,所以苹果可能觉得ZFS的前途不明朗.http://www.ilsistemi

常见文件系统特性

文件系统              操作系统              支持日志                大目录 ext2                  gun/ linux             否                        否 ext3                  gun/linux              可选                   可选/部分 ext4                  gun/linux              是

常见的视频格式介绍

主要是编码的方式和算法不同以下是常见的格式MPEG/.MPG/.DAT MPEG是Motion Picture Experts Group 的缩写.这类格式包括了 MPEG-1, MPEG-2 和 MPEG-4在内的多种视频格式.MPEG-1相信是大家接触得最多的了,因为目前其正在被广泛地应用在 VCD 的制作和一些视频片段下载的网络应用上面,大部分的 VCD 都是用 MPEG1 格式压缩的 ( 刻录软件自动将MPEG1转为 .DAT格式 ) ,使用 MPEG-1 的压缩算法,可以把一部 120

几种常见的YUV格式--yuv422:yuv420【转】

转自:http://blog.csdn.net/u012288815/article/details/51799477 关于yuv 格式 YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式.前者将 YUV 分量存放在同一个数组中, 通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放 YUV 三个分量,就像 是一个三维平面一样. 下图是DM6467的视频接口处理前端 TI的几款达芬奇处理器对于接收YCbCr数据和存放数据的方式是不一样

常见的图片格式

1.JPEG: 联合照片专家组(JPRG.Joint Photographic Expert Group) 文件后缀名为“.jpg”或“.jpeg"   特性:有损压缩格式,是可以把文件压缩到最小的格式   使用:适用于互联网,减少图像传输时间,适用于需要连续色调的图形,是目前网络上最流行的图像格式   优点:1.摄影作品或写实作品支持高级压缩 2.利用可变的压缩比可以控制文件大小        3.支持交错(对于渐近式 JPEG 文件) 4.JPEG 广泛支持 Internet 标准.   缺

常见的图片格式的区别

gif 支持动画 只有全透明和半透明两种模式 只有256种颜色 jpg 采用有损压缩算法 体积较小 不支持透明 不支持动画 png 采用无损算法 体积也相对较小 支持背景透明 不支持动画 svg 只记录形状 无损 使用简单的图案 原文地址:https://www.cnblogs.com/binHome/p/11808928.html

FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式

声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章.书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚開始接触学习,如有不正确之处还请指出. 音频格式是指要在计算机内播放或是处理音频文件,也就是要对声音文件进行数.模转换,这个过程相同由採样和量化构成.人耳所能听到的声音.最低的频率是从20HZ起一直到最高频率20KHZ.20KHZ以上人耳是听不到的,因此音频文件格式的最大带宽是20KHz,故而採样速

常见图片格式详解

标明原作者信息 http://www.cnblogs.com/xiangism 做了几年有关图形.图像的工作,对图片格式算是小有经验,在此写成一文章总结下.虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最简单的方式将这些"理论"讲清楚吧. 常见的图片格式有bmp, jpg(jpeg), png, gif, webp等. 图像基本数据结构 要讲图片格式还先得从图像的基本数据结构说起.在计算机中, 图像是由一个个像

网站证书(SSL域名证书)常见格式使用

主流的Web服务软件通常都基于两种基础密码库:OpenSSL和Java 1.Tomcat.Weblogic.JBoss等系统是使用Java提供的密码库.通过Java的Keytool工具,生成Java Keystore(JKS)格式的证书文件.Tomcat7开始支持PFX格式证书 2.Apache.Nginx等,使用OpenSSL提供的密码库,生成PEM.KEY.CRT等格式的证书文件. 3.IBM的产品,如Websphere.IBM Http Server(IHS)等,使用IBM产品自带的iKe