2024年10月进程是一段程序的执行过程(程序,进程,作业之间的区别和联系)

 更新时间:2024-10-12

  ⑴进程是一段程序的执行过程(程序,进程,作业之间的区别和联系

  ⑵程序,进程,作业之间的区别和联系

  ⑶进程更能真实地描述并发,而程序不能。(进程由程序和数据两部分组成,进程是竞争计算机系统有限资源的基本单位,也是进程处理机调度的基本单位。(程序是静态的概念;进程是程序在处理机上一次执行的过程,是动态的概念。(进程有生存周期,有诞生有消亡。是短暂的;而程序是相对长久的。(一个程序可以作为多个进程的运行程序;一个进程也可以运行多个程序。(进程具有创建其他进程的功能;而程序没有。????一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成的某项任务,是要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成个阶段。而进程是对已提交完毕的程序所执行过程的描述,是资源分配的基本单位。其主要区别如下。???(作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。???(一个作业可由多个进程组成,且必须至少由一个进程组成,反过来则不成立。???(作业的概念主要用在批处理系统中,像UNIX这样的分时系统中就没有作业的概念。而进程的概念则用在几乎所有的多道程序系统中。????一个作业通常包括程序、数据和操作说明书部分。每一个进程由PCB进程控制块、程序和数据集合组成。这说明程序是进程的一部分,是进程的实体。因此,一个作业可划分为若干个进程来完成,而每一个进程有其实体————程序和数据集合。进程控制块的内容包括:进程描述信息:进程名或进程标识号:每个进程都有唯一的进程名或进程标识号。进程的状态反映进程执行进程的变化。如果找到了所要撤消的进程的PCB结构,则撤消原语释放该进程所占有的资源之后,把对应的PCB结构从进程链或进程家族中摘下并返回给PCB空队列。如果被撤消的进程有自己的子进程,则撤消原语先撤消其子进程的PCB结构并释放子进程所占用的资源之后,再撤消当前进程的PCB结构和释放其资源。程序是指专处理某一问题的计算机工具。进程是指此程序运行中的进度?。线程指计算机在处理文件时是一个个顺序处理,在第一个文件处理时第二个文件也开始运行,这样在计算机内在一段时间内就有两个文件在运行,这种两文件同时运行的叫线程。作业指用户在一次解决或是一个事务处理过程中要求计算机系统所做的工作的集合。现在来说明进程的定义:进程是进程实体的一次执行过程,是系统进行资源分配和调度的一个独立单位。它是一个动态概念。线程:随着多处理机系统的发展,提高程序的并发执行程度的要求越来越高。为提高系统的并发执行度,进而引入了线程的概念。线程是比进程更小的能独立运行的基本单位(故又称“轻型进程”,更好的提高了程序的并发执行程度充分发挥了多处理机的优势。

  ⑷进程的引入多道程序系统中,程序具有:并行、制约以及动态的特征。程序概念难以便是和反映系统中的情况:.程序是一个静态的概念程序是完成某个功能的指令集和。系统实际上是出于不断变化的状态中,程序不能反映这种动态性。.程序概念不能反映系统中的并行特性例如:两个C语言源程序由一个编译程序完成编译,若用程序概念理解,内存中只有一个编译程序运行(两个源程序看作编译程序的输入数据,但是这样无法说明白内存中运行着两个任务。程序的概念不能表示这种并行情况,反映不了他们活动的规律和状态变化。就像不能用菜谱(程序代替炒菜(程序执行的过程一样(这句话我稍微修改了一下,感觉应该是这样表诉才对。二、进程的定义进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运行的基本单位。三、进程与程序的差别.进程是一个动态的概念进程是程序的一次执行过程,是动态概念。程序是一组有序的指令集和,是静态概念。.不同的进程可以执行同一个程序区分进程的条件:所执行的程序和数据集合。两个进程即使执行在相同的程序上,只要他们运行在不同的数据集合上,他们也是两个进程。例如:多个用户同时调用同一个编译程序编译他们编写的C语言源程序,由于编译程序运行在不同的数据集合(不同的C语言源程序上,于是产生了一个个不同的进程。.每个进程都有自己的生命周期当操作系统要完成某个任务时,它会创建一个进程。当进程完成任务之后,系统就会撤销这个进程,收回它所占用的资源。从创建到撤销的时间段就是进程的生命期。.进程之间存在并发性在一个系统中,同时会存在多个进程。他们轮流占用CPU和各种资源。.进程间会相互制约进程是系统中资源分配和运行调度的单位,在对资源的共享和竞争中,必然相互制约,影响各自向前推进的速度。.进程可以创建子进程,程序不能创建子程序.从结构上讲,每个进程都由程序、数据和一个进程控制块(ProcessControlBlock,PCB组成四、进程的重要特征.动态特征:进程对应于程序的运行,动态产生、消亡,在其生命周期中进程也是动态的。.并发特征:任何进程都可以同其他进程一起向前推进。.独立特征:进程是相对完整的调度单位,可以获得CPU,参与并发执行。.交往特征:一个进程在执行过程中可与其他进程产生直接或间接关系。.异步特征:每个进程都以相对独立、不可预知的速度向前推进。.结构特征:每个进程都有一个PCB作为他的数据结构。进程最基本的特征是并发和共享特征。五、进程的状态与转换.进程的三种基本状态a.运行状态:获得CPU的进程处于此状态,对应的程序在CPU上运行着。b.阻塞状态:为了等待某个外部事件的发生(如等待I/O操作的完成,等待另一个进程发来消息,暂时无法运行。也成为等待状态。c.就绪状态:具备了一切运行需要的条件,由于其他进程占用CPU而暂时无法运行。.进程状态转换a.运行状态===》阻塞状态:例如正在运行的进程提出I/O请求,由运行状态转化为阻塞状态。b.阻塞状态===》就绪状态:例如I/O操作完成之后,由阻塞状态转化为就绪状态。c.就绪状态===》运行状态:例如就绪状态的进程被进程调度程序选中,分配到CPU中运行,由就绪状态转化为运行状态。d.运行状态===》就绪状态:处于运行状态的进程的时间片用完,不得不让出uCPU,由运行状态转化为就绪状态。.进程的类型a.系统进程:操作系统用来管理资源的进程,当系统进程处于运行态时,CPU处于管态,系统之间的关系由操作系统负责。b.用户进程:操作系统可以独立执行的的用户程序段,当用户进程处于运行态时,CPU处于目态,用户进程之间的关系由用户负责。六、进程控制块.进程的三个组成部分a.程序b.数据c.进程控制块(PCB:为了管理和控制进程,系统在创建每个进程时,都为其开辟一个专用的存储区,用以记录它在系统中的动态特性。系统根据存储区的信息对进程实施控制管理。进程任务完成后,系统收回该存储区,进程随之消亡,这一存储区就是进程控制块。PCB随着进程的创建而建立,撤销而消亡。系统根据PCB感知一个进程的存在,PCB是进程存在的唯一物理标识(这一点可以类比作业控制块JCB。.进程控制块的内容PCB在不同的语言中,可能用不同的数据结构表示。为了系统管理和控制进程方便,系统常常将所有进程的PCB存放在内存中系统表格区(这是什么区?不懂,待我仔细查查,并按照进程内部标号由小到大顺序存放。整个系统中各进程的的PCB集合可用数组表示。这时进程内部标号可以与数组元素下标联系。各系统预留的PCB空间往往是固定的,如UNIX系统中规定进程数量不超过个(这一点我有点怀疑。操作系统不同,PCB的格式、大小及内容也不尽相同。一般的,应该包含如下四个信息。a.标识信息:进程名。b.说明信息:进程状态、程序存放位置。c.现场信息:通用寄存器内存、控制寄存器内存、断点地址。d.管理信息:进程优先数、队列指针。七、进程控制块的组织系统中,有着许多不同状态的进程,处于阻塞状态的进程阻塞原因各不相同,为了便于调度和管理,常将进程控制块PCB用适当的方法组织起来。.线性结构把所有不同状态的进程的PCB组织在一个表格中。最简单,适用于进程数目不多的操作系统,如UNIX系统,缺点是调用时,往往需要查询整个PCB表,时间复杂度略高。.索引结构分别把具有不同状态的进程PCB组织在同一个表中,于是有就绪进程表、运行进程表(多机系统中,还有现在的多核系统应该也有吧以及各种等待事件的阻塞进程表。系统中的一些固定单元分别指出各表的起始地址。.链式结构采用队列形式时,每个进程的PCB中要增加一个链指针表项,指向队列的下一个PCB起始地址。

  ⑸进程和程序的区别①进程是程序的一次执行

  ⑹进程和程序的区别①进程是程序的一次执行,属于动态概念,而程序是一组有序的指令,是一种静态概念。但进程离开了程序也就失去了存在的意义。②一个进程可以执行一个或几个程序z反之,同一程序可能由几个进程同时执行。③程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程具有生命期。④进程具有并发性,能与其它进程并发运行。而程序不具备这种特征。⑤进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。因此,进程具有独立性,但有时进程间又具有相互制约性。例如我用百度搜索引擎(程序搜索一个人,这次过程就是进程。

  ⑺线程和进程有什么区别

  ⑻进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。

  ⑼线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。

  ⑽个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多个任务。

  ⑾线程是一种轻量级的进程,与进程相比,线程给操作系统带来侧创建、维护、和管理的负担要轻,意味着线程的代价或开销比较小。

  ⑿线程没有地址空间,线程包含在进程的地址空间中。线程上下文只包含一个堆栈、一个寄存器、一个优先权,线程文本包含在他的进程的文本片段中,进程拥有的所有资源都属于线程。所有的线程共享进程的内存和资源。?同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,寄存器的内容,栈段又叫运行时段,用来存放所有局部变量和临时变量。

  ⒀父和子进程使用进程间通信机制,同一进程的线程通过读取和写入数据到进程变量来通信。

  ⒁进程内的任何线程都被看做是同位体,且处于相同的级别。不管是哪个线程创建了哪一个线程,进程内的任何线程都可以销毁、挂起、恢复和更改其它线程的优先权。线程也要对进程施加控制,进程中任何线程都可以通过销毁主线程来销毁进程,销毁主线程将导致该进程的销毁,对主线程的修改可能影响所有的线程。

  ⒂子进程不对任何其他子进程施加控制,进程的线程可以对同一进程的其它线程施加控制。子进程不能对父进程施加控制,进程中所有线程都可以对主线程施加控制。

  ⒃进程和线程都有ID/寄存器组、状态和优先权、信息块,创建后都可更改自己的属性,都可与父进程共享资源、都不鞥直接访问其他无关进程或线程的资源。进程和线程

  ⒄一个进程就是一个程序吗只能有一个cpu运行吗

  ⒅什么是操作系统的进程

  ⒆先看看进程是什么?进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序。危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”,那么及时查看并准确杀掉非法进程对于手工杀毒有起着关键性的作用。进程管理就是管理进程能知道进程使用CPU,内存,虚拟内存,使用多少,能结束某个进程。能结束不能关闭的程序。

  ⒇进程是操作系统中最基本、重要的概念,是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。狭义上讲,进程是正在运行的程序的实例;广义上讲,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统进行资源分配和调度、动态执行的基本单元,是操作系统结构的基础,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。其概念主要有两点:(进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。(进程是一个“执行中的程序”。只有在操作系统、处理器执行程序时,它才能成为一个活动的实体,我们称其为进程。从理论角度看,进程是对正在运行的程序过程的抽象;从实现角度看,它是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。一、进程具有以下特点:(动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生、动态消亡的。(并发性:任何进程都可以与其他进程一起并发执行。(独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。(异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。(结构特征:进程由程序、数据和进程控制块三部分组成。二、进程、线程和程序的联系:通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。此外多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程,也就是说同一程序可以对应多个进程。三、进程和程序的区别:(程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念,而进程是程序在处理机上的一次执行过程,它是一个动态的概念。(程序可以作为一种软件资料长期存在,而进程是有一定生命期的。(程序是永久的,进程是暂时的。(进程更能真实地描述并发,而程序不能。(进程是由进程控制块、程序段、数据段三部分组成。(进程具有创建其他进程的功能而程序没有。(在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。四、进程具有的三种基本状态由于进程在执行过程中具有动态性和异步性,因此也就决定了进程可能具有多种状态。(就绪状态(Ready:进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。(运行状态(Running):进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。(阻塞状态(Blocked):由于进程等待某种条件(如I/O操作或进程同步,在条件满足之前无法继续执行。该事件发生前即使把处理器资源分配给该进程,也无法运行。五、创建进程的事件在多道程序环境中,只有作为进程时才能在系统中运行。因此,为了让程序能运行,就必须为它创建进程。一个进程去创建另一个进程的典型事件,可以有以下四类:(用户登录:在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程,并把它插入到就绪队列中。(作业调度:在批处理系统中,当作业调度程序按照一定的算法调度到某作业时,便将该作业装入到内存,为它分配必要的资源,并立即为它创建进程,再插入到就绪队列中。(提供服务:当运行中的用户程序提出某种请求后,系统将专门创建一个进程来提供用户所需要的服务,例如,用户程序要求进行文件打印,操作系统将为它创建一个打印进程,这样,不仅可以使打印进程与该用户进程并发执行,而且还便于计算出为完成打印任务所花费的时间。(应用请求:在上述三种情况中,都是由系统内核为它创建一个新进程,而这一类事件则是基于应用进程的需求,由它创建一个新的进程,以便使新进程以并发的运行方式完成特定任务。六、进程的创建过程一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语create()按下述步骤创建一个新进程。(申请空白PCB。为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。(为新进程分配资源。为新进程的程序和数据以及用户栈分配必要的内存空间。显然,此时操作系统必须知道新进程所需要的内存大小。(初始化进程控制块。PCB的初始化主要包括:初始化标识信息,将系统分配的标识符和父进程标识符,填入新的PCB中;初始化处理机状态信息,使程序计数器指向程序的入口地址,使栈指针指向栈顶;初始化处理机控制信息,将进程的状态设置为就绪状态或静止就绪状态,对于优先级,通常是将它设置为最低优先级,除非用户以显式的方式提出高优先级要求。(将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入到就绪队列中。七、引起进程终止的事件(正常结束:在任何计算机系统中,都应该有一个表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Hold指令或终止的系统调用。当程序运行到Hold指令时,将产生一个中断,去通知OS本进程已经完成。(异常结束:在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有:越界错误,保护错,非法指令,特权指令错,运行超时,等待超时,算术运算错,I/O故障。(外界干预:外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有:操作员或操作系统干预、父进程请求、父进程终止。八、进程的终止过程如果系统发生了上述要求终止进程的某事件后,OS便调用进程终止原语,按如下过程去终止指定的进程。(根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程状态。(若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真。用于指示该进程被终止后应重新进行调度。(若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。(将被终止的进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。(将被终止进程(它的PCB从所在队列(或链表中移出,等待其它程序来搜集信息。九、阻塞唤醒、引起进程阻塞和唤醒的事件(请求系统服务:当正在执行的进程请求操作系统提供服务时,由于某种原因,操作系统并不立即满足该进程的要求时,该进程只能转变为阻塞状态来等待,一旦要求得到满足后,进程被唤醒。(启动某种操作:当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则必须先使该进程阻塞,以等待该操作完成,该操作完成后,将该进程唤醒。(新数据尚未到达:对于相互合作的进程,如果其中一个进程需要先获得另一(合作进程提供的数据才能运行以对数据进行处理,则是要其所需数据尚未到达,该进程只有(等待阻塞,等到数据到达后,该进程被唤醒。(无新工作可做:系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来以等待新任务到来,新任务到达后,该进程被唤醒。.进程阻塞过程正在执行的进程,当发现上述某事件后,由于无法继续执行,于是进程便通过调用阻塞原语block()把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为。进入block过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块中的现行状态由执行改为阻塞,并将PCB插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机状态(在PCB中,再按新进程的PCB中的处理机状态设置CPU环境。.进程唤醒过程当被阻塞的进程所期待的事件出现时,如I/O完成或者其所期待的数据已经到达,则由有关进程(比如,用完并释放了该I/O设备的进程调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。

  ⒈进程和线程是两个相对的概念,通常来说,一个进程可以定义程序的一个实例。在Win中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,正是这个线程负责包含进程地址空间中的代码。实际上,一个进程可以包含几个线程,它们可以同时执行进程地址空间中的代码。为了做到这一点,每个线程有自己的一组CPU寄存器和堆栈。每个进程中至少有一个线程在执行其地址空间中的代码。如果没有线程执行进程地址空间中的代码,进程也就没有继续存在的理由,系统将自动清除进程及其地址空间。

您可能感兴趣的文章:

相关文章