操作系统(二)-进程的描述与控制

1. 程序执行

程序顺序执行:顺序性,封闭性,可再现性在这里插入图片描述

程序并发执行:间断性,失去封闭性,不可再现性
在这里插入图片描述

2. 进程的描述

2.1 进程的定义和特征

进程的定义
(1) 进程是程序的一次执行
(2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
(3) 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。(引入线程后,线程是独立调度的最小单位
(进程是程序在一个数据集上运行的过程,数据集不同运行结果不同)

进程的特征
(0) 结构特征。(系统为每个进程设立一个进程控制块PCB)
(1) 动态性。(最基本的特征,进程是程序的一次执行 )
(2) 并发性。
(3) 独立性。
(4) 异步性。

进程和程序的对应关系
一个程序对应一个进程或者多个进程
一个进程对应一个程序或者一段程序

2.2 进程的状态及转换

  1. 进程的三种基本状态
    (1) 就绪(Ready)状态
    (2) 执行(Running)状态
    (3) 阻塞(Block)状态

在这里插入图片描述

  1. 创建状态和终止状态
    (1) 创建进程:
    ①由进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息②为该进程分配运行时所必须的资源③把该进程转入就绪状态并插入就绪队列之中。
    (2) 终止进程:等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。

在这里插入图片描述

  1. 挂起状态
    进程被交换到外存,状态变为挂起状态
    在这里插入图片描述

在这里插入图片描述

2.3 进程的组织

进程的构成
为了刻画进程的动态变化,通常把进程表示为由程序段相应的数据段PCB组成。

进程控制块PCBPCB是进程存在的唯一标志,当系统或父进程创建一个进程时,实际上就是为其建立一个PCB。进程结束时,系统回收PCB,该进程随之消亡。

进程控制块PCB的作用
(1) 作为独立运行基本单位的标志。
(2) 能实现间断性运行方式。
(3) 提供进程管理所需要的信息 。
(4) 提供进程调度所需要的信息。
(5) 实现与其它进程的同步与通信。

PCB中的信息
(1) 进程标识符(每个进程有唯一的标识号)
(2) 处理机状态
(3) 进程调度信息
(4) 进程控制信息

3. 进程控制

进程控制的主要功能是对所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。

原语:进程控制用的程序段。

3.1 进程的创建

引起创建进程的事件
(1) 用户登录
(2) 作业调度
(3) 提供服务
(4) 应用请求

进程创建原语(进程无→创建态→就绪态)
(1) 申请空白PCB。(为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB)
(2) 为新进程分配其运行所需的资源。(包括各种物理和逻辑资源,如内存、文件、I/O设备和CPU时间等)
(3) 初始化PCB。
(4) 如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。

3.2 进程的终止

引起进程终止的事件
(1) 正常结束
(2) 异常结束
(3) 外界干预

进程终止原语(就绪态/阻塞态/运行态→终止态→进程无)
(1) 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
(2) 若被终止进程正处于执行状态,立即终止该进程的执行,将处理机资源分配给其他进程
(3) 若该进程还有子孙进程,将其所有子孙进程也都予以终止。
(4) 将被终止进程所拥有的全部资源或者归还给其父进程,或者归还给OS。
(5) 将被终止进程(PCB)从所在队列(或链表)中移出。

3.3 进程的阻塞与唤醒

引起进程阻塞和唤醒的事件
(1) 向系统请求共享资源失败。
(2) 等待某种操作的完成。
(3) 新数据尚未到达。
(4) 等待新任务的到达。

3.4 进程的挂起与激活

  1. 进程的挂起
  2. 进程的激活

4. 进程同步

操作系统(四)-进程同步

5. 进程通信

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

  1. 共享存储器系统(Shared-Memory System)

在通信的进程之间存在一块可直接访问的共享空间,通过对这片共享空间进行读写操作实现进程之间的信息交换。

使用同步互斥工具(P、V操作)对共享空间进行限制。

分类:(1) 基于共享数据结构。 (2) 基于共享存储区。

  1. 消息传递系统(Message passing system)

通过系统提供的发送消息和接收消息两个原语进行数据交换,隐藏通信实现细节。

分类:
(1) 直接通信方式:发送进程直接把消息发送给接收进程。
(2) 间接通信方式:借用中间实体(信箱)进行消息发送。

  1. 管道(Pipe)通信(半双工通信)

以字符流形式将大量的数据送入管道。数据一旦被读取,它就从管道中被抛弃。管道只能采用半双工通信。

为了协调双方的通信,管道机制必须提供以下三方面的协调能力:
① 互斥 ② 同步③ 确定对方是否存在

6. 线程

6.1 线程的引入

引入进程为了使多个程序能并发执行
引入线程减少程序在并发执行时所付出的时空开销。(进程的创建、撤销、切换)

进程和线程
进程是可拥有资源的独立单位,同时又是可独立调度和分派的基本单位
线程是调度和分派的基本单位

6.2 线程与进程的比较

  1. 调度的基本单位
  2. 并发性
  3. 拥有资源(线程控制块TCB,线程共享进程的内存地址空间和资源)
  4. 独立性
  5. 系统开销
  6. 支持多处理机系统

6.3 线程的属性

  1. 线程不拥有资源
  2. 不同的线程可以执行相同的程序
  3. 同一进程中的各个线程共享该进程所拥有的资源
  4. 线程是处理机的独立调度单位,多个线程是可以并发执行的。
  5. 线程在生命周期内会经历阻塞态,就绪态和运行态等各种状态变化。
  6. 线程没有自己独立的地址空间,它共享其所属进程的空间。(进程是拥有资源的单位)

6.4 多线程

  1. 进程是一个可拥有资源的基本单位
  2. 多个线程可并发执行
  3. 进程已不是可执行的实体。

6.5 线程的实现方式

  1. 用户级线程(内核意识不到线程的存在)

  2. 内核级线程(处理机分配的单位)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值