进程的基础

1、操做系统的背景知识

顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。数据结构

进程的概念起源于操做系统,是操做系统最核心的概念,也是操做系统提供的最古老也是最重要的抽象概念之一。操做系统的其余全部内容都是围绕进程的概念展开的。并发

因此想要真正了解进程,必须事先了解操做系统,点击进入异步

PS:即便能够利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽象,现代计算机将不复存在。操作系统

1.1 必备的理论基础

  1. 操做系统的做用:设计

    1. 隐藏丑陋复杂的硬件接口,提供良好的抽象接口
    2. 管理、调度进程,而且将多个进程对硬件的竞争变得有序
  2. 多道技术:接口

    1. 产生背景:针对单核,实现并发

    ps:如今的主机通常是多核,那么每一个核都会利用多道技术。有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再从新调度,会被调度到4个cpu中的任意一个,具体由操做系统调度算法决定。进程

    1. 空间上的复用:如内存中同时有多道程序
    2. 时间上的复用:复用一个cpu的时间片

    强调:遇到io切换,占用cpu时间过长也切换,核心在于切以前将进程的状态保存下来,这样才能保证下次切换回来时,能基于上次切走的位置继续运行。内存

2、什么是进程

进程是程序执行的过程,是资源的集合资源

3、进程的概念

  1. 进程是一个实体。每个进程都有它本身的地址空间,通常状况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
  2. 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操做系统执行之),它才能成为一个活动的实体,咱们称其为进程。

进程是操做系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态状况,描述系统内部各道程序的活动规律引进的一个概念,全部多道程序设计操做系统都创建在进程的基础上。

4、操做系统引入进程的概念的缘由

从理论角度看,是对正在运行的程序过程的抽象;

从实现角度看,是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。

5、进程的特征

  • 动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
  • 并发性:任何进程均可以同其余进程一块儿并发执行
  • 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
  • 异步性:因为进程间的相互制约,使进程具备执行的间断性,即进程按各自独立的、不可预知的速度向前推动
  • 结构特征:进程由程序、数据和进程控制块三部分组成。

多个不一样的进程能够包含相同的程序:一个程序在不一样的数据集里就构成不一样的进程,能获得不一样的结果;可是执行过程当中,程序不能发生改变。

6、进程与程序中的区别

程序是指令和数据的有序集合,其自己没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。

程序能够做为一种软件资料长期存在,而进程是有必定生命期的。

程序是永久的,进程是暂时的。

注意:同一个程序执行两次,就会在操做系统中出现两个进程,因此咱们能够同时运行一个软件,分别作不一样的事情也不会混乱。

相关文章
相关标签/搜索