操作系统相关知识(面试用)三、进程的状态 ,通信

在第一篇操作系统的文章中,我们讲述了进程和线程以及之间的区别和联系,了解了进程和线程。本篇主要讲述进程的状态和进程的通信相关的知识,进一步加深对进程的理解。

什么是进程的状态。

进程的状态是指进程从创建到终止这个过程中所经历过的状态。

一个进程在他的生命周期内总共有三种状态,分别为就绪状态,运行状态和阻塞状态。它们之间的关系可以用下图表示

现在解释一下这三个状态的情况:

就绪状态:等待进程被处理机调度,该状态持有除处理机以外的所有所需资源,得到处理机便可以运行。

运行状态:进程在处理机上运行。

阻塞状态:进程正在等待某个事件的发生,如等待某个资源或等待输入、输出等。

三个状态的相互转化:

就绪状态 -> 运行状态: 处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),进程由就绪状态转换为运行状态。
运行状态 -> 就绪状态: 处于运行状态的进程在时间片用完后,让出处理机,进程由运行状态转换为就绪状态。此外,在可抢占的操作系统中,当有更高优先级的进程就绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。
运行状态 -> 阻塞状态: 当进程请求某一资源的使用和分配或等待某一事件的发生(如I/O操作的完成)时,进程由运行状态转换为阻塞状态。
阻塞状态 -> 就绪状态: 当进程等待的事件到来时,如I/O操作结束时,进程由阻塞状态转换为就绪状态。

当进程在运行结束后,为释放进程所占用的空间和资源,需要终止进程。

终止进程的过程:

  1. 根据将被终止的进程的标识符,检索PCB,从中读取该进程的状态。
  2. 若进程处于运行状态,立刻结束运行状态,将处理机资源分配给其他进程。
  3. 若该进程还有其他子进程,立刻终止其他子进程。
  4. 将该进程所占用的资源还给他的父进程或者操作系统。
  5. 将该PCB从所在地方删除。

 到这里,进程就被终止掉,一个进程的生命周期到此结束。

 

进程通信

进程通信是指进程之间的信息交换。PV操作是低级通信方式,髙级通信方式是指以较高的效率传输大量数据的通信方式。高级通信方法主要有以下三个类。

1.共享存储

在通信的进程之间存在一块可直接访问的共享空间,通过对这片共享空间进行写/读操作实现进程之间的信息交换。在对共享空间进行写/读操作时,需要使用同步互斥工具(如 P操作、V操作),对共享空间的写/读进行控制。

2.消息传递

在消息传递系统中,进程间的数据交换是以格式化的消息(Message)为单位的,通过系统提供的发送消息和接收消息两个原语进行数据交换。

3.管道通信

管道指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,主要是通过文件读写的方式。

 

以上就是本篇文章所讲的全部内容,若果哪里有问题希望大家可以在评论区留言指正,随时欢迎。

posted @ 2020-08-24 09:28  FuloliyaLansfroya  阅读(422)  评论(0)    收藏  举报