操作系统概论之【进程管理】进程的描述

为什么要引入进程的概念?

一、程序的顺序执行与并发执行

1、顺序执行

(1)含义:先进入内存的程序先执行,在一个程序执行完毕之前,不能执行其他程序
(2)特点:顺序性、封闭性、可再现性
(3)存在的问题:多设备无法同时工作。
在这里插入图片描述

2、并发执行

注:此处为“并发”而非“并行”!
并发:两个或多个事件在同一时间间隔内发生。
并行:两个或多个事件同一时刻发生。

(1)含义:程序并发执行是指在同一时间间隔内运行多个程序。一个程序执行结束前,可以运行其他程序。

  • 宏观并行:用户看到多个程序同时向前推进。
  • 微观串行:任意时刻一个CPU上只有一个程序在执行。

(2)特点:间断性、失去封闭性、不可再现性

特点描述各特点之间的关联实例
间断性程序在CPU上执行时,是时断时续的因共享资源且资源是有限的,导致时断时续,故导致间断性
失去封闭性系统的状态不再只对正在执行的程序可见由于时断时续,导致失去了封闭性12306买票可以实时看到票的剩余情况
不可再现性同一个程序在输入相同的情况下多次运行,可能出现不同的结果由于失去了封闭性,故不可再现

二、进程的概念

1、定义

  • 定义1:允许并发执行的程序在某个数据集合上的运行过程。
  • 定义2:进程 = 正文段 + 用户数据段 + 进程控制块(PCB)

2、特征

  • 并发性:多个进程实体能在一段时间间隔内同时运行
  • 动态性:进程是实体的执行过程
  • 独立性:独立运行和资源调度的基本单位
  • 异步性:进程的执行时断时续,何时执行、何时暂停都无法预知
  • 结构特征:进程实体包括用户正文段、用户数据段进程控制块

3、进程与程序的比较

区别:

  • 程序是静态、永久、指令的集合。
  • 进程是动态、暂时、包括正文段、用户数据段、进程控制块。

联系:

  • 进程是程序的的一次执行
  • 一个程序可以对应多个进程,同一个进程能顺序地执行几个程序。

三、进程控制块(PCB)

定义:进程控制块是进程实体的一部分,是操作系统中最重要的数据结构
进程控制块中记录了操作系统所需要的、用于描述进程及控制进程运行所需的全部信息

  • 进程标识符信息:用于唯一标识一个进程。进程标识符用于唯一标识一个进程。 进程控制块中除了存有本进程的标识符外,还存放其父进程、子进程的标识符。
  • 处理机状态信息:通用寄存器、指令计数器、程序状态字PSW、用户栈指针。
  • 进程调度信息:包括进程状态信息、进程优先级和进程调度所需的其他信息。
  • 进程控制信息:包括程序和数据的地址、进程同步和通信机制、资源清单,以及链接指针。

四、进程的状态

在这里插入图片描述

五、进程的组织

在这里插入图片描述

1、链接方式

把系统中具有相同状态的进程控制块PCB用其中的链接字连成一个队列。
在这里插入图片描述

2、索引方式

系统根据所有进程的状态,建立索引表,索引表的每一个表项指向一个PCB物理块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、进程队列

把具有相同状态的进程控制块用队列组织起来。
在这里插入图片描述

六、进程的控制

1、创建

什么情况下需要创建新进程?
  用户登录、作业调度、提供服务、应用请求。

  • 进程创建的过程? / 创建新进程的步骤?
    • (1)申请空白PCB
    • (2)为新进程分配资源
    • (3)初始化进程控制块
    • (4)将新进程插入到就绪队列
  • 当新进程被创建时,有两种执行可能:
    • (1)父进程与子进程并发执行。
    • (2)父进程等待,直到某个或全部子进程执行完毕。
  • 新进程的地址空间也有两种可能:
    • (1)子进程共享父进程的地址空间。
    • (2)子进程拥有独立地址空间。
      在这里插入图片描述

2、阻塞

什么情况下会进行进程的阻塞?
  请求系统服务、启动某种操作、新数据尚未到达、无新工作可做。

  • 进程阻塞的过程?
    • (1)将进程的状态改为阻塞态;
    • (2)将进程插入相应的阻塞队列;
    • (3)转到进程调度程序,从就绪队列中选择进程为其分配CPU。
      在这里插入图片描述

3、唤醒

  • 进程唤醒的过程?
    • (1)将进程从阻塞队列中移出;
    • (2)将进程状态由阻塞态改为就绪态;
    • (3)将进程插入就绪队列。
      在这里插入图片描述

4、终止

什么情况下会进程会被终止?
  进程正常执行完毕。

  • 进程终止的过程?
    • (1)从进程PCB中读进程状态;
    • (2)若进程正在执行,则终止进程的执行
    • (3)释放资源;
    • (4)将终止进程的PCB移出。

七、进程通信

本质:不同进程之间的信息交换

  • 共享存储器系统:相互通信的进程共享某些数据结构或共享存储区。
  • 消息传递系统:进程间通过操作系统提供的一组通信程序传递消息。
  • 管道通信:进程间通过管道(链接读写进程的特殊文件)进行信息通信。
  • 消息缓冲队列:利用消息缓冲区、发送原语和接收原语实现信息通信。

共享存储器系统、消息传递系统、管道通信 被称为高级通信机制

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值