2.1 进程的基本概念

2.1 进程的基本概念

1.关于程序执行顺序

1)引入前趋图

描述进程执行前后关系的图

有向无循环图(DAG)

Pi结点:描述一个程序段、进程、或一条语句。

有向边“”:结点之间的偏序或前序关系

PiPk,则Pi是Pk的直接前趋,Pk是Pi的直接后继。

2)程序顺序执行时的特征

(1) 顺序性

处理机的操作严格按程序规定顺序执行

(2) 封闭性

程序一旦开始执行,其计算结果不受外界因素影响。

(3) 可再现性

程序执行只要初始条件一样,不论如何停顿,重复执行多少次结果都一样。

3)程序的并发执行分析

要符合前趋关系,并发不是随意的

 

并发提高效率但并发也带来问题

多个程序如果无序并发,得到的只能是混乱的执行结果,

多道程序运行,走走停停的可能顺序有很多种,符合前趋图的关系才是合理并发。

4)并发程序执行时的特征

间断性(运行表现)

     多道 -> 程序并发执行-> 要共享系统的资源 -> 形成相互制约的关系-> 相互制约导致并发程序具有“执行——暂停——执行”这种间断性的活动规律

失去封闭性

共享资源,资源状态由多道程序改变,程序运行失去封闭性,即程序运行受其他程序的影响。

结果不可再现性

结果不确定,程序执行将没有任何意义。

不可再现结果的并发无意义

  1.   进程

1)进程的定义

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

2)进程的特征

(1)结构性特征,进程的根本——PCB

(2)动态性

进程实质上是进程实体的一次有生命期的执行过程。程序只是静态的一组有序指令

进程最基本特征

(3)并发性

多个进程实体同存于内存中,在一段时间内同时运行

拥有PCB的程序才能并发

(4)独立性

(5)异步性

区别进程与程序

动与静:

进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。

永久与暂时:

进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。

结构:

进程的组成包括程序、数据和进程控制块(进程各种控制信息)。

进程与程序的对应关系:

均可1对n。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。

3)进程的基本状态

进程执行时的间断性,决定了其具有多种状态。把握各进程所属的状态对进程控制至关重要。与进程执行相关的各种共享资源有:CPU 存储器 I/O设备 时间片

 

进程的三种基本状态

(1)就绪状态(Ready)

      进程获得除CPU之外的所有必需资源,一旦得到CPU控制权,可立即运行

(2)运行状态(Running)

      进程已获得所有运行必需的资源,正在处理机上执行

(3)阻塞状态(Blocked)

      正在执行的进程由于发生某事件(请求I/O、申请缓冲、时间片到)而暂时无法执行时,便放弃CPU后暂停

 

各种状态下的进程队列

单处理机系统,执行态的进程只有一个;

就绪态、阻塞态的进程可有多个。一般讲分别排称一个队列,称就绪队列、阻塞队列

阻塞队列有的会根据不同原因再排成多个队列

 

不少系统除上述三种状态,还有其他一些细节状态:挂起、新建、终止状态等

挂起状态

就绪的、但不会被调度执行

产生原因

用户自己请求暂停

父进程检查、协调子进程时挂起子进程

调节负荷的需要,负载过重,为保证实时任务的控制,挂起一些不重要的进程

操作系统的检查和记录需要挂起进程

 

  1.   进程控制块PCB

程序:程序段 + 数据段

进程实体:程序段 + 数据段 + 控制块PCB

存放进程的管理和控制信息的数据结构称为进程控制块

OS对进程进行控制和管理围绕PCB进行

 

分析OS调度某进程的过程

查该进程的PCB,获取其状态、优先级

根据PCB保存的处理机状态信息,恢复现场

根据PCB中程序和数据的内存始址,找到其程序和数据

执行中的同步信号等也要查阅PCB,暂停时进程执行的处理机环境保存回PCB

 

Pcb的重要性

进程控制块是进程存在的唯一标志:进程创建时,PCB建立并伴随进程运行的全过程,直到进程撤消而撤消

进程管理和控制的最重要的数据结构

1)进程控制块中的信息(pcb内)

(1)进程标识符信息

每个进程都必须有一个唯一的标识符

内部标示符:唯一的数字序号,方便系统使用

外部标示符:方便用户使用,用户进程访问某进程时使用

(2)处理机状态信息

主要由处理机的各种寄存器中的内容组成,被中断时这些信息要存放到PCB

通用寄存器:用户程序访问的,暂存信息

指令计数器:下一条指令地址

程序状态字PSW:一些状态信息

用户栈指针:每个用户进程都有的存放过程和系统调用参数及调用地址的一组系统栈

(3)进程调度信息

进程状态

进程优先级

进程调度所需的其他信息:调度算法相关信息

事件:状态转换有关的事件

(4)进程控制信息

程序和数据的地址(单个进程)

数据所在的内外存地址

进程同步和通信机制(多进程间)

同步和通信机制的信号量、消息队列指针等

资源清单

链接指针(PCB的组织)

本PCB所在队列的下一个进程PCB首地址

2)PCB信息的存放

系统运行中有若干个程序的PCB,它们常驻内存的PCB区

采用的数据结构:PCB结构体,PCB链表或队列

3)PCB的组织方式

链接方式

同一状态的PCB,依靠链接指针链接成队列 就绪队列;若干个阻塞队列;空白队列(PCB区的空PCB块)

索引方式

同状态的PCB同样集中记录,但以索引表的方式记录PCB的地址。用专门的单元记录各索引表的首地址。

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值