进程间通信

一.进程和程序的区别

概念:
进程是系统资源分配的最小单位。进程和线程实现多任务(并发执行)。程序是静止的进程是动态的。进程包括程序和程序处理的对象(数据集)。进程能得到程序处理的结果。进程和程序并非一一对应的。

二.并发执行&并行执行

并发执行是多道程序系统中多个程序(逻辑上互相独立)或者一个程序中的多个程序段在执行的过程当中,时间互相重叠,一个程序执行没结束,另一个已经开始。而并行执行是指一组程序按照独立的,不同步的速度执行,时间上不重叠,例如从单cpu中执行多个程序的微观和宏观角度去观察。

三.进程管理

  1. 进程创建&退出
    创建进程有两种方式,一是由操作系统创建,二是由父进程创建。由操作系统创建的进程,它们之间是平等的,一般不存在资源继承关系,而对于由父进程创建的进程(通常称之为子进程),它们和父进程存在隶属关系,子进程又可以创建进程,这样形成一个进程家族,子进程可以继承其父进程几乎所有的资源。在系统启动时,操作系统会创建一些进程,它们承担着管理和分配系统资源的任务,这些进程通常被称为系统进程。
    ————————————————
    版权声明:本文为CSDN博主「IT_LIULEI」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/it_happy_/article/details/98534217
  2. 进程等待
    进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。
    1)就绪(Ready)状态
      当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
    2)执行(Running)状态
      当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
    3)阻塞(Blocked)状态
    正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

进程三种状态间的转换
  (1) 就绪→执行
  处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
  (2) 执行→就绪
  处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。
  (3) 执行→阻塞
  正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。
  (4) 阻塞→就绪
  处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。
  进程运行状态
一个进程在其生存期内,可处于一组不同的状态下,称为进程状态,如下图所示。进程状态保存在进程任务结构的state字段中。当进程正在等待 系统中的资源而处于等待状态时,则称其处于睡眠等待状态。在Linux系统中,睡眠等待状态分为可中断的和不可中断的等待状态。
3. 进程调度
高级调度:又称作业调度。其主要功能是根据一定的算法,从输人的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输人、输出进程),最后把它们的程序和数据调人内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。
低级调度:又称进程调度。其主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。执行低级调度功能的程序称做进程调度程序,由它实现 CPU在进程间的切换。进程调度的运行频率很高,在分时系统中往往几十毫秒就要运行一次。进程调度是操作系统中最基本的一种调度。在一般类型的操作系统中都必须有进程调度,而且它的策略的优劣直接影响整个系统的计能。
中级调度:又称交换调度。为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。特别在采用虚拟存储技术的系统或分时系统中,往往增加中级调度这一级。所以中级调度的功能是在内存使用情况紧张时,将一些暂时不能运行的讲程从内存对换到外存上等待。当以后内存有足够的空闲空间时,再将合适的进程重新换人内存,等待进程调度。引人中级调度的主要目的是为了提高内存的利用率和系统吞吐量。它实际上就是存储器管理中的对换功能

四.进程间通信—IPC

进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。
IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。

你可能感兴趣的:(进程间通信)