Comments (14)
Hi, 我怀疑stride
与pass
的定义搞反了吧。根据字面意义, stride
表示每一步跨越的步数, pass
表示表示该进程当前已经运行的“长度”。根据作者 Carl A. Waldspurger 的博士生答辩slide第15页, 可见stride = stride1/ticket
以及在allocation
时, choose client C with minimum pass
和C.pass += C.stride
. (我假设论文中ticket与这里的priority意义相同)
from rcore-tutorial-book-v3.
ch3-lab 的代码,跟当前版本的实验内容对不上。
from rcore-tutorial-book-v3.
ch3-lab 的代码,跟当前版本的实验内容对不上。
you can copy user test from this:
https://github.com/LearningOS/rCore-Tutorial-Test-2022S
from rcore-tutorial-book-v3.
你好,这里的实验代码不太能对上吧,在实验要求里
fn sys_task_info(id: usize, ts: *mut TaskInfo) -> isize要求两个参数,id和ts,但是在测试代码中
assert_eq!(0, task_info(&info));只使用了一个参数,请问是不是我哪里理解错了
以最新的这个rCore-Tutorial-Code-2023S 实验指导书为准吧,这个 Tutorial 的维护好像停了,最新版的接口是对应的上的。 另外如果你是自己跟着 tutorial 把 OS 搭起来的, 测例中的 write 仅有一次。
感谢443的帮助,在2023S的测试环境中是实现了 flush 的, 两个
\n
会调用两次 flush 所以 sys_write 被调用了两次。版本不统一体验很糟糕... 😢
除此之外需要保证仅有 ch3_taskinfo 在运行, 不然几个时间点会产生很大偏差。
fn sys_task_info(ti: *mut TaskInfo) -> isize
struct TaskInfo {
status: TaskStatus,
syscall_times: [u32; MAX_SYSCALL_NUM],
time: usize
}
from rcore-tutorial-book-v3.
BinaryHeap 是 std::collections 里的,但是我们无法使用 std,这该如何是好?
from rcore-tutorial-book-v3.
作业要求实现 sys_gettime() 但提供的仓库里已经实现的是 sys_get_time()。 这两个的确是不同的函数还是只是笔误?另外测例里指出,gettime 有两个参数 ts: &TimeVal, tz: usize,其中的 TimeVal(sec, usec) 分别是指什么?
from rcore-tutorial-book-v3.
可以用alloc::collections::binary_heap::BinaryHeap, 不过似乎需要先实现heap allocator,可参考下一章第一节。
助教说按ts: &TimeVal, tz: usize做作业,这个接口的语义可以参考https://man7.org/linux/man-pages/man2/gettimeofday.2.html
from rcore-tutorial-book-v3.
那么可以不使用BinaryHeap而是直接用O(n)枚举方法完成作业么
from rcore-tutorial-book-v3.
如果按照 guide.md 里的语义,gettime返回值是 0 或 -1,而不是返回时间值本身,那么测例里面 get_time() < wait_for 岂不是没有意义了,应该全部改掉才对。
from rcore-tutorial-book-v3.
如果按照 guide.md 里的语义,gettime返回值是 0 或 -1,而不是返回时间值本身,那么测例里面 get_time() < wait_for 岂不是没有意义了,应该全部改掉才对。
测例里面user系统调用的实现和示例代码也是不同的
from rcore-tutorial-book-v3.
BinaryHeap 是 std::collections 里的,但是我们无法使用 std,这该如何是好?
可以用这个crate,提供了不用动态分配内存的一些数据结构
from rcore-tutorial-book-v3.
简答2的chapter5相关代码是不是指向错了,应该是scheduler(L119-L138)指向的是allocproc(L90-L98)
from rcore-tutorial-book-v3.
为什么会有 Panicked at src/syscall.rs:130, sys_exit never returns!
看输出结果是调用了sys_exited,但是还是出现这个panick
from rcore-tutorial-book-v3.
你好,这里的实验代码不太能对上吧,在实验要求里
fn sys_task_info(id: usize, ts: *mut TaskInfo) -> isize
要求两个参数,id和ts,但是在测试代码中
assert_eq!(0, task_info(&info));
只使用了一个参数,请问是不是我哪里理解错了
from rcore-tutorial-book-v3.
Related Issues (20)
- 我想在user_lib中syscall的部分对Read操作增加枚举 HOT 1
- rCore-Tutorial-Book-v3/chapter8/4condition-variable HOT 1
- rCore-Tutorial-Book-v3/chapter8/5concurrency-problem HOT 4
- rCore-Tutorial-Book-v3/chapter0/8answer HOT 1
- ch4-lab无法编译成功 HOT 4
- rCore-Tutorial-Book-v3/chapter0/7exercise
- rCore-Tutorial-Book-v3/chapter4/9answer HOT 7
- rCore-Tutorial-Book-v3/chapter7/3cmdargs-and-redirection HOT 2
- 1. 运行完第一个用户程序之后,run_next_app()函数是被什么东西调用的?。进入_restore之后,匹配到的是用户申请的trap,不会运行run_next_app
- 建议将本书中部分”同学“字样 修改成 ”同学们“
- ch9: 2device-driver-3 成员变量 `avail_idx` 是可用环索引
- ch8: 用户态的线程管理一节 spawn 方法中 s_ptr.offset(32) 问题
- rCore-Tutorial-Book-v3/appendix-d/1asm HOT 1
- rCore-Tutorial-Book-v3/chapter9/2device-driver-0 HOT 4
- 代码仓RustSBI兼容性适配的对应文档更新
- rCore-Tutorial-Book-v3/chapter9/2device-driver-4 HOT 2
- rCore-Tutorial-Book-v3/chapter9/5answer HOT 1
- 优化调度算法一节的描述并修复错误
- 一些功能与内容方面的建议 HOT 4
- 新增基于vscode的devcontainer插件,利用docker配置环境的相关说明
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rcore-tutorial-book-v3.