操作系统期末复习-----课时2进程的描述与控制

一、进程的概念

1.定义

从不同的角度,进程可以有不同的定义,比较典型的定义有:
(1)进程是程序的一次执行
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动
(3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
到这为止,俺发现对于进程和程序还是不清楚,哦豁,那就去baidu一下喽
在这里插入图片描述结果:

引用文本
程序和进程是两个既有联系又有区别的概念。
1、程序是指令的有序集合,是一个静态的概念;
而进程是程序在处理机上的一次执行过程,是一个动态的概念。
2、进程具有并发性,而程序没有。
3、进程是竞争计算机资源的基本单位,程序不是。
4、进程是由程序、数据和进程控制块组成,而程序仅是指令的有序集合。
5、进程与程序之间不是一一对应的,即同一程序运行于若干不同的数据集合上,它将属于若干个不同的进程;而一个进程可以执行多个程序
(哦豁,俺现在懂了)

在这里插入图片描述

2.组成

进程是由程序控制块(PCB)、程序段、数据段组成。
PCB:操作系统是通过PCB来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息,如进程描述信息、进程控制和管理信息、资源分配清单和处理机关相关信息。
程序段:程序代码存放的位置。
数据段:程序运行时使用、产生的运算数据。如全局变量、局部变量、宏定义的常量就存放在数据段内。

3.组织方式

进程的组织形式分为:链接方式和索引方式
**链接方式:**按照进程状态将PCB分为多个队列,操作系统持有指向各个队列的指针。
**索引方式:**根据进程的状态不同,建立几张索引表,操作系统持有指向各个索引表的指针。

4.进程的特征

动态性、并发性、独立性、异步性、结构性

二、进程的状态与转换

1.进程的状态

进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态体现一个进程的生命状态。
一般来说,进程有五个状态:
就绪、运行、阻塞(这三个是进程的基本状态,给laozi记住!!)、创建、终止(后面都有个状态~)
**创建态:**进程在创建时需要申请一个空白PCB(没错就是程序控制块),向其中填写控制和管理进程的信息完成资源分配。如果创建工作无法完成,比如资源无法满足就无法被调度运行,把此时进程所处的状态称为创建状态。
**运行态:**进程占用CPU,并在CPU上运行的状态。
**就绪态:**进程已具备运行条件,但由于未分配CPU无法运行状态。
**阻塞态:**进程因等待某个事件发生而暂时不能运行的状态。
**终止态:**进程结束,或出现错误,或被系统终止,进入终止状态。

2.状态的转换

在这里插入图片描述上述三种基本状态之间转换可分为六种情况:
运行—>就绪
(1)主要是进程占用CPU的时间过长,而系统分配给该进程占用CPU的时间是有限的;
(2)在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行时,该进程就被迫让出CPU,该进程便由运行状态转变为就绪状态。
就绪—>运行:正运行进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU。
运行—>阻塞:正在运行的进程因发生某等待事件而无法执行,则进程由运行态变为阻塞态,如发生了I/O请求。
阻塞—>就绪:进程所等待的事件已经完成,就进入就绪队列。
注:阻塞态—>运行态和就绪态—>阻塞态这两种状态转换是不可能发生的。

三、进程通信

1.进程通信是指进程之间的信息交换。

PV操作是最低级的通信,高级通信方式是指以较高的效率传输大量数据的通信方式。
高级通信方式主要有三类:
(1)共享存储
分别有基于共享数据结构的通信方式,例如生产者和消费者、基于共享存储区的通信方式。
(2)消息传递
是以格式化的消息为单位,利用原语传递消息,分为直接通信和间接通信。
(3)管道通信
是消息传递的一种特殊方式,是指用于连接一个读进程和一个写进程以实现它们之间的一个共享文件,又称pipe文件。

四、线程

1.线程的引入

引入线程的目的是为了简化进程间的通信,以较小的开销来提高进程内的并发程度。
线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。
一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。

2.线程—作为调度和分配的基本单位

进程是系统资源分配的单位,线程是处理器调度的单位。
线程表示进程的一个控制点,可以执行一系列的指令。通常,和应用程序的一个函数相对应。进程分解为线程还可以有效利用多处理器和多核计算机。

3.线程与进程的比较

(1)进程与线程的区别:
A.调度。线程是调度和分配的基本单位,进程是拥有资源的基本单位。
B.并发性。不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行。
C.拥有资源。进程是拥有资源的一个 独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。
D.系统开销。在创建或撤销进程时,由于系统都要为之分配和回收资源导致系统的开销明显大于创建或撤销线程时的开销。
(2)进程与线程的关系:
A.一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
B.资源分配给进程,同一进程的所有线程共享该进程的所有资源。
C.处理机是分配给线程的,即真正在处理机上运行的是线程。
D.线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52030647/article/details/130568048