# 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练习报告中给出设计实现说明