xv6翻译1
P23
Code:Process creation
此章节描述xv6如何创建第一个进程。xv6内核为每个进程维护一系列的状态,并且
获取这些状态,放到proc结构中。一个进程最重要的内核状态是它的页表和它指向的物理内存,
它的内核栈,它的运行状态。我们将使用符号P->xxx指向proc结构中这些元素。
您应该查看一个进程的内核态的线程执行(或线程的简称)它代表一个进程在内核中执行。 on behalf 代表
一个线程运算时能被停止或者挂起。例如,当一个进程进行系统调用时,CPU从执行的进程中切换到执行的进程内核线程中
进程的内核线程执行系统调用例程(例如读一个文件),结果返回到此进程中。xv6使用线程执行系统调用以至于为了等待I/O,
系统会在内核中等待(或者阻塞)。当I/O结束时,终止挂起。内核线程的许多状态被存储在内核线程栈p->kstack中,
每个进程的内核栈与它的用户栈是分开的,这时用户栈可能是无效的。所以你能看到一个进程有2个线程执行:一个用户线程
一个内核线程。

浙公网安备 33010602011771号