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

xv6_2025_实验9_mmap

发表于2026-01-29|更新于2026-01-29
|浏览量:
文章作者: huzayn
文章链接: http://example.com/2026/01/29/xv6-2025-%E5%AE%9E%E9%AA%8C9-mmap/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 huzayn's blog!
上一篇
Unix 中 fork 函数的理解
fork是创建子进程的关键函数,常和exec系列函数一起使用。 对于代码 12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <stdlib.h> // 提供 exit()int main() { pid_t pid = fork(); if (pid < 0) { perror("fork 失败"); return 1; } if (pid == 0) { // 子进程 printf("我是子进程 (PID: %d),准备运行 ls...\n", getpid()); execl("/bin/ls&quo...
下一篇
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
抱最好的希望,做最坏的打算
文章
14
标签
7
分类
3
Follow Me
公告
----
最新文章
如何在 QEMU 中建模 CPU2026-04-03
Unix 中 fork 函数的理解2026-03-19
Linux 内核 rwsem 及读写机制的理解2026-03-19
xv6_2025_实验9_mmap2026-01-29
xv6_实验8_file_system2026-01-27
© 2025 - 2026 By huzayn框架 Hexo 8.1.1|主题 Butterfly 5.5.3