对应用
程序来说,
进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。 \x0d\x0a\x0d\x0a一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键 *** 作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。\x0d\x0a是可并发执行的程序。在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:活动性、并发性。进程可以划分为运行、阻塞、就绪三种状态,并随一定条件而相互转化:就绪--运行,运行--阻塞,阻塞--就绪。 \x0d\x0a\x0d\x0a进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是 *** 作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种 *** 作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。 \x0d\x0a危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于手工杀毒有起着关键性的作用。\x0d\x0a\x0d\x0a进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是 \x0d\x0a\x0d\x0a死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成 *** 作系统的各种 \x0d\x0a\x0d\x0a功能的进程就是系统进程,它们就是处于运行状态下的 *** 作系统本身;用户进程就是所有由你启动的进程。进程是 *** 作系统进行资源分配的单位。 \x0d\x0a\x0d\x0a在Windows下,进程又被细化为线程,也就
是一个进程下有多个能独立运行的更小的单位。\x0d\x0a1.进程的引入:\x0d\x0a 多道程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征。这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。 \x0d\x0a2.进程的概念:\x0d\x0a进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。\x0d\x0a进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。\x0d\x0a进程是 *** 作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计 *** 作系统都建立在进程的基础上。\x0d\x0a *** 作系统引入进程的概念的原因:\x0d\x0a从理论角度看,是对正在运行的程序过程的抽象;\x0d\x0a从实现角度看,是一种数据结构,目的在于清晰地刻划动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。\x0d\x0a3.进程的特征\x0d\x0a动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。\x0d\x0a并发性:任何进程都可以同其他进程一起并发执行\x0d\x0a独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;\x0d\x0a异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进\x0d\x0a结构特征:进程由程序、数据和进程控制块三部分组成。\x0d\x0a4.进程与程序的关系\x0d\x0a程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。\x0d\x0a程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。\x0d\x0a进程更能真实地描述并发,而程序不能;进程是由程序和数据两部分组成的。\x0d\x0a进程具有创建其他进程的功能,而程序没有。\x0d\x0a同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程。进程(Process)是最初定义在Unix等多用户、多任务 *** 作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。以Unix *** 作系统为例,进程是Unix *** 作系统环境中的基本成分、是系统资源分配的基本单位。Unix *** 作系统中完成的几乎所有用户管理和资源分配等工作都是通过 *** 作系统对应用程序进程的控制来实现的。
C、C++、Java等语言编写的源程序经相应的编译器编译成可执行文件后,提交给计算机处理器运行。这时,处在可执行状态中的应用程序称为进程。从用户角度来看,进程是应用程序的一个执行过程。从 *** 作系统核心角度来看,进程代表的是 *** 作系统分配的内存、CPU时间片等资源的基本单位,是为正在运行的程序提供的运行环境。进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由 *** 作系统维护的系统资源管理实体。
进程和程序的区别
①进程是程序的一次执行,属于动态概念,而程序是一组有序的指令,是一种静态概念。但进程离开了程序也就失去了存在的意义。
②一个进程可以执行一个或几个程序z反之,同一程序可能由几个进程同时执行。③程序可作为软件资源长期保留,而进程是程序的一次执行过程,是暂时的。进程具有生命期。
④进程具有并发性,能与其它进程并发运行。而程序不具备这种特征。
⑤进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位。因此,进程具有独立性,但有时进程间又具有相互制约性。
程序是静止的进程是动态的。没有建立进程的程序不能作为一个独立单位得到 *** 作系统的认可。一个程序可以对应多个进程,但一个进程只能对应一个程序。进程包括程序和程序处理的对象(数据集)。进程能得到程序处理的结果。进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。
当程序为procedure的译名时,一个程序即是特定的一系列动作、行动或 *** 作,而这些活动、动作或 *** 作必须被执行于相同方式以为了在相同环境下恒常得出相同的结果(例如紧急应变程序)。程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为进行某活动或过程所规定的途径。
程序是由序列组成的,告诉计算机如何完成一个具体的任务。由于现在的计算机还不能理解人类的自然语言,所以还不能用自然语言编写计算机程序。
评论列表(0条)