【程序、作业、进程、线程】
程序:是一组计算机能够识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具
作业:用户在一次计算过程中或一次事物处理过程中要求计算机系统所做的工作的集合,它是一个比程序更广的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在系统中,是以作业为基本单位从外存调入内存的。
作业步:一个作业分为若干个顺序处理的作业单位,各个作业之间存在着相互联系,往往是上一个作业步的输出作为下一个作业步的输入。
作业控制块:为每个作业设置了一个作业控制块JCB,它是作业在系统中存在的标志。
进程:1、进程是程序的一次执行 2、进程是一个程序及其数据在处理机上顺序执行时所发生的活动 3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位 4、它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体,是系统进行资源分配和调度的基本单位。
线程:1、在操作系统中引入线程,是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性 2、线程是进程中的一个实体,是被系统独立调度和分配的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源,一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行,线程在运行中呈现出间断性。每一个程序都至少有一个线程,那就是程序本省。
1、【程序与作业】
作业是程序里的某个单独的环节,所以一个程序可能有多个作业构成,一个作业可划分为若干个进程来完成,而每一个进程有其实体——程序和数据集合
2、【程序与进程】
进程是动态的而暂时的,程序是静态而永久得到。
进程具有并发性,而程序没有。
不同的进程可以基于同一程序来创建,只是对应的数据集不同。
某进程在执行过程中可调用多个程序(创建多个子进程)。
进程有一定的生命期,而程序是指令的集合,本身无“运动”含义。
没有建立进程的程序不能作为一个独立任务单位得到操作系统的认可。
进程包括程序代码、数据和进程控制块。
3【进程与作业】
作业是用户向计算机提交任务的任务实体,进程是完成用户任务的执行实体,是向系统申请分配资源的基本单位。
一个作业可由多个进程组成,且至少由一个进程组成(根进程)。
作业主要应用于批处理系统,进程应用于所有多道程序系统。
4【进程与线程】
一个线程只能属于一个进程,而一一个进程可以有多个线程,但至少有一-个线程。
资源分配给进程,同一进程的所有线程共享该进程的所有资源。
处理机分给线程,即真正在处理机上运行的是线程。
调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。