华科 OS 实验的 RISC-V 代理内核是如何启动的?

代码仓库为 hustos riscv-pke 以下内容基于 lab2 代码 入口在哪? 入口为 kernel/machine/mentry.S 的 _mentry ,它调用了 kernel/machine/minit.c 的 m_start(uintptr_t hartid, uintptr_t dtb) ,两个参数并没有在 _mentry 中设置,这是因为 spike 会自动设置 a0 寄存器为 CPU id ,...

2024 Mar 02 · 2 min · vaaandark

MIT6.S081 Lab:Fixup Xargs

昨天朋友跟我说我的 MIT6.S081 lab1 的 xargs 命令的代码无法通过,看到他的测试方法才知道原来是这样测试的,感觉之前写的测的都太简略了。 例如测试 xargs 命令这一关可以这...

2024 Feb 26 · 1 min · vaaandark

MIT6.S081 Lab: Xv6 and Unix Utilities

这是 MIT6.S081 的第一个 Lab ,目的是为了让学生熟悉 Xv6 和 Unix 的一些实用程序,例如 sleep find xargs 等。 sleep 这一关是实现 sleep 命令。由于在 user/user.h 目录中给出来了可以直接由 C 语言调用的...

2023 Mar 02 · 3 min · vaaandark

MIT6.S081 实验环境配置

最近开始学习操作系统的相关知识,选择学 MIT6.S081 的课程。 首先在 课程官方网站 上拉取仓库配置环境。 $ git clone git://g.csail.mit.edu/xv6-labs-2020 $ cd xv6-labs-2020 $ git checkout util $ make qemu make 时发现有报错: user/sh.c: In function ‘r...

2023 Feb 21 · 1 min · vaaandark