翻页   夜间
百书楼 > 科技革命,从1984开始 > 第118章 文件系统的相关细节

第118章 文件系统的相关细节

    天才一秒记住本站地址:[百书楼] https://www.baishu6.net/最快更新!无广告!

    林宇轩正和八四小组的成员们围坐在一起,神情专注地讨论着。

    一抬眼,看到秦奕走进来,立刻热情地站起身,抬手招呼道:“诶,小秦你来了正好,我们现在有几个细节问题需要达成一致,大家正愁没个定论,你也来帮忙想想。”

    “前面几个问题我和小方他们经过反复讨论,已经有了些眉目,现在跟你同步一下。”

    林宇轩一边说着,一边指了指桌上写满笔记的纸张。

    “文件存储块大小目前定为

    512

    字节一块,这是综合考虑了存储效率和数据管理的便利性得出的。”

    “字节序方面,我们所有的系统数据统一采用大端序存储,这样在数据传输和处理时能保证一致性。”

    “文件系统寻址用的是

    B

    树索引,它在处理大量文件和复杂数据结构时,能提供高效的查找和定位功能。”

    “不过,另外还有一些问题,我们还在犹豫,一直没拿定主意。”

    林宇轩微微皱起眉头,脸上露出一丝思索的神情。

    “文件格式这一块,我们是和

    DOS

    这边保持一致,还是和

    UNIX

    这边保持一致?”

    “DOS

    这边用的是

    FAT

    文件系统,它的结构相对简单,是一个基础的树形目录结构,通过文件分配表来管理文件的存储位置。”

    “这种方式虽然易于理解和实现,但在文件的组织和管理能力上相对有限,尤其是面对大量文件和复杂的存储需求时,就显得有些力不从心了。”

    “UNIX

    这边用的是

    UFS

    文件系统,相比之下,它要灵活得多。”

    “它采用索引节点

    inode

    来管理文件,inode

    包含了文件的各种元数据,像文件大小、所有者、权限、创建时间等信息。文件数据存储在别的地方,通过

    inode

    中的指针来关联。”

    “从系统设计本身来看,DOS

    系统设计简单,容易上手,但

    UFS

    系统在处理文件存储时,能更有效地利用磁盘空间,减少碎片化问题。”

    “而且,UFS

    支持文件的硬链接和软链接,这为文件管理提供了更多的灵活性,可以方便地创建文件的副本,或者在不同目录下共享同一个文件。”

    “但是,这里有个大问题,DOS

    和

    UFS

    这两个文件系统不兼容。”

    “而

    DOS

    系统目前是市面上最流行的系统,用户基数庞大。要是我们的文件系统采用

    UFS

    格式,不兼容

    DOS

    的话,可能在推广的时候会遇到不小的阻碍,很多习惯使用

    DOS

    系统的用户可能就不会选择我们的操作系统了。”

    林宇轩说完,目光看向秦奕,似乎在期待他能给出一些新的思路。

    秦奕听着林宇轩的详细讲述,心里不禁有些犯愁。

    前世虽然他在信息技术领域有一些沉淀,但是文件系统这块内容的细节他是真不了解啊!

    他低下头,认真思索了一番。

    前世在服务器领域占据主导地位的

    LINUX

    操作系统,他记得在文件系统方面似乎有一个很有名的设计叫

    VFS。

    可

    VFS

    这三个字母具体是什么的缩写,秦奕却怎么也想不起来。

    他硬着头皮说道:“或许,我们应该设计一个新的文件系统,叫

    VFS?”

    “VFS?”

    林宇轩听到这个陌生的缩写,不禁重复了一遍,脸上露出疑惑的神情,“FS

    是文件系统的缩写,这我知道。可

    V

    是什么意思呢?”

    秦奕面带微笑地看着林宇轩,没有说话。

    他不是不想说,而是实在不知道该怎么解释,只能用笑容来掩饰自己内心的不确定。

    林宇轩见秦奕不说话,便在脑海里努力搜索以

    V

    开头的英文单词:“Victory?这肯定不对好像也不是,Virtual!虚拟文件系统?”

    他突然眼睛一亮,大声说道:“虚拟文件系统!”

    啊!

    好像就是这个!

    秦奕一下子想起来了,就是在文件系统之上再抽象出一层进行统一操作!

    那种豁然开朗的感觉让他忍不住拍了下桌子:“对!就是虚拟文件系统!我们可以通过增加一层封装,让操作系统在面对不同文件系统的存储时都能方便地操作。不管是

    FAT、UFS

    还是其他文件系统,都可以通过这个虚拟层来进行统一管理和访问。”

    “唔,这样确实能解决不同文件系统的兼容性问题,让我们的操作系统更加灵活。”林宇轩听了秦奕的解释,认可地点了点头。

    但他随即又皱起了眉头:“可只要多了一层抽象,就会导致性能下降。目前硬件本身性能就不太好,运算速度和存储能力都有限,再采用这么复杂的架构,可能会让操作系统的性能进一步降低,用户使用起来可能会感觉卡顿。”

    “也是,我再想想。”

    秦奕听了林宇轩的担忧,觉得很有道理,便又陷入了思考。

    他在脑海里不断地推演各种方案,试图找到一个平衡点。

    突然,他眼睛一亮,兴奋地说道:“有了!我们可以这样,先识别文件系统的格式,如果是我们主要使用的文件格式,就直接调用文件接口,这样能保证高效的性能。”

    “如果是其他的文件格式,就用抽象的接口,通过

    VFS

    来进行处理。”

    “这样既能保证对其他格式的兼容,要是用户觉得其他格式文件操作性能不佳,我们也能说是格式本身的问题,哈哈!”

    说完,他忍不住笑了起来,对自己这个想法还挺满意。

    “老秦果然厉害!这种点子都能想得出来。”

    方文一直在旁边认真听着,听到秦奕的这个解决方案,忍不住夸赞道。

    胡玮武也竖起个大拇指:“鬼才!”

    “行,那就这么定了,文件系统格式就这么确定下来,我们主文件系统用

    UFS,它的功能和性能更符合我们的需求,另外的文件系统兼容就通过

    VFS

    来实现。这样既能保证核心功能的高效运行,又能兼顾兼容性。”

    林宇轩听了大家的讨论,觉得这个方案可行,便总结道。

    “啊!”

    就在大家以为问题都解决了的时候,王小莫的声音突然响起,吸引了众人的注意,“等一下!我这儿有个关于文件系统的疑问。”

    “什么疑问?说出来看看大家知不知道答案。”

    林宇轩转过头,看着王小莫说道。

    王小莫先解释了下问题:“我最近在开发编辑器,因为之前用过的编辑器经常会因为断电出问题,辛辛苦苦写的内容一下子就没了,特别让人崩溃。”

    接着他皱着眉头,一脸无奈地说道,“我就想着给文件编辑器实现一个断电保存的功能,让用户不再有这样的烦恼。但我在文件编辑器这边尝试了很久,感觉实现起来好像挺困难的,所以我想在操作系统或者文件系统层面实现会不会容易一些。”

    秦奕记得前世断电保存这个问题确实困扰了电脑用户很长时间,很多人都有过因为突然断电而丢失重要文件的经历。

    后来好像在某次

    WINDOWS

    更新之后,这个问题就出现得少多了。

    “这确实是个常见的问题。”

    林宇轩点了点头。

    他想了想,又说道:“其实我们可以换个思路,不一定非要赶在断电之前把文件保存,我们只要隔一段时间保存,就能很大程度上挽回断电的损失。”

    “当然,如果真的要实现断电保存,也不是不行,但据我了解,这个在操作系统层面都难以保证,因为断电是一个很突然的情况,操作系统很难及时响应。得在文件系统层面才能百分百确保解决这个问题,因为文件系统直接管理着文件的存储和读写。”

    听到这儿,秦奕又想起前世的一个词,试探性地说道:“日志式文件系统?”

    林宇轩听到这个词也有点发愣,因为这和刚才的虚拟文件系统一样,都不是业界已有的术语,不过倒也挺好理解。

    他稍微思考了一下,说道:“你这个新造的词还挺巧妙,用日志辅助存储可不就是日志式文件系统。”

    “不过这种存储方法一般用在数据库领域,被称为二阶段存储。”

    “这种存储方式确实是可以解决文件断电保存的问题。”

    “它的原理是在文件系统中增加一个日志记录区域,每次对文件的修改操作都会先记录在日志里,然后再逐步应用到实际的文件存储中。这样即使突然断电,也可以通过重放日志来恢复文件的状态。”

    “不过目前这个二阶段存储一般都应用在数据库这种对文件数据有极高要求的地方,实现起来复杂,需要处理很多细节问题,还容易出现不一致的问题。”

    “比如说,日志记录和实际文件存储之间的同步可能会出现偏差。”

    说到这里,林宇轩提议道:“我们暂时还是采用操作系统定时存储的方案来解决这个问题吧,等以后技术成熟了,再考虑更完善的解决方案。”

    “行。”

    秦奕只是提了一下,其实他也就知道这么个词,具体的原理和实现方式并不清楚。

    不过林宇轩确实能理解这个词背后的含义,让他不禁有些佩服。

    “文件格式的问题确定了,还有另外的问题。”林宇轩接着说道。喜欢科技革命,从1984开始请大家收藏:
章节错误,点此报送(免注册), 报送后维护人员会在两分钟内校正章节内容,请耐心等待。