Hexiao Zhang
Hexiao Zhang
可以用alloc::collections::binary_heap::BinaryHeap, 不过似乎需要先实现heap allocator,可参考下一章第一节。 助教说按ts: &TimeVal, tz: usize做作业,这个接口的语义可以参考https://man7.org/linux/man-pages/man2/gettimeofday.2.html
> 如果按照 guide.md 里的语义,gettime返回值是 0 或 -1,而不是返回时间值本身,那么测例里面 get_time() < wait_for 岂不是没有意义了,应该全部改掉才对。 测例里面user系统调用的实现和示例代码也是不同的
mmap错误描述里有一处笔误: port | ~0x7 != 0 (port 其余位必须为0) 应该改成 port &~0x7 != 0 (port 其余位必须为0)
> 加载的用户测例位置: ../user/build/bin 从本章之后应该是 `../user/build/elf/` 了
> 并通过 并通过 Rust测例 中chapter5对应的所有测例。 笔误了 tutorial 里面 waitpid 的实现是非阻塞的,但测例要求实现成阻塞的,应该以测例为准吗? 另外 ch5 之后 OS 运行需要 `initproc.rs`, 测例仓库并没有包含这个文件。
(而且阻塞不是第八章的内容吗。。。
测例仓库的 sys_open 系统调用是四个参数的,和 tutorial 的标准不同,最好说明一下?
另外测例没有实现带命令行参数的 `sys_exec`...
这章测试不用修改 build.rs 了, 但得修改 os/Makefile > @cd ../easy-fs-fuse && cargo run --release -- -s [要替换的] -t ../user/target/riscv64gc-unknown-none-elf/release/
> 改指针会被拷贝并传递给下层的数据结构 笔误了 > 每个目录项是目录下面的一个文件或子目录的文件名或目录名和它们所在的索引节点编号构成的二元组 这样的长难句理解起来非常困难...强烈建议多用短句,多用逗号