过程掌握:过程的创立,终止,壅塞,叫醒和切换

过程的创立


<李>

为新过程分派一个独一的过程标识号,并请求一个空白的PCB(印刷电路板是无限的)。若PCB请求掉败则创立掉败。

<李>

为过程分派资本,为新过程的程序和数据,以及用户栈分派需要的内存空间(在PCB中表现)。留意:这里假如资本缺乏(比方内存空间),并不是创立掉败,而是处于”等候形态”,或称为“壅塞形态”,等候的是内存这个资本。

<李>

初始化PCB,次要包含初始化标记信息,初始化处置机形态信息和初始化处置机掌握信息,以及设置过程的优先级等。

<李>

假如过程停当队列可以回收新过程,就将新过程拔出到停当队列,等候被调剂运转。

过程的终止


<李>

依据被终止过程的标识符,检索PCB,从中读出该过程的形态。

<李>

若被终止过程处于履行形态,立刻终止该过程的履行,将处置机资本分派给其他过程。

<李>

若该过程还有子过程,则应将其一切子过程终止。

<李>

将该过程所具有的全体资本,或出借给其父过程或出借给操作零碎。

<李>

将该PCB从地点队列(链表)中删除。

过程的壅塞和叫醒


<李>

找到将要被壅塞过程的标识号对应的PCB。

<李>

若该过程为运转形态,则维护其现场,将其形态转为壅塞形态,中止运转。

<李>

把该PCB拔出到响应事情的等候队列中去。



<李>

在该事情的等候队列中找到响应过程的PCB。

<李>

将其从等候队列中移出,并置其形态为停当形态。

<李>

把该PCB拔出停当队列中,等候调剂程序调剂。


过程切换



<李>

保管处置机上下文,包含程序计数器和其他存放器。

<李>

更新PCB信息。

<李>

把过程的PCB移入响应的队列,如停,当在某事情壅塞等队列。

<李>

选择另一个过程履行,并更新其PCB。

<李>

更新内存治理的数据构造。

<李>

恢复处置机上下文。



过程掌握:过程的创立,终止,壅塞,叫醒和切换