Linux文件系统的演变

Linux文件系统的演变,第1张

说起文件系统的演变与发展,不得不从最早期的 Minix *** 作系统开始说起。

Minix(MINI-UNIX) 是早期的一个迷你版本的 「类UNIX *** 作系统」 ,由荷兰阿姆斯特丹自由大学计算机科学系的塔能鲍姆教授自行开发的可以与UNIX *** 作系统兼容的一个 *** 作系统,因其小型,该 *** 作系统被命名为 MINIX 。

MINIX 系统在设计之初,采用程序模块化的思想,将一众程序放在用户空间运行,而不是在 *** 作系统的内核中运行。如 「文件系统」 「存储器管理」 等程序均是如此。

受 MINIX *** 作系统的影响,早期的Linux *** 作系统也曾采用由塔能鲍姆教授开发的MINIX的文件系统。

然而,不只因为早期的 MINIX *** 作系统并为真正意义上的开源软件(在保护著作的前提下进行收费),而且基于 MINIX 的内部使用16位的偏移量,使文件系统能够支持的最大空间只有64MB,支持的最大文件名为14字符,导致后来 Linux *** 作系统转而开发出了 ext(Extended File System) 第一代可扩展文件系统。

ext(Extended File System) 为Linux系统最早的扩展文件系统,采用 「UNIX文件系统」 的元数据结构,克服了 「MINIX」 *** 作系统性能不佳的问题。

ext 文件系统采用 虚拟文件系统(VFS) ,最大可支持2GB的文件系统。与 MINIX 文件系统不同的是, ext 可以使用最高2GB的存储空间并同时处理255个字符的文件名。

但,在 ext 文件系统中,文件创建时生成的 inode 信息是不变的,这导致文件发生修改后 inode 中储存的文件时间戳并不会发生变化;而且 ext 并不会为文件妥善分配空间,磁盘上的多个文件四散分布,严重制约了文件系统的性能。

ext 文件系统推出后不久,其开发者便意识到 ext 文件系统中存在很大缺陷( inode不变性 和 文件空间碎片化 ),并在一年后推出了 ext2 (Second Extened File System) 第二代扩展文件系统,用来代替 ext 文件系统。

ext2 吸取了 「UNIX文件系统」 的众多优点,并且因其良好的可扩展性( 为系统在磁盘上存储的数据结构预留了很多空间提供给开发者使用 ),在20世纪90年代众多文件系统中脱颖而出。

众多新的特性, POSIX(可移植 *** 作系统接口) 、 访问控制表 等都是在这一代扩展文件系统上实现的。直至今天, POSIX 仍被众多 *** 作系统所沿用。

不仅如此, ext2 还在 ext 的基础上进行了完善,能够最大支持的单个文件达到 2TB。

ext2 文件系统与20世纪90年代的众多文件系统一样,将数据写入到磁盘的过程中如果发生系统奔溃或断电,极容易导致文件损坏或丢失。

正是因为类似 ext2 等同时期的一众文件系统,在遭遇系统奔溃或断电时会出现文件损坏或丢失。尽管 ext2 文件系统拥有开机后对文件系统中文件的一致性校验,但校验的过程极为耗时,且校验的过程中, *** 作系统上的任何卷组都是不可访问的。

然而 ext2 遗留的问题在 ext3(Third Extended File System) 中得到了解决。

ext3 文件系统采用日志记录的方式,记录下了 *** 作系统运行中的所有事件,这意味着即便遇到 *** 作系统非正常关机后也无须对文件系统进行校验,从而防止了文件系统中数据丢失的可能。

尽管 ext3 使用日志系统进行记录文件系统的变化,但这并没有影响 ext3 文件系统处理数据的速度。基于日志系统在磁盘上的优化,在 ext3 中数据的传输效率是高于 ext2 的,并且可以通过重新设置日志的级别来提升文件系统的性能。

其次, ext3 在设计之初就吸收了 ext2 的很多思想,这使得 ext2 文件系统迁移到 ext3 变得极为便利。事实上, ext3 可以在从 ext2 迁移 ext3 的过程中,无须进行文件系统资料的备份,且无须担心升级后的数据恢复问题。

也正是因为 ext3 设计之初沿用了众多 ext2 的功能,这使得 ext3 缺乏变通。例如, 「inode的动态分配」 「可变块大小」 等问题并没有得到解决。不仅如此, ext3 文件系统在被挂载为写入时,无法对文件系统进行完整性校验。

第四代扩展文件系统( Fourth Extended File System, ext4 ) 是继 ext3 文件系统的后续版本,不仅支持 ext3 的日志文件体系 ,同样支持 大文件系统 ,不仅提高了文件系统对于存储碎片化的抵抗,而且改进了 inode固一化 的问题。

同时, ext4 文件系统在开发之初就考虑到很多问题,对众多问题的优化和改进也使得 ext4 拥有了众多新的特性。例如, 大文件系统 、 使用Extent文件存储的方式 、 预分配空间 、 延迟文件获取空间的时间 、 突破原有子目录限制 、 增加日志校验和 、 在线整理磁盘 、 文件系统快速检查 、 向下兼容其他ext文件系统`。

时至今天, ext4 文件系统已经成为Linux发行版默认使用的文件系统。

与 ext2 文件系统同一时期出现的,还有 xfs 文件系统。 xfs 文件系统是高性能的文件系统,最早在 IRIX *** 作系统上开发,后期被移植到 Linux *** 作系统上。现在所有的 Linux发行版 都支持 xfs 的使用。

相比 32位 Linux 的 *** 作系统来说,64位 xfs 的文件系统能够支持的单个文件系统要远远超出 32位 *** 作系统。

xfs 对文件系统元数据提供了日志支持,当文件系统发生变化后,总是会保证源数据在数据块写入磁盘之前被写入日志中,磁盘中有一处缓冲区专门用来存放日志,从而不会影响正常的文件系统。

xfs 同样支持 「条带化分配」 。在条带化RAID阵列上创建 xfs 文件系统时,可以指定 条带化数据单元。通过配置条带化单元,使 数据分配、inode分配、日志等与RAID条带单元对齐,来提高文件系统的性能。

与 ext4 文件系统不同的是, xfs 文件系统还支持在线恢复。 xfs 文件系统提供了 xfsdump 和 xfsrestore 工具协助备份 xfs 文件系统中的数据。

以下为各文件系统的出现时间及特性:

参考自: https://zh.wikipedia.org/wiki/Ext4

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

981 年IBM公司推出微型计算机IBM PC。

1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的 *** 作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU *** 作系统,但是GNU奠定了Linux用户基础和开发环境。

1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix *** 作系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的 *** 作系统。

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。

1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。

1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。

1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。

1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。

1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

1998年2月,以Eric

Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办

了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动。

2001年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能。

2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化。

2004年的第1月,SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux *** 作系统支持256个Itanium 2处理器。

主要特性

1、免费且开源 2、完全兼容POSIX1.0标准 3、多用户、多任务 4、拥有良好的界面 5、支持多种平台

DOS的版本

DOS在1981年推出其1.0版,功能还非常基本和薄弱;1983年推出2.0,主要增加了目录 *** 作功能,使文件管理上了一个新台阶(目录和文件的概念我们将在讲解DOS内部命令时介绍);1984年推出3.0,主要支持1.2MB的5.25英寸高密软盘(1.X和2.X只支持低密盘)和大容量硬盘;1987推出目前普及率最高的DOS 3.3,主要支持3.5英寸软盘和网络。至此,DOS已经发展的相当成熟,尽管后续版本(目前PC-DOS的最新版本为7.0版,MS-DOS公布的最新版本为6.22)不断推出,但均无重大的内核改进,只不过增加了许多实用功能,如检测磁盘,清除病毒,硬盘增容等。

DOS是Disk Operation System(磁盘 *** 作系统) 的简称,是1985~1995年的个人电脑上使用的一种主要的 *** 作系统。由于早期的DOS系统是由为软公司为IBM的个人电脑开发的,称为MS-DOS,因此后来其他公司生产的与MS-DOS兼容的 *** 作系统,也延用了这个称呼,如PC-DOS、DR-DOS等等。

1981年,MS-DOS 1.0发行,作为IBM PC的 *** 作系统进行捆绑发售,支持16k内存及160k的5寸软盘。在硬件昂贵, *** 作系统基本属于送硬件奉送的年代,谁也没能想到,微软公司竟会从这个不起眼的出处开始发迹。

1982年,支持双面磁盘。

1983年MS-DOS 2.0随IBM XT发布,扩展了命令,并开始支持5M硬盘。同年发布的2.25对2.0版进行了一些bug修正。

1984年,MS-DOS 3.0增加了对新的IBM AT支持,并开始对部分局域网功能提供支持。

1986年,MS-DOS 3.2 支持了720K 的5寸软盘。

1987年,MS-DOS 3.3 支持了IBM PS/2设备及1.44M的3寸软盘,并支持其他语言的字符集。

1988年,MS-DOS 4.0 增加了DOS Shell *** 作环境,并且有一些其他增强功能及更新。

1991年,MS-DOS 5.0发行,增加了DOS Shell功能,增强了内存管理和宏功能。

1993年,MS-DOS 6.x 增加了很多GUI程序,如Scandisk、Defrag、Msbackup等,增加了磁盘压缩功能,增强了对Windows 的支持。

1995年,MS-DOS 7.0 增加了长文件名支持、LBA大硬盘支持。这个版本的DOS并不是独立发售的,而是在Windows 95中内嵌的。之后的MS-DOS 7.1全面支持FAT32分区、大硬盘、大内存支持等,对四位年份支持解决了千年虫问题。

WINDOWS发展简史

作为世界上最流行的 *** 作系统,Windows可不是从一开始就是这样的。Windows的进化过程经常是不确定和不稳定的。其成功是和处理器速度、内容容量等息息相关的,微软也非常依赖第三方的软件来填补概念和消费者之间的鸿沟。 随着Vista的发售,有必要通过截屏回顾一下23年来,Windows *** 作系统所走过的路。 Windows 1.0 比尔·盖茨于1983年正式宣布推出Windows系统,但是微软的第一个图形用户界面 *** 作系统Windows 1.0,却直到1985年11月才放出,此时距离苹果推出Mac已经有两年之久了。由于涉及到和苹果的版权问题,此时的Windows系统还不能拥有例如重叠窗口和回收站的功能。Windows 1.0更多的是一个MS-DOS的扩展,而不是一个单独的 *** 作系统,不过已经能够支持有限的多任务和鼠标 *** 作了。

Windows 2.0 盖茨很快和苹果签订了授权协议,以便在Windows中使用Macintosh GUI的某些原素。不过随后,苹果将盖茨送上了法庭,称在新推出的Windows 2.0中,有170处涉嫌抄袭。Windows 2.0提供了图标和层叠窗口的功能。 另外,Windows 2.0还得到了一些关键的程序支持。早期版本的Word和Excel使用Windows作为界面;当时流行的桌面发布程序Aldus PageMaker,一度只在Mac电脑上运行,同样也进驻了Windows 2.0,这对Windows来说是一个关键的事件,因为这极大的扩展了系统的实用性和市场份额。 此主题相关图片如下:

Windows 3.0 这一版的Windows于1990年发布,可以说是一次彻头彻尾的改进。新的文件管理系统和增强的图形性能,终于使Windows PC变成了Mac的强劲对手,而这一过程花了六年的时间。 *** 作系统拥有全新的外观,受保护的和增强的 *** 作模式使得内存管理更为有效。Windows 3.0取得了巨大的成功,在两年的时间里销售了超过1000万的拷贝。开发人员开始编写大量的第三方软件,对于消费者购买来说是不小的刺激。大量的现金改变了微软的方向,使之更专注于 *** 作系统的开发上。

Windows 3.11 主要就是Windows 3.0版的更新产品,Windows 3.11支持包括TrueType可升级字体、多媒体、对象链接和嵌入等功能。一大堆在系统从3.0之后推出的升级补丁,也都集成进3.11版之中。 此主题相关图片如下:

Windows 3.11 NT 这是一个非常强大的Windows版本,是在消费版的3.11上独立开发而来的,NT是专门为商业和工程师等需要非常成熟 *** 作系统的用户而设计的。和3.11版不一样的是,NT是专门为32位处理器编写的。不幸的是,当时只有很少的硬件能够支持。开发人员不愿意费尽去让他们的产品兼容NT,因为这非常复杂,而且这一 *** 作系统仅仅占据了很小的市场份额。 此主题相关图片如下

Windows 95 Windows 95真正的将计算处理带到普通人的身边,让很多人从此走进了Windows和电脑的世界。由于捆绑了Internet Explorer,Windows 95成为了浏览网页的常用入口。Windows 95从此开始使用大家熟悉的开始按钮和任务栏,这种风格一直保持到今天。 Windows 95也标志了微软和向下兼容之间永无止境的斗争,从3.11开始的许多架构,当然也包括其中的设计失误,都延续到Windows 95当中。而且一些部分运行在32位模式,另一些则不,这样使得 *** 作系统能够在过去和现在之间摇摆。很多用户都不知道这个问题,他们唯一清楚的就是系统非常的不稳定,而且总是要打升级补丁。 此主题相关图片如下:

Windows 98 不仅仅是从Windows 95稳定的升级到新的系统,Win 98还支持多显示器显示,WebTV和采用新的FAT32文件系统带来的更大的文件分割。Win 98是一版将Internet Explorer集成进GUI的系统,引发了对微软垄断行为诉讼的热潮。 随后又放出了Windows 98 Second Edition,增加了网络连接共享功能。此主题相关图片如下:

Windows 2000 这一版Windows推出的时间是2000年的2月,Win2K是Windows中NT系列的升级,这是第一个通过互联网进行自动升级的Windows版本。

Windows XP 2001年推出的XP将NT架构,和从95/98/ME上传承而来的用户界面,融合在一起。虽然仍然在安全性方面收到攻击,但是XP已经在很多地方获得了改善,包括文件管理、速度和稳定性。尤其是在GUI方面的明显改善,使得 *** 作系统对于没什么经验的用户来说更为容易上手。 :

Windows Vista 最后就是才推出的Vista,至于Vista会带来怎样的影响,现在还不好说。在XP六年之后推出的Vista,在GUI上游客非常明显的变化,而且还带来了很多的新特性,路走怎么,让时间来说话吧。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7241738.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存