zoukankan      html  css  js  c++  java
  • 进程与PCB(二)

    进程控制

    进程控制的基本过程:

       进程的创建

       进程的终止

       进程的阻塞与唤醒

       进程的挂起和激活

    进程中的亲属关系

       一般使用进程树表示:

                              

    1 创建进程:

    (1) 申请空白PCB

    (2) 为新进程分配资源

                  主要是内存资源的处理

    (3) 初始化进程控制块

                  标识符(包括父进程的)、程序计数器指向程序入口地址,就绪态、优先级等信息的填写。

    (4) 将新进程插入就绪队列

     注:os通过调用进程创建原语Create()创建新进程

    2 进程终止

    原因:(1)正常结束

               (2)异常结束

             (3)外界干预

    步骤:

    (1) 根据进程标示符,检索出该进程PCB,读其状态

           *IF 执行态,立即终止该进程,置调度标志为真,指示重新进行调度。

           *IF 有子孙进程,亦应予以终止,以防成为不可控进程。

    (2) 归还全部资源至其父进程或系统。

    (3) 将该进程PCB从所在队列或链表中移出。

    3 进程的阻塞与唤醒

    引起阻塞与唤醒的事件:

         请求系统服务的满足情况

         启动某种需等待(I/O)操作 

         合作需要的新数据尚未到达

         执行某功能的进程暂时无新工作可做(如发送数据进程)

    阻塞与唤醒过程:

      由进程调用阻塞原语阻塞自己,是主动行为:

    (1)将PCB中的状态改为阻塞

    (2)该PCB加入到阻塞队列中

    (3)转进程调度,将处理机分配给另一进程

    (4)进行进程切换,即根据两切换进程的PCB,保护与重新设置处理机状态。

       注:阻塞与唤醒原语作用相反,成对使用

         

    4 进程的挂起与激活

    挂起原语将指定进程或阻塞进程挂起。

    (1)检查被挂起进程的状态,活动就绪则改为静止就绪,活动阻塞则改为静止阻塞

    (2)将该PCB复制到内存(方便检查)/外存(对换)指定区域

    (3)*若挂起的进程是执行态,则需重新进行进程调度。

    注:  

    ¡  若挂起进程在外存上,将其调入内存

    ¡  检查进程状态,若处于静止就绪,则改为活动就绪,若处于静止阻塞,则改为活动阻塞

           

       

  • 相关阅读:
    增删改查
    兴趣爱好
    兴趣爱好界面
    购物商城
    计算器
    安卓第四周作业
    安卓第一周作业
    第十五周作业
    十三周作业-集合
    第十三周上机练习
  • 原文地址:https://www.cnblogs.com/lls101/p/9749334.html
Copyright © 2011-2022 走看看