进程简介~

进程简介

进程和程序

程序是被动实体,进程是活动实体

进程的状态

  1. 进程有以下5个状态:

    • 新的:进程正在被创建
    • 运行:指令正在被执行
    • 等待:进程等待某个事件的发生(如I/O完成或收到信号)
    • 就绪:进程等待分配处理器
    • 终止:进程完成执行
  2. 5个状态之间的转换关系如下图:
    进程状态转换

进程控制块

  1. 进程控制块:每个进程在操作系统内用进程控制块(PCB)来表示。下图给出了一个PCB的例子,它包含了许多与一个特定进程相关的信息。

进程控制块

  1. 当CPU在进程之间进行切换时,需要保存进程上下文,如图3所示:

CPU进程切换

调度队列

  1. 就绪队列:驻留在内存中就绪的,等待运行的进程保存在就绪队列中。
  2. 设备队列:等待特定I/O设备的进程列表称为设备队列。

调度程序

调度程序:进程在其生命周期中会在各种调度队列之间迁移,为了调度,操作系统必须按某种方式从这些队列中选择进程。

  • 长期调度程序作业调度程序:从磁盘上的缓冲池中选择进程并装入内存已备执行;
  • 短期调度程序CPU调度程序:从准备执行的进程中选择进程并为之分配CPU;
  • 有的操作系统如分时系统可能引入另外的中期调度程序,其核心思想是能将进程从内存中移除,从而降低多道程序(多道程序系统在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插运行,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率)设计的程度。

进程终止

进程终止的2种情况:

  1. 当进程执行完最后的语句并使用系统调用exit()请求操作系统删除自身时,进程终止。这时进程可以返回状态值到父进程,所有进程资源(包括物理内存,打开文件和I/O缓冲)会被操作系统释放。
  2. 父进程通过调用适当的系统调用终止子进程。父进程终止其子进程的原因可能有:
  • 子进程使用了超过它所分配到的一些资源
  • 分配给子进程的任务已不再需要
  • 父进程退出,如果父进程终止,那么操作系统不允许子进程继续。级联终止。

进程间通信(IPC)

进程间通信常见的有两种方式:

  1. 共享内存:允许以最快的速度进行方便的通信
  2. 消息传递:通常用系统调用实现,因此需要更多的内核介入的时间消耗。在共享内存系统中,仅在建立共享内存区域时需要系统调用,一旦建立了共享内存,所有的访问都被处理为常规的内存访问,如图4所示。

进程通信模型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值