mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-18 16:26:31 +00:00
feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射 - 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步) - 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射) - 添加新的PageFlags标志结构,原PageFlags改名为EntryFlags - 参考linux使用protection_map映射表进行页面标志的获取 - 添加页面回收机制 - 添加页面回收内核线程 - 缺页中断使用的锁修改为irq_save; 添加脏页回写机制 - 修复do_cow_page死锁问题 - 访问非法地址时发送信号终止进程 - 修复重复插入反向vma表的错误 - 添加test_filemap文件映射测试程序
This commit is contained in:
@ -26,3 +26,4 @@ pub mod rand;
|
||||
pub mod wait_queue;
|
||||
|
||||
pub mod font;
|
||||
pub mod name;
|
||||
|
13
kernel/src/libs/name.rs
Normal file
13
kernel/src/libs/name.rs
Normal file
@ -0,0 +1,13 @@
|
||||
use core::any::type_name;
|
||||
|
||||
use alloc::string::{String, ToString};
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn get_full_type_name<T>(_: &T) -> String {
|
||||
type_name::<T>().to_string()
|
||||
}
|
||||
|
||||
pub fn get_type_name<T>(_: &T) -> String {
|
||||
let full_name = type_name::<T>();
|
||||
full_name[(full_name.rfind("::").unwrap_or(0) + 2)..].to_string()
|
||||
}
|
Reference in New Issue
Block a user