操作系统——进程状态与进程控制块

进程的基本状态
创建、就绪、执行、阻塞、终止。如果加上挂起与激活,则有活动就绪、活动阻塞、静止就绪、静止阻塞
进程状态转换
加入挂起与激活以后:
进程状态转换2
进程的控制

  • 创建与终止
    • 创建
      1. 申请空白进程PCB
      2. 分配进程资源
      3. 初始化PCB
        1. 初始化标识信息
        2. 初始化处理机状态信息(程序计数器指向入口地址,栈顶指针)
        3. 初始化处理机控制信息(进程优先级、进程状态)
      4. 将进程拉入就绪队列
    • 终止
      1. 从PCB集合中检索出该进程的PCB,读进程状态
      2. 若在执行状态,则立即终止执行。
      3. 若该进程有子孙进程,终止子孙进程
      4. 归还所有资源,要么给其父进程,要么给系统
      5. 将被终止的进程(的PCB)从队列中移出
  • 阻塞与唤醒
    • 阻塞
      1. 调用原语block来阻塞
      2. 将PCB的状态由执行改为阻塞。保留阻塞进程的处理机状态,将PCB插入到相同事件的阻塞队列
      3. 将处理机分配给另一个就绪进程
    • 唤醒
      1. 程原语(wakeup)
      2. 从等待队列中取下该进程控制块。将其状态设为就绪态、将被唤醒的进程插入就绪队列
  • 挂起与激活
    • 挂起
      1. 检查改进程的状态。活动就绪态转为静止就绪。活动阻塞改为静止阻塞。
      2. 若其在执行,则转向调度程序,重新调度。
    • 激活
      1. 将进程从外存调入内存
      2. 检查其状态,若为静止就绪,则转为活动就绪。若为静止阻塞,则转为活动阻塞。

进程控制块PCB

  • 内含信息

    • 进程标识符(内部标识符(唯一,系统使用)、外部标识符(创造者提供,描述家族关系、设置父进程子进程标识))
    • 处理及状态(保存进程在处理机中的运行环境,以便中断后能从断点继续执行)
    • 进程调度信息(进程状态、进程优先级、进程阻塞的原因等)
    • 进程控制信息(程序和数据的地址、进程同步和通信的机制、资源清单(所需资源、已分配资源)、链接指针(链接下一个PCB首地址))
  • 作用

    1. 作为独立运行基本单位的标志
    2. 能实现间断性运行方式
    3. 提供进程管理所需要的信息
    4. 提供进程调度所需要的信息
    5. 实现与其他进程的同步与通信
  • PCB的组织方式

    • 线性方式——将PCB存储到线性表中,适用于进程数目不多的情况
    • 链接方式
      PCB链接队列
    • 索引方式——索引表中记录PCB的地址
      PCB索引组织
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值