进程

来自计算思维百科
跳转至: 导航搜索
进程1.jpg

我们常常利用计算机做很多事情,例如编辑一个文档,发一个邮件,或是玩一个游戏。计算机每完成一个工作其实就是执行了一个程序。但是程序在没有被计算机的处理器执行之前,只是一个没有生命的实体。只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。进程是一个“执行中的程序”, 它不只是程序的代码,还包括了处理器执行这些代码时的一些活动状态。

基本概念

进程的实质是实体的一次执行过程,系统每一次进行资源分配和调度,就是面向一个独立进程进行的。

进程实体由程序段、相关的数据段和进程控制块三部分构成的,进程控制块是用来保证程序(含数据)能独立运行的一段程序。

进程有四个特点:动态性、并发性、独立性和异步性

动态性指的是进程有一定的生命期,“它由创建而产生,由调度而执行,由撤销而消亡”。例如你编辑一个文档,打开word时,进程创建,当文档编辑结束,你关闭了word,word这个进程就撤消了。

并发性指的是多个进程实体同时存在内存中,且能在一段时间内同时运行。例如,你可以一边编辑文档,一边听歌。这两个进程是同时工作的。

独立性指的是进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

异步性指的是进程按各自独立的、不可预知的速度向前推进。你一边编辑文档,一边听歌,哪个进程先结束是不可预知的,各自独立的。

我们如果同时按下ctrl+alt+delete,就可以看到一个window的进程管理器,这里列出了当前计算机正在执行的所有进程。如下图。

进程2.jpg

应用范围

进程可用来解决多个任务的执行问题。可以把一个大任务分解为几个小任务,每个小任务作为一个进程,这些进程既可以单独执行,也可以并发执行。

使用方法及步骤

应用1- 机器人和玩具的生产组装过程安排

案例:某工厂准备生产机器人和玩具,要生产的机器人可拆成头部,上半身和下半身以及螺丝(螺丝都是同样规格的)。玩具可以拆成车身,车轮和螺丝(螺丝和机器人的螺丝是同样规格)怎么安排生产过程?

解决步骤:

1. 设置若干个不同的生产线,分别负责机器人头部、上半身、下半身,车身,车轮。生产线可同时进行生产

2. 在下面每两条生产线之间设置一条螺丝生产线:

(1)头部、上半身;

(2)上半身、下半身;

(3)车身、车轮

当上面任意一组的两个部件生产出来后,可以安排生产人员进行组装

3. 当机器人的螺丝生产线不够用之后,可以使用汽车玩具的螺丝生产线

4. 将步骤2中(1)、(2)用螺丝组装成完整机器人

在这个解决方案中,负责生产机器人头部、上半身、下半身、车身、车轮的生产线就是五个不同的进程,这个五个进行可以各自分别执行,也可以同时执行,也可以增加螺丝生产线的新进程。

可以体现的计算思维

进程是一个大任务分出来的能和其他进程并发执行的独立单位,利用进程思想来划分大任务,可以有效提高任务执行效率和保存任务结果,体现了计算思维的分解特点。