Skip to content

Commit

Permalink
wip(lab/7): memory
Browse files Browse the repository at this point in the history
  • Loading branch information
GZTimeWalker committed May 26, 2024
1 parent 9ede679 commit b4a5060
Show file tree
Hide file tree
Showing 5 changed files with 669 additions and 8 deletions.
6 changes: 6 additions & 0 deletions docs/labs/0x03/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,12 @@ pub const STACK_INIT_TOP: u64 = STACK_MAX - 8;

在这个函数中,需要将初始化进程设置为当前唯一正在运行的进程。设置内核进程的状态为 `Running`,并将其 PID 加载至当前的 CPU 核心结构体中。

!!! warning "使用 `print_process_list` 函数来辅助调试"

在 `src/proc/manager.rs` 中,参考代码为各位实现了 `print_process_list` 函数,用于打印进程列表、就绪队列等信息。

**在之后的实现过程中,涉及到进程的状态变化、进程的创建、进程的销毁、进程的调度等操作时,请调用这个函数来辅助调试,这会为你节省大量的时间。**

## 进程调度的实现

修改时钟中断的内容,移除上次实验中的计数器等模块,并参考 `DOUBLE_FAULT_IST_INDEX` 的分配处理和声明,**在 TSS 中声明一块新的中断处理栈,并将它加载到时钟中断的 IDT 中**
Expand Down
10 changes: 2 additions & 8 deletions docs/labs/0x07/index.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
# 实验七:更好的内存管理

!!! tip "<br/>&nbsp;<span style="font-weight: bold; float: right">by</span>"

!!! tip "如同一位精明的财务官,我们细致地规划每一笔开销,确保内存资源的分配和回收都井井有条。<br/>通过优化内存管理,我们让每一块内存都得到最有效的利用,系统运行得更加高效和稳定。<br/>&nbsp;<span style="font-weight: bold; float: right">by ChatGPT</span>"

## 实验目的

1. 实现帧分配器的内存回收,操作系统的内存统计。
2. 实现操作系统栈的自动增长。
3. 尝试实现 brk 系统调用,实现用户态程序的动态内存分配。

## 实验基础知识

!!! note "善用 LLM 进行学习"

对于现代计算机专业的学生,建议并要求大家学习借助 LLM(Large Language Model)进行学习,这是一种非常有效的学习方法,可以帮助你更快的学习到知识。
Expand All @@ -21,9 +18,6 @@

鼓励使用 Typst 来进行实验文档的编写,使用可以参考 [使用 Typst 编写报告](../../general/typst.md)

对于本次实验内容,你需要参考学习如下实验资料:


## 实验任务与要求

1. 请各位同学独立完成作业,任何抄袭行为都将使本次作业判为 0 分。
Expand All @@ -33,7 +27,7 @@
3. 依据 [实验任务](./tasks.md) 完成实验。

- 代码编写任务:观察提供的代码,完善所有标记为 `FIXME:` 的部分,并验证结果是否符合预期。**请在报告中介绍实现思路,截图展示关键结果。**
- 思考任务:完成 “思考题” 和 “实验任务” 部分的内容,**在报告中简要进行回答***:思考题可能也是理解代码、实现功能的重要提示。*
- 思考任务:完成 “思考题” 和 “实验任务” 部分的内容,**在报告中简要进行回答**_:思考题可能也是理解代码、实现功能的重要提示。_
- Bonus 加分项:学有余力的同学可以任选 Bonus 部分完成,尝试完成更多的功能,并在报告中进行展示。这部分内容不是必须的要求。

4. 请在实验报告中涵盖相关任务的实现截图、实验任务对应问题的解答、实验过程中遇到的问题与解决方案等内容。
Loading

0 comments on commit b4a5060

Please sign in to comment.