background image

1.3 处理器管理

程序的并行运行就涉及到资源的竞争使用,就需要管理其核心资源。
1.3.1

进程状态

进程是一个程序关于某个数据集的一次运行。进程是程序的一次运行活动,动态的概念,而
程序是静态概念,是指令的集合。
进程具有动态性和并发性,程序是进程运行时所对应的运行代码。
在操作系统中进程是进行系统分配、调度和管理的最小单位,线程是处理器分配资源的最小
单位。
静态的观点看,进程是程序、数据和进程控制块组成,动态观点看,进程是计算机状态的一
个有序集合。
进程状态总体分为为三态模型和五态模型。
1、三态模型(所有进程在内存中)包括运行、就绪和等待态。运行态 就绪态,运行时间片
到;出现更高优先权进程。运行态等待态,等待使用资源,如等待外设传输;等待人工干
预。就绪态运行态,

CPU 空闲时选择一个就绪进程;等待态 就绪态,资源得到满足,如

外设传输结束;人工干预完成。
2、五态模型:包括运行、活跃就绪、活跃阻塞、静止就绪和静止阻塞。
1.3.2

信号量和

PV 操作

操作系统中,进程之间存在互斥和同步。
1、互斥控制是为了保护共享资源,不让多个进程同时访问这个共享资源。就是阻止多个进程
同时访问这些资源的代码段(临界区),一次只允许一个进程访问的资源。初始值信号量

S

应该设置为

1.

2、同步控制
进程

A 在另一个进程 B 到达指定位置 L2 之前,不应前进到超过点 L1。初始值信号量 S 应该

设置为

0

3、生产者-消费者问题
不仅要解决生产者进程与消费者进程的同步关系,还要处理缓冲区的互斥关系。
1.3.3

死锁问题

死锁是指多个进程之间互相等待对方的资源,而在得到对方资源之前又不释放自己的资源
这样,造成循环等待的一种现象。
1、死锁发生的必要条件
产生死锁的根本原因在于系统提供的资源个数少于并发进程要求的该类资源数。产生死锁有
4 个必要条件:互斥条件、不可抢占条件、保持与等待条件(部分分配条件)、循环等待条件。
2、银行家算法
指在分配资源之前先看清楚,资源分配后是否会导致系统死锁。如果会死锁,则不分配,否
则就分配。
3、解决死锁的策略

1)死锁预防。破坏导致死锁必要条件中的任意一个就可以预防死锁。

2)死锁避免。指进程在每次申请资源时判断这些操作是否安全。

3)死锁检测。判断系统是否处于死锁状态,如果是,则执行死锁解除策略。

4)死锁解除。将某进程所拥有的资源强行收回,分配给其他的进程。

1.3.4

管程与线程

1、管程由管程名、局部子管程的变量说明、使用共享资源并在数据集上进行操作的若干过程,

2