随笔分类 -  操作系统

摘要:一、调试用到的汇编代码 为了方便, Makefile 会创建.asm 文件,可以通过它来定位究竟是哪个指令导致了 bug。 可以看到, kernel 从 80000000 地址处开始执行,第二列为相应指令(如 auipc) 的 16 进制表示(如 00009117)。 二、 过程流程图 对 xv6  阅读全文
posted @ 2024-03-09 11:11 轻闲一号机 阅读(127) 评论(0) 推荐(0)
摘要:一、实验前须知 阅读 xv6 文档的第 2 章和第 4 章的 4.3 节和 4.4 节以及相关源文件: 系统调用的用户空间代码在 user/user.h 和 user/usys.pl 中。 内核空间代码在 kernel/syscall.h 和 kernel/syscall.c 中。 与进程相关的代码 阅读全文
posted @ 2024-03-08 23:38 轻闲一号机 阅读(42) 评论(0) 推荐(0)
摘要:一、构建、装入过程 1.编写“启动代码+主体代码”(在下载的xv6的原始代码上进行修改) 2.源代码进行编译、链接生成系统镜像(elf格式的目标文件) 3.将系统镜像保存起来(如保存到磁盘、flash或者网络服务器上) 4.主机启动(物理机或虚拟机) -> 载入镜像(控制权转给启动代码) 5.运行启 阅读全文
posted @ 2023-05-30 21:33 轻闲一号机 阅读(85) 评论(0) 推荐(0)