rust-based-os-comp2022
rust-based-os-comp2022 copied to clipboard
[2022开源操作系统训练营](https://learningos.github.io/rust-based-os-comp2022/)
更新一些学习过程中遇到的问题,希望后面的同学看了之后能少走弯路。 rust需要nightly版本; 同一个仓库,make setupclassroom只需要一次; lab从os3才需要敲代码,前面看文档就好;
sudo用不了shell内置命令source
os6-ref 的 Makefile 有点小问题。
git add后面好像忘记加-A了
# 实现特权级的切换 - Open-Source-OS-Training-Camp-2022 文档 [https://learningos.github.io/rust-based-os-comp2022/chapter2/4trap-handling.html](https://learningos.github.io/rust-based-os-comp2022/chapter2/4trap-handling.html)
如题 在 classroom 中执行 make codespaces_setenv 后,会卡住不动。等了半天没什么反应。 执行之后的命令会报错
### 关于《分析 SV39 多级页表的内存占用》,理论上的[第一种上限](http://rcore-os.cn/rCore-Tutorial-Book-v3/chapter4/3sv39-implementation-1.html#id7:~:text=%E6%AF%8F%E6%98%A0%E5%B0%84%E4%B8%80%E4%B8%AA,%EF%BC%9B): > 每映射一个 4KiB 的虚拟页面,需要初始就有一个页表根节点,因为还需其它两级页表节点,故最多还需要新分配两个物理页帧来保存新的节点。 我的问题是: 1. 为什么“最多还需要新分配 **两个** 物理页帧来保存新的节点”? 2. 没有理解这里 'S / 4KiB' 的含义。这里的计算看起来就像是:每连续映射 4KB 新分配 2 个 4KB 的页表。 --- ### 一些概念的表述不太理解 > [在...
**Describe the bug** 执行make docker后,不能挂载本地工作目录到容器内 **To Reproduce** Steps to reproduce the behavior: 1. 我使用的是基于Debian 的Deepin20的操作系统,使用非root用户操作 2. 执行docker实验环境配置时,make docker 无法将本地工作目录挂载到容器内的/mnt目录上 3、修改Makefile中的docker命令,修改${shell pwd}才能生效 **Expected behavior** 期望本地实验代码目录挂载到容器内的/mnt目录上 **Screenshots**  **Environment (please complete the...
从`heap_allocator.rs`的测试代码可以推出内核堆在bss段。 ``` pub fn heap_test() { use alloc::boxed::Box; use alloc::vec::Vec; extern "C" { fn sbss(); fn ebss(); } let bss_range = sbss as usize..ebss as usize; let a = Box::new(5);...