预备知识
本实验要求实验者具备如下的相关知识:
1.进程、线程
进程(Process)和线程(Thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。
进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。
在此介绍一个很好的类比,可以把它们解释地清晰易懂。
(1)计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。
(2)假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。
(3)进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。
(4)一个车间里,可以有很多工人。他们协同完成一个任务。
(5)线程就好比车间里的工人。一个进程可以包括多个线程。
(6