Nachos 4.1 lab1 线程机制实验报告
目录
内容一:总体概述 3
内容二:任务完成情况 3
任务完成列表(Y/N) 3
具体Exercise的完成情况 3
内容三:遇到的困难以及解决方法 4
内容四:收获及感想 5
内容五:对课程的意见和建议 5
内容六:参考文献 5
内容一:总体概述
线程是操作系统CPU调度最基本的单位,每个线程都有自己唯一的线程编号TID,记录线程信息的数据结构为TCB。在线程创建时,也需要为线程分配内存空间。线程也有创建后的初始就绪态,占用CPU的运行态和退出后的销毁态。
在nachos中有一个核心的内核级线程main,是操作系统内核初始化时第一个建立的线程,可以利用它来fork创建其余线程。也可以直接new Thread线程构造函数建立新的线程。但nachos中没有实现父子线程的继承关系。
内容二:任务完成情况
任务完成列表(Y/N)
Exercise 1 调研(Y)
Exercise 2 源代码阅读(Y)
Exercise 3 扩展线程的数据结构(Y)
Exercise 4 增加全局线程管理机制(Y)
具体Exercise的完成情况
第一部分
Exercise1 基础知识
Linux中进程控制块(PCB)叫做task_struct,主要包含标识符pid:用于唯一标识进程,区别于其他进程,同时还有进程组标识;状态state:任务状态,退出代码,中断信号等;实时优先级:用于计算实时进程调度时的weight值&#