02 进程控制和原语

什么是进程控制?

进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。简化理解:进程控制就是实现进程状态转换

什么是原语

原语是在操作系统中调用核心层子程序的指令。与一般广义指令的区别在于它是不可中断的,而且总是作为一个基本单位出现。它与一般程序的区别在于:它们是“原子操作(primitive or atomic action)”。所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,在执行过程中不允许被中断。原子操作在管态下执行,常驻内存。

进程控制相关的原语

进程控制会处理进程状态的转换,无论哪个原语,要做的无非三件事:1.更新PCB中的信息 2.将PCB插入到合适的队列 3.分配/回收资源

创建原语

在实际系统中创建一个进程有两种方法:一是由操作系统建立,0号进程就是由操作系统建立的;二是由其他进程创建一个新的进程。基本操作都是一样的。创建进程原语总是先为新建进程申请一空白PCB,并为之分配唯一的数字标识符,使之获得PCB的内部名称,若该进程所对应的程序不在内存中,则应将它从外存储器调入内存,并将该进程有关信息填入PCB中,然后置该进程为就绪状态,并将它排入就绪队列。

撤销原语

撤销进程的实质是撤销进程存在标志——PCB。一旦PCB被撤销,进程就消亡了。撤销原语的操作过程大致如下:以调用者提供的标识为索引,从该进程所在的队列,将它从该队列中消去,并撤销属于该进程的一切“子孙进程”,若有父进程则从父进程PCB中删除指向该进程的指针,并释放撤销进程所占用的全部资源,或将其归还给父进程,或归还给系统。若被撤销的进程处于执行状态,应立即中断该进程的执行,并设置调度标识为真,以指示该进程被撤销后系统应重新调度。

阻塞原语

阻塞原语的大致工作过程如下:开始时,进程正处于执行状态,因此首先应中断CPU执行,并保存该进程的CPU现场,然后把阻塞状态赋予该进程,并将它插入阻塞队列中。

唤醒原语

进程因为等待事件的发生而处于阻塞状态,当等待的事件完成后,进程又具有了继续执行的条件,这时就要把该进程从阻塞状态转变为就绪状态,这个工作由唤醒原语来完成。唤醒原语执行的操作有:先把被唤醒进程从阻塞队列中移出,设置该进程当前状态为就绪状态,然后再将该进程插入到就绪队列中。

posted @ 2021-02-08 20:35  数大招疯-公众号同名  阅读(1004)  评论(0编辑  收藏  举报