---恢复内容开始---
1、并行与并发(parallelism and concurrency)
并行性和并发性是既相似又有区别的两个概念。
并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。
在多道处理程序环境下,并发性是指在一段时间内宏观上有多个程序在同时执行,但在单处理机系统中,每一时刻却仅能
有一道程序执行,故微观上这些程序只能是分时地交替执行。例如,在1秒钟时间内,0~15ms程序A执行;15~30ms程序B执行;
30~45ms内程序C执行;45~60ms程序D执行,因此可以说,在1秒中时间间隔内,宏观上有四道程序在同时运行,但在微观上,
程序A,B,C,D在分时地交替执行。
2、进程与线程
引入进程
在一个位引入进程的系统中,在属于同一个应用程序的计算程序和I/O程序之间只能是顺序执行,即只有在计算程序执行告一段落后,
才允许I/O程序执行;反之,在程序执行I/O操作时,计算程序也不能执行。但在为计算程序和I/O程序分别建立一个进程(Process)后,
这两个程序便可以并发执行。若对内存中的多个程序都分别建立一个进程,它们就可以并发执行,这样便能极大地提高系统资源利用率,增加
系统的吞吐量。
进程的定义
为了使参与并发执行的每个程序(含数据)都能够独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Proscess Control Block,PCB)。
系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段、相关数据段和PCB三部分便构成了进程实体。一般情况下,我们把进程实体
就简称为进程,例如,所谓创建进程,实质上就是创建进程实体的PCB;而撤销进程,实质上是撤销进程的PCB。
对于进程的定义,从不同的角度可以有不同的定义,其中较典型的定义有:
1、进程是程序的一次执行
2、进程是一个程序及数据在处理机上顺序执行时所发生的活动。
3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
线程(Threads)
人们在设计多道程序OS时,引入了进程的概念,从而解决了在单处理机环境下程序并发执行问题。
后来人们又提出了比进程更小的基本单位——线程的概念,试图用它来提高程序并发执行的程度。
目前我的理解是:线程是比进程更小的运行单位,一个进程可以被划分为多个线程。在一个支持线程
的系统中,线程是处理器的调度对象。线程作为处理器的调度单位,相当于进程中的一个控制点。由于
进程是资源的分配单位,所以一个进程中的线程共享进程的资源。线程之间的通信要比进程之间的通信
方便。
---恢复内容结束---