程序与进程的区别是什么?

程序与进程的区别是什么?,第1张

1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。\x0d\x0a \x0d\x0a2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是 执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程 肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。\x0d\x0a \x0d\x0a3)进程还具有并发性和交往性,这也与程序的封闭性不同。

进程(Process)是最初定义在Unix等多用户、多任务 *** 作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。以Unix *** 作系统为例,进程是Unix *** 作系统环境中的基本成分、是系统资源分配的基本单位。Unix *** 作系统中完成的几乎所有用户管理和资源分配等工作都是通过 *** 作系统对应用程序进程的控制来实现的。

C、C++、Java等语言编写的源程序经相应的编译器编译成可执行文件后,提交给计算机处理器运行。这时,处在可执行状态中的应用程序称为进程。从用户角度来看,进程是应用程序的一个执行过程。从 *** 作系统核心角度来看,进程代表的是 *** 作系统分配的内存、CPU时间片等资源的基本单位,是为正在运行的程序提供的运行环境。进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由 *** 作系统维护的系统资源管理实体。

进程和程序的区别

①进程是程序的一次执行,属于动态概念,而程序是一组有序的指令,是一种静态概念。但进程离开了程序也就失去了存在的意义。

②一个进程可以执行一个或几个程序z反之,同一程序可能由几个进程同时执行。③程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程具有生命期。

④进程具有并发性,能与其它进程并发运行。而程序不具备这种特征。

⑤进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。因此,进程具有独立性,但有时进程间又具有相互制约性。

进程与程序的主要区别:

(1)程序是永存的,进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的。

(2)程序是静态的观念,进程是动态的观念。

(3)进程具有并发性,而程序没有。

(4)进程是竞争计算机资源的基本单位,程序不是。

进程的调度算法

实时系统中:FIFO(First Input First Output,先进先出算法),SJF(Shortest Job First,最短作业优先算法),SRTF(Shortest Remaining Time First,最短剩余时间优先算法)。

交互式系统中:RR(Round Robin,时间片轮转算法),HPF(Highest Priority First,最高优先级算法),多级队列,最短进程优先,保证调度,彩票调度,公平分享调度。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10950655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存