程序与进程的区别

合集下载

简答题(3份单面)

简答题(3份单面)

为什么要引入进程概念?为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制进程的基本特点是什么?动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的并发性:任何进程都可以同其他进程一起并发执行。

独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性:进程按各自独立的、不可预知的速度向前推进进程与程序有何联系和区别?(1)程序是指令的有序集合,其本身没有任何运行的含义它是一个静态的概念。

而进程是程序在处理机上的一次执行过程,它是一个动态概念。

(2)程序的存在是永久的。

而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。

(3)程序仅是指令的有序集合。

而进程则由程序、数据和进程控制块组成。

4)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程;而一个进程可以执行多个程序。

设系统中有n(n>2)个进程,且当前不执行进程调度程序,试考虑下述4种情况:上述情况中,不可能发生的情况是哪些?请说明原因。

就绪队列中有2个进程且n个进程处于等待状态,这样系统中就有n+2个进程,与题目条件不符合;另外如果没有运行进程且就绪队列非空,处理机不应休闲,而应该调度一个进程来运行,因此A错误。

在单用户系统中,有n个进程,问排在就绪队列和等待队列中进程个数的范围是什么?当资源不够用时他就自动挂起,只有等到资源被申请到时才进入队列所以一般<=n47 1)若系统中没有运行进程,是否一定没有就绪进程?为什么?若系统中既没有运行进程,也没有就绪进程,系统中是否就没有进程?为什么?有可能。

例如在系统死锁的情况下,进程处于占有等待资源的状态,应当即不属于运行态,也不属于就绪态;或者在进程都处于阻塞状态等待I/O完成时,这些进程即不属于运行态,也不属于就绪态。

在采用优先级进程调度时,运行进程是否一定是系统中优先级最高的进程?从调度性、并发性、拥有资源及系统开销几个方面,对进程和线程进行比较。

《操作系统》作业4

《操作系统》作业4

《操作系统》作业41.程序和进程区别联系⼀、进程和线程的基本概念进程,是并发执⾏的程序在执⾏过程中分配和管理资源的基本单位,是⼀个动态概念,竞争计算机系统资源的基本单位。

每⼀个进程都有⾃⼰的地址空间(进程空间或虚空间)。

进程有五种基本状态:初始态、执⾏态、等待状态、就绪状态、终⽌状态。

线程,是进程的⼀个实体,是CPU调度和分配的基本单位,⽐进程更⼩的能独⽴运⾏的基本单位,基本不拥有资源,只拥有⼀些在运⾏中必不可少的资源(如程序计数器、⼀组寄存器和栈),但是它可与同属⼀个进程的其它线程共享进程所拥有的全部资源。

⼀个线程可以创建和撤销另⼀个线程,同⼀个进程中的多个线程之间可以并发执⾏。

最适⽤使⽤线程的系统是多处理机系统、⽹络系统或分布式系统。

进程有独⽴的地址空间,⼀个进程崩溃后,在保护模式下不会对其它进程产⽣影响。

线程有⾃⼰的堆栈和局部变量,但线程之间没有单独的地址空间,⼀个线程死掉就等于整个进程死掉,所以多进程要⽐多线程的程序健壮,但在进程切换时耗费资源⼤,效率要差⼀些。

⼆、进程和线程的区别(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位;(2)并发性:进程之间可以并发执⾏,同⼀个进程间的线程也可以并发执⾏;(3)拥有资源:进程是拥有资源的⼀个独⽴单位,线程不拥有资源,但可以访问⾪属于进程的资源;(4)系统开销:在创建或者撤销进程时,由于系统都要为之分配和回收资源,导致系统的开销明显⼤于创建或者撤销线程时的开销;(5)运⾏:进程可以独⽴运⾏。

每个独⽴的线程有⼀个程序运⾏的⼊⼝、顺序执⾏序列和程序的出⼝。

但是线程不能够独⽴运⾏,必须依存在应⽤程序中,由应⽤程序提供多个线程执⾏控制;(6)地址空间:进程有⾃⼰独⽴的地址空间,⽽线程们共享进程的地址空间。

三、进程和线程的关系(1)⼀个线程只能属于⼀个进程,⽽⼀个进程可以有多个线程(⾄少⼀个);(2)资源分配给进程,同⼀进程的所有线程共享该进程的资源;(3)处理机分配给线程;(4)线程在执⾏过程中需要协作同步,不同进程的线程间要利⽤消息通信的办法实现同步。

试说明进程和程序之间的区别和联系

试说明进程和程序之间的区别和联系

第2章习题1试说明进程和程序之间的区别和联系。

解进程和程序是既有区别又有联系的两个概念。

(1)进程是动态的,程序是静态的。

程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。

离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。

程序可看作是电影的胶片,进程可以看作电影院放电影的过程。

(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。

(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。

(4)程序可以长期保存,进程只能存在于一段时间。

程序是永久存在的,而进程有从被创建到消亡的生命周期。

举例说明多道程序系统失去了封闭性和再现性。

解例如,有两个循环程序A和B,共享一个变量N。

程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。

程序A和B在多道程序系统中同时运行。

假定某时刻变量N的值为n,可能出现下述三种情况:(1)N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;(2)N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、0 、1;(3)N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。

所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。

两个并发进程P1和P2的程序代码在下面给出。

其中,A、B、C、D和E均为原语。

P1: begin P2: beginA; D;B; E;C; endend请给出P1、P2两个进程的所有可能执行的过程。

解P1和P2进程以不可预知的速度推进,它们所有可能的执行过程为:(1)A→B→C→D→E (2)A→B→D→E→C(3)A→B→D→C→E (4)A→D→B→E→C(5)A→D→B→C→E (6)A→D→E→B→C(7)D→E→A→B→C (8)D→A→B→C→E(9)D→A→B→E→C (10)D→A→E→B→C在操作系统中为什么要引入进程这一概念?解在单道程序设计环境下,CPU被一道程序独占,CPU严格按该程序的指令顺序来执行。

进程和程序的区别?

进程和程序的区别?
进程是程序的执行过程,程序是进程的静态存在形式。
进程是动态的,程序是静态的。
02
进程和程序的区别
进程是操作系统进行资源分配和执行计算的基本单位,每个进程都有自己的地址空间和系统资源。
程序是静态的代码,不占用系统资源,只有当程序被加载到内存中成为进程时,才会被执行。
调度方式
进程是并发执行的,可以同时执行多个不同的进程,每个进程都有自己的运行轨迹和执行顺序。
多任务系统通过同时执行多个进程来实现并行性。
进程之间的协作和通信是多任务系统中程序完成任务的关键。
进程序与多任务系统的关系
先来先服务(FCFS):按照进程到达的顺序分配CPU,直到进程完成或阻塞。
优先级调度(Priority Scheduling):为每个进程分配一个优先级,根据优先级确定进程执行顺序。
通过发送信号通知其他进程发生某种事件或者进行某种操作。
通过网络协议实现不同主机上的进程之间的通信。
进程间通信方式
消息队列
信号通信
网络通信
共享内存
04
进程管理
进程的创建主要通过操作系统提供的系统调用实现,如Linux系统中的fork()函数。在进程创建时,会复制父进程的地址空间并分配给新的子进程。
程序是一系列指令和数据的集合,是进程的基础和载体。
程序具有有序性、静态性、可重用性和可理解性等特性。
程序的定义和特性
进程和程序的关系
进程和程序是操作系统中两个基本的概念,它们之间相互依存、相互联系。
一个程序可以对应多个进程,但一个进程只能对应一个程序。
进程执行程序代码,程序作为静态实体供进程调用执行。
系统资源占用
03
进程和程序的互相影响
1

进程与程序的区别

进程与程序的区别

第二章处理器管理进程与程序的区别:程序是静止的进程是动态的。

进程包括程序和程序处理的对象(数据集)。

进程能得到程序处理的结果。

进程和程序并非一一对应的。

一各程序运行在不同的数据集上就构成了不同的进程。

通常把进程分为系统进程和用户进程两大类。

把完成操作系统功能的进程就称为系统进程,而完成用户功能的进程则称为用户进程。

程序分为三个可独立执行的程序模块:输入程序,处理程序,打印程序。

把一个程序在某个数据集上的一次执行称为进程。

每个进程都包含程序、数据集和进程控制块三个组成部分。

让多个计算机同时进入一个计算机系统的主存储器并行执行,这种程序设计方法称为多道程序设计,这样的计算机系统称为多道程序设计系统。

对具有处理器与外围设备并行工作能力的计算机采用多道程序设计的方法后,能充分发挥处理器的使用效率,增加单位时间的算题量。

把一个程序在一个数据集上的一次执行称为一个进程。

程序是静止的,进程是动态的。

进程有三种基本状态:等待态——等待某一事件;就绪态——等待系统分配处理器运行;运行态——正在占有处理器运行。

进程状态变化的情况:(1)、运行态→等待态;(2)、等待态→就绪态;(3)、运行态→就绪态;(4)、就绪态→运行态。

根据上述四个基本属性可概括为进程具有如下三个特征:·动态性进程是程序的一次执行过程,在执行的过程中进程状态不断发生变化;·并发性若干进程是可同时执行的,它们轮流占用处理器交替执行;·异步性进程的执行速度取决于自身与外界原因以及进程调度策略,因此以不可预知的速度向前推进。

·在计算机系统中,进程控制块就是对进程进行管理和调度的信息集合。

它包括四类信息:(1)、标识信息。

用于标识一个进程。

(2)、说明信息。

用于说明进程情况。

(3)、现场信息。

用于白流当前运行进程暂时让出处理器时存放在处理器中的各种信息,以便能在继续运行时得以恢复。

(4)、管理信息。

用于管理进程。

进程、线程、协程、例程、过程的区别是什么?

进程、线程、协程、例程、过程的区别是什么?

进程、线程、协程、例程、过程的区别是什么?引⾃我在知乎上的回答:⾸先解释下程序、进程、上下⽂切换和线程。

然后再解释协程、例程、过程。

程序程序:源代码堆起来的东西。

相当于⼀个⼀动不动没有⽣命的机器⼈。

虽然是没有⽣命的机器⼈,但是它被设计后就表⽰有了硬件,它的硬件决定了之后它有⽣命后是如何⼲活的机器⼈有优劣,所以有些优秀的机器⼈⼲活很快,⽽有些机器⼈⼲活很慢进程进程:程序在系统上跑起来(运⾏)之后的东西(动态的)。

相当于有了⽣命的机器⼈。

⽣命是内核给的,动起来的能⼒是CPU提供的驱动⼒。

因为在操作系统看来,它已经有了⽣命,会赋予它⼀些属性,⽐如它叫什么(PID),谁发明的(PPID),它在哪个范围内活动(地址空间).................内核会记录这个机器⼈的信息机器⼈可以造机器⼈(⽗⼦进程)它可以中断或睡眠。

⽐如机器⼈想充电,但是没电给它,它得等内核可以跟它交流,⽐如传递⼀些数据给它、传递信号给它它可以被毁掉。

⽐如进程崩溃或正常退出或被信号终⽌机器⼈毁掉后要为它收⼫,如果机器⼈偷偷死掉,就会没⼈给它收⼫⽽变成僵⼫进程严格地说,这个机器⼈运⾏起来之后虽然有了⽣命,但是没有灵魂,只有CPU给它驱动⼒的那⼀段时间,他才能动起来,其它时候都是在哪⾥睡觉.......上下⽂切换上下⽂切换:在某⼀时刻,⼀核CPU只能执⾏⼀个进程。

相当于内核只能让⼀核CPU为⼀个机器⼈提供驱动⼒让它动起来(1:1),多核CPU可以同时为多个机器⼈提供驱动⼒。

但是操作系统上有很多机器⼈在⼲活,所以内核要控制CPU不断的为不同机器⼈来回提供驱动⼒,这是进程切换(这是站在内核的⾓度上看的,也叫上下⽂切换)为了让你感觉机器⼈没有停⽌⼯作,内核控制只给每个机器⼈⼀点点的CPU时间⽚。

这就相当于转起来的电扇,你感觉没有间隙,其实是有的,只是间隙时间太短,⼈眼难辨。

现在可以脑部⼀下,⼀⼤堆的机器⼈在你⾯前完全不停的跳着⿁步舞....因为CPU要切换给不同的机器⼈提供驱动⼒,所以每次切换之前的机器⼈⼲活到了哪⾥以及它的状态得记录下来,这是上下⽂保留(保护现场)保护现场是必要的额外的⼯作,频繁上下⽂切换会浪费CPU在这些额外⼯作上.........线程线程:⼀个进程内可以有多个执⾏线程,或者说线程是进程内部的⼩型进程。

进程知识点总结

进程知识点总结

进程知识点总结一、进程的概念进程是程序在执行过程中的一个实例。

在操作系统中,每个进程都有独立的地址空间、数据、状态和资源。

进程可以看作是一个独立运行的程序,它在操作系统中占据一定的内存空间,并且可以执行和调度。

进程之间是相互独立的,它们可以并发执行,但是彼此之间无法直接访问彼此的资源。

二、进程的特征1. 动态性:进程是动态产生的,它在操作系统中被创建、执行和销毁,这是进程区别于程序的最主要特征。

2. 独立性:每个进程都有独立的内存空间和资源,它们之间是相互独立的,彼此之间无法直接访问对方的资源。

3. 并发性:多个进程可以在同一时间内并发执行,彼此之间是相互独立的,它们可以在同一时间内共享硬件资源,实现并发执行。

三、进程的状态转换进程在执行过程中会经历不同的状态,通常可以分为五种状态:新建状态、就绪状态、运行状态、阻塞状态和终止状态。

进程在不同的状态之间会发生状态转换,下面是进程状态转换的具体过程:1. 新建状态:当一个进程被创建后,它进入新建状态。

2. 就绪状态:当一个进程已经准备好运行,但是还没有被调度执行时,它处于就绪状态。

3. 运行状态:当一个进程被调度执行时,它进入运行状态。

4. 阻塞状态:当一个进程等待某个事件发生时,它进入阻塞状态。

5. 终止状态:当一个进程执行完毕或者被强制终止时,它进入终止状态。

四、进程控制块(PCB)进程控制块是操作系统中管理进程的数据结构,它包含了进程的信息和状态。

进程控制块存储进程的标识符、程序计数器、寄存器、状态、优先级、调度信息、内存分配信息等。

进程控制块的主要作用是保存和管理进程的状态信息,以便操作系统对进程进行调度和管理。

五、进程的并发与并行1. 并发:指的是多个进程在同一时间段内执行,它们共享系统的资源,可以在不同的处理器上执行,但是彼此之间并不一定是同时执行的。

并发的实现通过进程调度和分时使用处理器来实现。

2. 并行:指的是多个进程在同一时间点上同时执行,它们在同一时间内执行不同的任务,可以通过多处理器或者多核处理器来实现。

第4章习题及答案

第4章习题及答案

第四章习题及解答4-3 什么是进程?进程与程序的主要区别是什么?答:进程是一个具有一定独立功能的程序关于某个数据集合的一次活动。

进程与程序的主要区别是:(1) 程序是指令的有序集合,是一个静态概念。

进程是程序在处理机的一次执行过程,是一个动态概念。

进程是有生命期的,因创建而产生,因调度而执行,因得到资源而暂停,因撤消而消亡;(2) 进程是一个独立的运行单元,是系统进行资源分配和调度的独立单元,而程序则不是。

(3) 进程与程序之间无一一对应关系。

一个程序可以对应多个进程,一个进程至少包含一个程序。

4-4 图4.2标明程序段执行的先后次序。

其中:I表示输入操作,C表示计算操作,P 表示打印操作,下角标说明是对哪个程序进行上述操作。

请指明:(1)哪些操作必须有先后次序? 其原因是什么?(2)哪些操作可以并发执行? 其原因又是什么?答:(1) ①I n、C n和P n之间有先后顺序要求,这是由于程序本身的逻辑要求。

②使用同一设备的不同的程序段,如C1…C n,I1…I n,P1…P n,之间有先后顺序要求,这是由于设备某一时刻只能为一个程序服务。

(2) 不同程序使用不同设备时,占用不同设备,无逻辑关系,可以并发执行,如I2和C1;I3、C2和P1。

4-9 某系统进程调度状态变迁图如图4.31(1) 什么原因会导致发生变迁2、变迁3、变迁4 ?答:发生变迁2的原因:时间片到发生变迁3的原因:请求I/O或其他系统调用发生变迁4的原因:I/O完成或其他系统调用完成(2) 在什么情况下,一个进程的变迁3 能立即引起另一个进程发生变迁1 ?答:一个进程的变迁3 能立即引起另一个进程发生变迁的条件是,就绪队列非空。

(3) 下列因果变迁是否可能发生?若可能,需要什么条件?a. 2→1;b. 3→2;c. 4→1答:a. 2→1 不需要条件,一定会发生。

b. 3→2 不可能发生。

c. 4→1 可能发生,条件:就绪队列为空,或在可剥夺调度方式下,转变为就绪状态的进程优先级最高。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进程:是可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源分配和调度的独立单位
线程:指进程中的一条执行路径,是系统进行处理器调度的基本单位,同一个进程中的所有线程共享进程获得的主存空间和资源
进程和线程比较:1调度性:线程是独立调度和分配的基本单位。

2并发性:线程具有更高的并发性。

3拥有资源:线程仅有少量运行必须的资源,进程是拥有资源的单位。

4系统开销:线程的系统开销更小
(以前学操作系统时的笔记,希望对你有用
1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。

而进程则不同,它是程序在某个数据集上的执行。

进程是一个动态的实体,它有自己的生命周期。

它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。

反映了一个程序在一定的数据集上运行的全部动态过程。

2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。

而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。

一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。

而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。

3)进程还具有并发性和交往性,这也与程序的封闭性不同。

相关文档
最新文档