avatar
文章
17
标签
17
分类
5
首页
归档
标签
目录
列表
  • 音乐
  • 电影
友情链接
关于我
Logohuzayn's blogxv6_2025_实验9_mmap 返回首页
首页
归档
标签
目录
列表
  • 音乐
  • 电影
友情链接
关于我

xv6_2025_实验9_mmap

发表于2026-01-29|更新于2026-01-29
|浏览量:
文章作者: huzayn
文章链接: https://huzayn.cn/2026/01/29/xv6-2025-%E5%AE%9E%E9%AA%8C9-mmap/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 huzayn's blog!
上一篇
Linux 内核 rwsem 及读写机制的理解
**rwsem(Read/Write Semaphore,读写信号量)**专门为了解决读多写少的并发场景。 rwsem 的规则如下: 读锁(Read Lock):允许多个进程同时持有。只要没有人在写,大家都能读。 写锁(Write Lock):是排他性的。一旦有人要写,既不允许其他人读,也不允许其他人写。 使用需要包含<linux/rwsem.h> 初始化: 12struct rw_semaphore my_rwsem;init_rwsem(&my_rwsem); 读操作: 123down_read(&my_rwsem); // 申请读锁,如果有人在写或写排队则睡觉/* --- 临界区:只读操作 --- */up_read(&my_rwsem); // 释放读锁 写操作: 123down_write(&my_rwsem); // 申请写锁,如果有任何人在读或写则睡觉/* --- 临界区:写入/修改操作 --- */up_write(&my_rwsem); // 释放写锁 上面读操作提...
下一篇
xv6_实验8_file_system
Large files这个实验的核心目标是修改 xv6 的文件系统,引入 二级间接块 (Doubly-Indirect Block),从而打破文件最大只能有 268 个块(约 268KB)的限制,使其支持约 65803 个块(约 65MB)。 原始结构:12 个直接块 + 1 个一级间接块 = 13 个槽位。总计 12+256=268 个块 新结构:11 个直接块 + 1 个一级间接块 + 1 个二级间接块 = 13 个槽位。总共256*256+256+11 =65803 个块 我们需要修改三个主要部分:头文件定义、映射函数 bmap 和截断函数 itrunc。 修改fs.h 12345678#define NDIRECT 11 // 从 12 改为 11#define NINDIRECT (BSIZE / sizeof(uint))// 修改 MAXFILE 的计算公式,增加二级间接块的支持#define MAXFILE (NDIRECT + NINDIRECT + NINDIRECT * NINDIRECT...
avatar
huzayn
抱最好的希望,做最坏的打算
文章
17
标签
17
分类
5
Follow Me
公告
----
最新文章
基于飞腾派的YOLOv10n实时安全帽检测系统2026-08-06
CXL 3.1:CXL.cache 与 CXL.mem2026-08-05
无标题2026-07-30
如何在 QEMU 中建模 CPU2026-04-03
Linux 内核 rwsem 及读写机制的理解2026-03-19
© 2025 - 2026 By huzayn框架 Hexo 8.1.1|主题 Butterfly 5.5.3