DragonOS icon indicating copy to clipboard operation
DragonOS copied to clipboard

feat(mm): 简单实现fat文件系统的文件映射

Open MemoryShore opened this issue 1 year ago • 11 comments

  • 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
  • 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
  • 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
  • 添加新的PageFlags标志结构,原PageFlags改名为EntryFlags
  • 参考linux使用protection_map映射表进行页面标志的获取

MemoryShore avatar Jun 25 '24 13:06 MemoryShore

@MemoryShore 有一个format check没过

chiichen avatar Jun 25 '24 14:06 chiichen

@MemoryShore 有一部分代码冲突了

Jomocool avatar Jun 28 '24 11:06 Jomocool

PageCache套个LRU吧,直接用HashMap不太好。可以用lru,支持no_std

chiichen avatar Jun 30 '24 07:06 chiichen

用xarray不用lru的原因是啥

chiichen avatar Jul 03 '24 10:07 chiichen

感觉得LRU去淘汰缓存吧,不然的话内存很容易满了。

fslongjin avatar Jul 03 '24 10:07 fslongjin

linux源码就是用的xarray,我就直接参考来实现了 然后LRU的话,linux的实现方式是对全局的页建立统一的LRU来管理,我想如果缓存这里单独套一层LRU的话就跟普通页的管理不统一了;我的想法是之前反向映射实现的PageManager已经管理了所有物理页,可以在它基础上进行完善来实现全局页的LRU

MemoryShore avatar Jul 11 '24 18:07 MemoryShore

@dragonosbot r? @Jomocool

麻烦看看这个哈哈哈,我最近不太得闲,多测测哈哈哈

fslongjin avatar Jul 15 '24 15:07 fslongjin

@dragonosbot r? @Jomocool

麻烦看看这个哈哈哈,我最近不太得闲,多测测哈哈哈

Jomocool avatar Jul 15 '24 15:07 Jomocool

@dragonosbot author

fslongjin avatar Jul 23 '24 18:07 fslongjin

看了之后,总感觉这个page cache有点问题。PageCache跟inode的关系不是一对一的,因为

那是怎么样的,我网上查的资料都是一对一的

MemoryShore avatar Aug 10 '24 11:08 MemoryShore

修改是已经完成了吗?我看都标称了resolved,但是没有push

fslongjin avatar Aug 18 '24 09:08 fslongjin

这个分支目前存在冲突

fslongjin avatar Aug 27 '24 13:08 fslongjin

@fslongjin 有空review下~

chiichen avatar Sep 02 '24 14:09 chiichen

@fslongjin 有空review下~

目前是我在review ^_^

Jomocool avatar Sep 02 '24 15:09 Jomocool

@fslongjin 有空review下~

目前是我在review ^_^

噢噢行哈哈哈

chiichen avatar Sep 02 '24 15:09 chiichen

@fslongjin 感觉没什么问题了

Jomocool avatar Sep 03 '24 15:09 Jomocool