File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,9 @@ git merge lab2-dev
7070>
7171> 修改你的UserContext。你需要保证UserContext中有spsr、elr、sp(` sp_el0 ` )寄存器,并结合你的UserContext 添加 ` test/user_proc.c ` 中的 TODO 部分。
7272
73+ > [ !tip]
74+ >
75+ > ** 思考** :spsr、elr、sp(` sp_el0 ` )寄存器的作用都是什么?
7376
7477## 5. 使用kill方法结束进程
7578
@@ -98,6 +101,8 @@ kill机制通过设置进程的`killed`标记实现延迟终止:标记设置
98101
99102## 6. 调度算法
100103
104+ 在本Lab中,我们还将实现一个更实用的调度算法。
105+
101106### 调度的意义
102107
103108进程调度是操作系统中的核心功能,其主要意义包括:
@@ -119,13 +124,13 @@ kill机制通过设置进程的`killed`标记实现延迟终止:标记设置
119124> [ !important]
120125> ** 任务5**
121126>
122- > 改进你的调度器。Lab2的内核进程调度是非抢占式的,Lab3要求大家进行抢占式的调度,你可能需要在调度器中加入时钟中断相关的代码,并注意 ** 调度的公平性问题** 。另请注意:我们现在在时钟中断的基础上封装了一层CPU定时器的抽象,** 请使用CPU定时器** 。
127+ > 改进你的调度器。Lab2的内核进程调度是非抢占式的,Lab3要求大家进行抢占式的调度。请注意 ** 调度的公平性问题** ,选择一个合适的调度算法。你可能需要在调度器中加入时钟中断相关的代码 。另请注意:我们现在在时钟中断的基础上封装了一层CPU定时器的抽象,** 请使用CPU定时器** 。
123128
124129我们在` user_proc.c ` 中编写了用户页表和用户进程相关的测试代码,在` cpu.c ` 中通过CPU定时器添加了CPU定时输出消息的代码。如果一切正常,你将看到` vm_test PASS ` 和` user_proc_test PASS ` 。
125130
126131测试还会输出4个CPU和22个进程的工作量,请确认CPU和进程间的相对工作量是否分别基本平衡。
127132
128- ## 6 . 提交
133+ ## 7 . 提交
129134
130135** 提交方式** :将实验报告提交到 elearning 上,格式为 ` 学号-lab3.pdf ` 。
131136
You can’t perform that action at this time.
0 commit comments