基于链式分配的虚拟文件系统设计与实现

4星 · 超过85%的资源 需积分: 10 27 下载量 19 浏览量 更新于2024-09-17 1 收藏 18KB TXT 举报
操作系统课程设计基于链式的虚拟文件系统 本虚拟文件系统课程设计的主要目标是建立基于链式分配的文件系统,提供文件的创建、删除、移位、改名等功能,并提供良好的界面来显示文件系统的状态和空间的使用情况。 **虚拟磁盘的建立** 在本设计中,我们首先分配一定容量的内存,建立虚拟磁盘。这个虚拟磁盘将用于存储文件系统的所有数据。我们使用链式分配的方式来管理虚拟磁盘的空间,提高了文件系统的效率和灵活性。 **基于链式分配的文件系统** 在虚拟磁盘上,我们建立基于链式分配的文件系统。这个文件系统使用链式结构来管理目录、虚拟磁盘的空闲空间、已分配空间等。我们设计了相应的数据结构来管理文件系统的各种资源,包括目录项、 inode、磁盘块等。 **文件系统的管理** 在文件系统中,我们提供了文件的创建、删除、移位、改名等功能。我们使用inode结构来描述文件的元数据,包括文件名、文件类型、文件所有者、文件大小等信息。我们还提供了目录项结构来描述目录的信息,包括目录名、目录类型、目录所有者等信息。 **界面设计** 我们提供了良好的界面来显示文件系统的状态和空间的使用情况。这个界面可以显示文件系统的目录结构、文件列表、磁盘使用情况等信息。用户可以通过这个界面来管理文件系统,例如创建新文件、删除文件、查看文件信息等。 **磁盘转储功能** 我们还提供了磁盘转储功能,可以将虚拟文件系统存入一个磁盘文件,还可以从磁盘文件读入内存。这个功能可以用于文件系统的备份和恢复。 **数据结构** 在本设计中,我们使用了以下数据结构: * inode结构:用于描述文件的元数据,包括文件名、文件类型、文件所有者、文件大小等信息。 * 目录项结构:用于描述目录的信息,包括目录名、目录类型、目录所有者等信息。 * bitmap结构:用于描述虚拟磁盘的空闲空间和已分配空间。 * 文件表结构:用于描述文件的信息,包括文件名、文件类型、文件所有者等信息。 **实现细节** 在实现中,我们使用C语言来编写虚拟文件系统的代码。我们使用链式结构来实现文件系统的管理,并提供了各种功能来管理文件系统。我们还使用了位图来管理虚拟磁盘的空闲空间和已分配空间。 **总结** 本虚拟文件系统课程设计的主要目标是建立基于链式分配的文件系统,提供文件的创建、删除、移位、改名等功能,并提供良好的界面来显示文件系统的状态和空间的使用情况。我们使用链式结构来管理虚拟磁盘的空间,提高了文件系统的效率和灵活性。
2019-07-19 上传
Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。主要职责是将那些不需要落地到DFS里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率。同时可以减少内存冗余,GC时间等。        特性:类 Java 的文件 API兼容性:实现 Hadoop 文件系统接口可插入式的底层文件系统内建 Raw 原生表的支持基于 Web 的 UI 提供命令行接口Tachyon 架构:与 HDFS 的比较:        Hadoop足够快吗?美国加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快的版本Tachyon。AMPLab从底层重建了Hadoop平台,“没有最快,只有更快”。        AMPLab在大数据领域最知名的产品是Spark,它是一个内存中并行处理的框架,Spark的创造者声称:使用Shark运行并行处理Job速度要比MapReduce快100倍。又因为Spark是在内存运行,所以Shark可与Druid或者SAP's HANA系统一较高下。Spark也为ClearStory下一代分析和可视化服务提供处理引擎。如果你喜欢用Hive作为Hadoop的数据仓库,那么你一定会喜欢Shark,因为它代表了“Hive on Spark”。       AMPLab的最新目标就是Hadoop分布式文件系统(HDFS),不过HDFS在可用性和速度方面一直受人诟病,所以AMPLab创建了Tachyon( 在High Scalability上非常夺目,引起了Derrick Harris的注意)。       当然,AMPLab并不是第一个对HDFS提出质疑的组织,同时也有很多商业版本可供选择,像Quantcast就自己开发了开源文件系统,声称其在运行大规模文件系统时速度更快、更高效。诚然,AMPLab所做的工作就是打破现有商业软件的瓶颈限制。如果碰巧破坏了现状,那么就顺其自然吧!不过,对于用户来说,AMPLab只是为那些寻找合适工具的人员提供了一种新的选择,AMPLab的合作伙伴和赞助商包括谷歌,Facebook,微软和亚马逊网络服务,它们当然非常乐意看到这些新技术,如果很有必要的话。       AMPLab的其他项目包括PIQL,类似于一种基于键/值存储的SQL查询语言;MLBase,基于分布式系统的机器学习系统;Akaros,一个多核和大型SMP系统的操作系统;Sparrow,一个低延迟计算集群调度系统。Tachyon可运行在如下任意平台上: 标签:分布式  文件系统