27 lines
1013 B
Markdown
27 lines
1013 B
Markdown
# lab4 spoc discuss
|
||
|
||
|
||
## 掌握知识点
|
||
1. 内核线程的启动、运行、就绪、等待、退出
|
||
2. 内核线程的管理与简单调度
|
||
3. 内核线程的切换过程
|
||
|
||
请完成如下练习,完成代码填写,并形成spoc练习报告
|
||
|
||
## 1. 分析并描述创建分配进程的过程
|
||
|
||
> 注意 state、pid、cr3,context,trapframe的含义
|
||
|
||
## 练习2:分析并描述新创建的内核线程是如何分配资源的
|
||
###设计实现
|
||
|
||
> 注意 理解对kstack, trapframe, context等的初始化
|
||
|
||
|
||
当前进程中唯一,操作系统的整个生命周期不唯一,在get_pid中会循环使用pid,耗尽会等待
|
||
|
||
## 练习3:阅读代码,在现有基础上再增加一个内核线程,并通过增加cprintf函数到ucore代码中
|
||
能够把进程的生命周期和调度动态执行过程完整地展现出来
|
||
|
||
## 扩展练习4:增加可以睡眠的内核线程,睡眠的条件和唤醒的条件可自行设计,并给出测试用例,并在spoc练习报告中给出设计实现说明
|