进程的描述与控制 思维导图 doc

进程的描述与控制

进程的描述与控制............................................................................................................. 1

1.      前驱图和程序执行...................................................................................................... 2

2.      进程的描述.................................................................................................................. 2

3.      进程控制...................................................................................................................... 3

4.      进程同步...................................................................................................................... 5

5.      经典进程同步问题...................................................................................................... 7

6.      进程通信...................................................................................................................... 7

7.      线程的基本概念.......................................................................................................... 9

8.      线程的实现................................................................................................................ 10

 

  1. 前驱图和程序执行

前驱图DAG:描述进程执行的顺序

顺序执行特征:顺序性,封闭性,可再现性

并发执行特征:间断性,失去封闭性,不可再现性

  1. 进程的描述

进程的定义和特征

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

特征:动态性,并发性;独立性;异步性

进程的基本状态以及转换

引入挂起操作进程状态的转换

进程管理中的数据结构

资源/进程信息表:计算机系统中对每个资源和进程设置数据结构表征其实体

PCB的作用

作为独立运行基本单位的标志

能实现间断性运行方式:保留CPU现场信息

提供进程管理所需要的信息

提供进程调度所需要的信息:进程的状态信息

实现与其他进程的同步与通信

进程控制表中的信息

进程标识符(外部和内部)

外部标识符:方便用户对进程的访问

内部标识符:方便系统对进程的使用

处理机状态

通用寄存器;指令计数器;程序状态字PSW;用户栈指针

进程调度信息

进程状态;进程优先级;其他信息

进程控制信息

程序和数据地址;同步和通信机制;资源列表;链接指针

进程控制块的组织方式

线性

链接

索引

  1. 进程控制

操作系统内核

让驱动程序,运行频率高的模块常驻内存

功能

支撑功能:中断处理,时钟管理和原语操作

资源管理功能:进程,存储器和设备管理

进程的创建

进程层次结构以及层次图——用来描述进程家族关系的有向树

引起创建进程的事件

用户登录

作业调度

提供服务

应用请求

创建过程

申请PCB -> 分配资源 ->初始化PCB -> 插入就绪队列

进程的终止

引起终止的事件

正常结束

异常结束

外界干预

终止过程

读取PCB状态 -> 中止该进程以及子进程执行 -> 将进程(以及子进程)所有资源归还系统 -> 将进程PCB从队列中移除

进程的阻塞与唤醒

引起阻塞或唤醒的事件

向系统请求共享资源失败

等待某种操作完成

新数据尚未到达

等待新任务到达

阻塞过程

阻塞原语block:将进程状态改为阻塞,并将PCB插入阻塞队列

唤醒过程

唤醒原语wakeup:将PCB从阻塞队列中移出,插入到就绪队列

进程的挂起与激活

挂起

挂起原语suspend:检查进程状态,从 活动就绪/阻塞 -> 静止就绪/阻塞。若处于执行状态则转向条都程序重新调度

激活

激活原语active:将进程从外存调往内存,检查进程状态,从 静止就绪/阻塞 -> 活动就绪/阻塞

  1. 进程同步

基本概念

两种制约关系

间接制约关系:对于系统中临界资源由系统实施统一分配

直接相互制约关系:源于进程之间相互合作而共享资源

临界资源

例如打印机,磁带机等

临界区

进程中访问临界资源的部分代码。同理有进入区,退出区

同步机制应该遵循的规则

空闲让进

忙则等待

有限等待

让权等待

硬件同步机制

关中断

Test-and-Set 指令实现互斥

Swap指令实现进程互斥

信号量机制

整型信号量

定义为一个用于表示资源数目的整型量S,仅通过P,V进行操作

记录型信号量

添加一个进程链表指针,用于链接所有等待进程

AND型信号量

在wait操作增加AND条件

信号量集

信号量的应用

实现进程互斥

实现前驱关系

管程机制

管程:进程对共享资源的申请必须通过的过程

组成

特性

与进程的差别

条件变量

  1. 经典进程同步问题

生产者-消费者问题

哲学家进餐问题

读者-写者问题

  1. 进程通信

通信类型

共享储存器系统

共享数据结构:使用与传递相对少量的数据,效率低属于低级通信

共享存储区:对共享区的读写由进程负责,属于高级通信

管道通信系统

管道:连接读,写进程以实现通信的共享文件

管道通信:写进程向共享文件输入以字符流形式的大量数据,并有读进程接收

管道机制需提供3方面协调能力:互斥,同步和面向连接

消息传递系统

直接通信:利用os提供的发送原语

间接通信:通过共享中间实体(信箱)

客户机-服务器系统

套接字

远程过程调用

远程方法调用

消息传递通信的实现方式

直接消息传递系统

信箱通信

直接消息传递系统实例

  1. 线程的基本概念

线程引入

进程两个基本属性

是可拥有资源的独立单位

可独立调度和分派的基本单位

程序并发执行的时空开销

创建进程,撤销进程和进程切换

线程:作为调度和分派的基本单位

与进程的比较

调度的基本单位:引入线程OS中,线程是调度和分派基本单位,且能独立运行

并发性:同一进程中多个线程能够并发

拥有资源:线程本身只有维持独立运行的资源,但能共享进程拥有的资源

独立性:独立性比进程低

系统开销:线程系统开销较低

支持多处理机系统

线程的状态与控制块

线程3个基本状态

执行,就绪和阻塞状态

线程控制块TCB

多线程OS中进程属性

进程是一个可有资源的基本单位

多个线程可并发执行

进程已经不是可执行的实体

  1. 线程的实现

线程的实现方式

内核支持线程KST

用户级线程ULT

用户级线程与内核无关

组合方式

多对一,一对一和多对多模型

线程的实现

内核支持线程的实现

用户级线程的实现

运行时系统:管控线程的函数的集合

内核控制线程LWP:通过系统调用获得内核提供的服务,用户级线程只需连接LWP

线程的创建与终止

“初始化线程”目的用于创建新线程,利用线程创建函数

完成任务或者出现异常时,调用相应函数(或系统调用)终止操作

猜你喜欢

转载自blog.csdn.net/lj121829/article/details/83117188
doc