程序和进程的概念

程序和进程的概念,第1张

程序是指一套软件,它由多个文件相互配合来运行,给你完成工作。

比如你打开网站运行的就是IE浏览器程序

进程是相对系统而言,现从DOS系统以后,windows系统都是多任务系统,也就是它可以同时处理多样事务,也就是可以同时运行多个程序,一个程序也可以运行多次,

每个程序运行一次,都必须占用一个以上进程

比如你打开一个网页窗口,该程序就占了一个进程,

如果你打开多个网页窗口,IE就会启运多个进程。

这些都可以打开“任务管理器”“进程”中查看的到。

你结束了该进程,相应的软件也就会关闭。

答:(1)作业、进程和程序之间的联系:一个作业通常包括程序、数据和 *** 作说明书三部分。每一个进程由PCB、程序和数据集合组成,这说明程序是进程的一部分,是进程的实体。因此,一个作业可划分为若干个进程来完成,而每个进程又都有其实体一程序和数据集合。

(2)进程和程序的区别

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

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

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

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

运行程序:

创建子进程源程序

运行结果:

获得父子进程的Process Identification

分析运行结果:

创建新进程成功,出现两个进程,一个是子进程,一个是父进程。

父进程的Process Identification=3!

子进程的Process Identification=4!

fork仅仅被调用一次,却能够返回两次

1)在父进程中,fork返回新创建子进程的进程ID=4;

2)在子进程中,fork返回0;

进程的定义:“进程”是 *** 作系统的最基本、最重要的概念之一。但迄今为止对这一概念还没有一个确切的统一的描述。下面给出几种对进程的定义描述。l进程是程序的一次执行。l进程是可以并行执行的计算。l进程是一个程序与其使用的数据在处理机上顺序执行时发生的活动。l进程是程序在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。2)进程的特征:动态性:是程序的一次执行;并发性:进程是可以并发执行;独立性:是系统进行资源分配和调度的一个独立单位;异步性:进程间的相互制约,使进程执行具有间隙;结构性:进程是具有结构的。;3)进程与程序的主要区别: (1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;(2)程序是静态的观念,进程是动态的观念;(3)进程具有并发性,而程序没有;(4)进程是竞争计算机资源的基本单位,程序不是。(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序

进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。

进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。

通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的 *** 作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。

线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。

线程与进程的区别归纳:

a地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

b通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

c调度和切换:线程上下文切换比进程上下文切换要快得多。

d在多线程OS中,进程不是一个可执行的实体。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

首先我们搞清楚什么是程序、什么是进程、什么是线程?然后我们罗列一下可能的规划。

程序:代码实现了功能,就是程序,是静态的;程序是存储在磁盘上。

进程:执行中的程序就是进程,是动态的;

线程:进程内的一个执行单元,也是进程内的可调度实体,可以并发执行提高了进程的效率。

逻辑是静态的代码, 线程 进程是逻辑执行单元实体 ,cpu硬件才是真正的执行器

客户端触发者也需要进程线程cpu

人 浏览器

call rpc

调度

通讯层

业务逻辑层

数据层

简单示例

curl tomcat

进程分析 两个

客户端curl进程

服务端jvm进程

线程分析 一对多

curl 单进程单线程

服务端jvm进程里面线程就多了去了 简简单单也要一二十个

jvm线程组

tomcat线程组

worker线程组

为什么服务端程序这么多线程,都是干什么用的?

真实场景线程更多

精灵辅助线程

连接池维护

心跳维护

业务处理线程池

批处理线程池

如果需要更多组件

正向反向代理

缓存加速

数据库

消息服务器 日志归集 报警监控

启动更多的进程 线程 那就需要更多的计算资源cpu

程序是静止的进程是动态的。没有建立进程的程序不能作为一个独立单位得到 *** 作系统的认可。一个程序可以对应多个进程,但一个进程只能对应一个程序。进程包括程序和程序处理的对象(数据集)。进程能得到程序处理的结果。进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。

当程序为procedure的译名时,一个程序即是特定的一系列动作、行动或 *** 作,而这些活动、动作或 *** 作必须被执行于相同方式以为了在相同环境下恒常得出相同的结果(例如紧急应变程序)。程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为进行某活动或过程所规定的途径。

程序是由序列组成的,告诉计算机如何完成一个具体的任务。由于现在的计算机还不能理解人类的自然语言,所以还不能用自然语言编写计算机程序。

以上就是关于程序和进程的概念全部的内容,包括:程序和进程的概念、进程与程序的异同、【 *** 作系统】运行下列程序,给出运行结果并分析运行结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10088384.html

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

发表评论

登录后才能评论

评论列表(0条)

保存