OS:lab3课下基础
OS:lab3课下基础 1.进程 由于没有实现线程,本实验中进程既是基本的分配单元,也是基本的执行单元 1.1 进程控制块 进程控制块(Process Control Block)是用来管理进程的数据结构,可以记录进程的变化过程,记录进程的外部特征。PCB是系统感知进程存在的唯一标志,进程与PCB是一一对应的。在MOS中,PCB定义为一个Env结构体 1 2 3 4 5 6 7 8 9 10 11 struct Env { struct Trapframe env_tf; // saved context (registers) before switching LIST_ENTRY(Env) env_link; // intrusive entry in 'env_free_list' u_int env_id; // unique environment identifier u_int env_asid; // ASID of this env u_int env_parent_id; // env_id of this env's parent u_int env_status; // status of this env Pde *env_pgdir; // page directory TAILQ_ENTRY(Env) env_sched_link; // intrusive entry in 'env_sched_list' u_int env_pri; // schedule priority }; env_tf : 在发生进程调度,或当陷入内核时,会将当时的进程上下文环境保存在env_tf变量中 ...