操作系统 第二章 进程与PCB--笔记*1

课前问题:

1.允许并发是不是说多道程序可随便交替执行?

答:并发程序执行时具有不确定性(如果结果不确定,那程序将毫无意义),因此所谓并发应是“有控制的并发”,“能控制且合理控制的并发”

2.操作系统怎么管理多道并发程序?

答:用进程管理,进程有三种状态,就绪·执行和阻塞,而这些信息都记录在进程控制块PCB中,因此操作系统首先查看PCB获取状态,然后调度

3.操作系统怎么知道有几个进程可运行?又怎么知道哪个程序运行不下去需要换人了?操作系统怎么知道要运行的程序在哪里?

答:通过查看PCB

笔记

引入概念:
前趋图:是指一个有向无循环图,可记为DAG(Directed Acyclic Graph),它用于描述进程之间的先后顺序(图中每个节点可用来表示一个进程或程序段,乃至一条语句,节点间的有向边则表示两个节点之间存在的偏序或前驱关系)

程序顺序执行时的特征:

  1. 顺序性
  2. 封闭性(程序一旦执行,其结果不受外界因素影响)
  3. 可再现性(程序只要初始条件一样,不论如何停顿,结果保持不变)

并发程序执行时的特征:

  1. 间断性
  2. 失去封闭性(程序会受其他程序影响–需要争抢资源)
  3. 不可再现性
    <–结果不确定,程序执行将毫无意义,因此多道并发是有控制的并发,要能控制并且合理控制–>
    错误并发:

例如两个独立的程序A、B,正好使用了同一内存变量空间:
程序A:每执行一次都做a+1;
程序B:每隔一定时间Print b,b=0。
设两者都要循环10次,则:
A的角度看,执行10次,结果应为10
B的角度看,执行10次,结果都应为0
并发交替执行可能的结果:
– 如果执行2次时被B操作了N,那么结果为8;
– 如果执行7次后才被B影响了N,结果为3;
没有任何干预下,会出现结果不可再现的并发,即错误的并发。

进程
程序:程序段+数据段(按事先设计的功能和性能要求执行的指令序列)。
进程实体:程序段+数据段+PCB
PCB(Process Control Block):进程控制块–存放进程的管理和控制信息的数据结构,

进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

进程的特征

1.结构性特征,进程的根本——PCB
2.动态性
<1>进程实质上是进程实体的一次有生命期的执行过程。程序只是静态的一组有序指令。
<2>进程最基本特征
3.并发性
<1>多个进程实体同存于内存中,在一段时间内同时运行。
<2>有PCB的程序才能并发。
4.独立性
5.异步性

各进程相关的共享资源:cpu·存储器·I/O设备·时间片(这些资源在进程状态变化中对进程运行有影响)

进程的三种基本状态

(1)就绪状态(Ready)
进程获得除CPU之外的所有必需资源,一旦得到CPU控制权,可立即运行。
(2)运行状态(Running)
进程已获得所有运行必需的资源,正在处理机上执行。
(3)阻塞状态(Blocked)
正在执行的进程由于发生某事件(请求I/O、申请缓冲、时间片到)而暂时无法执行时,便放弃CPU后暂停

在这里插入图片描述

注意:
单处理机系统,执行态的进程只有一个
就绪态、阻塞态的进程可有多个。一般讲它们分别排称一个队列,称就绪队列、阻塞队列。
阻塞队列有的会根据不同原因再排成多个队列。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值