美文网首页
进程管理详解(1)

进程管理详解(1)

作者: NiNko | 来源:发表于2020-02-15 15:11 被阅读0次

多道批处理系统的出现,使得多个作业可以并行的运行在CPU上,提高了资源利用率,和系统吞吐量。但是又带来了系统中各种资源的调度问题。在多道环境下,允许多个程序并发执行,此时他们将失去封闭性,并具有间断性和不可再现性,为此引入进程的概念。下面来介绍进程与进程的管理。


1. 进程的定义


为了使参与并发执行的程序能够独立运行,必须为此配置一个专门的数据结构,称为进程控制块(PCB)。系统利用PCB来描述进程的基本情况与运行态,进而控制和管理进程。相应的,由程序段,数据段和PCB三部分构成了进程实体。PCB是进程存在的唯一标志。

进程是具有独立功能的程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。


进程从创建到消亡整个生命周期,状态会不断发生变化。通常有以下五种状态

  • 运行态:进程正在处理机上运行。
  • 就绪态:进程已处于准备运行的状态。即进程获得了除处理机以外的所有需要的资源。
  • 阻塞态:进程等待某一事件而暂停运行。如等待某资源为可用(不包括处理机)。
  • 创建态:进程正在被创建,未进入就绪态。
  • 结束态:进程正在从系统中消失,可以是正常结束,也可能是其他原因中断退出运行。

进程是一个独立的运行单位,也是操作系统分配资源和调度的基本单位,进程一般由PCB,程序段和数据段组成。

  • PCB
    创建一个进程时,操作系统为该进程创建一个PCB,进程执行时,操作系统通过PCB了解进程的状态信息,进程结束时,操作系统回收其PCB,进程随之消亡。
  • 程序段
    程序段是能被进程调度程序调度到CPU执行的代码段。程序可以被多个进程共享,多个进程可以运行同一个程序。
  • 数据段
    一个进程的数据段,可以是进程对应程序加工处理的原始数据,也可以是程序运行产生的中间或最终结果。

2.进程的通信


  • 共享存储

    在通信的进程之间存在一块可直接访问的共享空间,通过对这一块空间进行读写操作实现进程之间的信息交换。在对共享空间进行读写时需要使用同步互斥工具。共享存储分为两类,一类是基于数据结构的共享,一类是基于存储区的共享。

  • 消息传递

    这种方式的数据交换是以格式化的消息为单位的,通过系统提供的发送消息和接收消息两个原语进行。

  • 管道通信

    管道是指用于连接一个读进程和一个写进程的共享文件(pipe), 管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。


3. 线程


引入进程的目的是为了提高资源利用率和系统吞吐量,而线程则减小了程序在并发执行是所付出的时空开销,提高了并发性能。

线程是一个基本的CPU执行单位,由线程ID,程序计数器,寄存器和堆栈等组成。一个线程可以创建和撤销另一个线程,同一进程中的多个线程并发执行。


线程与进程的区别

  • 调度

    进程是拥有资源(资源分配)的最小单位,线程是独立调度的基本单位。

  • 资源

    进程拥有资源,线程不拥有系统资源,但线程可以访问所属进程的资源。

  • 系统开销

    进程创建、切换、销毁所付出的开销远大于线程时的开销。


相关文章

  • 进程管理详解(1)

    多道批处理系统的出现,使得多个作业可以并行的运行在CPU上,提高了资源利用率,和系统吞吐量。但是又带来了系统中各种...

  • Linux进程管理详解(转)

    Linux进程管理详解 1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一...

  • Linux进程管理工具 Supervisor

    文章来源:Linux进程管理工具 Supervisor详解   Supervisor安装与配置(linux/uni...

  • Linux 进程管理详解

    进程 是 Unix 和 Linux 系统中对正在运行中的应用程序的抽象,通过它可以管理和监视程序对内存、处理器时间...

  • 01 项目架构-Webview独立进程架构

    1 WebView基础 见WebView详解 2 为什么WebView要使用跨进程 3 独立进程WebView实现...

  • 【转】详解Supervisor进程守护监控

    详解Supervisor进程守护监控

  • linux 下的系统调用

    一、主要有以下模块 -进程管理-内存管理-文件管理-信号处理-进程通信-网络通信 一、进程管理 1.父进程通过fo...

  • 进程管理(1)

    操作系统会在任何时候暂停或继续一个程序的运行 程序A:a,c->a.exe程序B:b,c->b.exe1)...1...

  • day20-进程管理

    《 磁盘管理 》进程管理 1.什么是进程: 例如:开发写的...

  • Linux进程管理

    1.进程基本概述 2.程序和进程的区别 3.进程的生命周期 4.监控进程状态 5.STAT详解 STAT基本状态描...

网友评论

      本文标题:进程管理详解(1)

      本文链接:https://www.haomeiwen.com/subject/osvefhtx.html