os_kernel_lab/related_info/lab4/lab4-spoc-discuss/lab4-spoc-discuss.md
2015-04-15 11:23:03 +08:00

1013 B
Raw Blame History

lab4 spoc discuss

掌握知识点

  1. 内核线程的启动、运行、就绪、等待、退出
  2. 内核线程的管理与简单调度
  3. 内核线程的切换过程

请完成如下练习完成代码填写并形成spoc练习报告

1. 分析并描述创建分配进程的过程

注意 state、pid、cr3contexttrapframe的含义

练习2分析并描述新创建的内核线程是如何分配资源的

###设计实现

注意 理解对kstack, trapframe, context等的初始化

当前进程中唯一操作系统的整个生命周期不唯一在get_pid中会循环使用pid耗尽会等待

练习3阅读代码在现有基础上再增加一个内核线程并通过增加cprintf函数到ucore代码中

能够把进程的生命周期和调度动态执行过程完整地展现出来

扩展练习4增加可以睡眠的内核线程睡眠的条件和唤醒的条件可自行设计并给出测试用例并在spoc练习报告中给出设计实现说明