现在的位置: 首页 > 综合 > 正文

计算机操作系统之处理机调度与死锁

2017年12月18日 ⁄ 综合 ⁄ 共 803字 ⁄ 字号 评论关闭

1、何谓死锁?产生死锁的原因和必要条件是什么?

死锁(deadlock),指多个进程运行时因竞争资源而造成的一种僵局,在无外部干预的情况下,这些进程都将无法进行下去。

原因:1)资源竞争。资源不够用。 2)进程间推进顺序非法。(请求释放资源的顺序不当)

必要条件:1)互斥,即所分配到的资源只能被一个进程占用,即独占。2)请求保持。3)不剥夺。4)环路等待,进程--资源环路链。

2、预防死锁的途径? 

破除上面的列举的必要条件之一即可,但不能是第1个,因为第一个是固有属性,必须要保持。

3、处理死锁的方法

1)预防死锁。2)避免死锁。3)检测死锁。4)解除死锁

其中,预防死锁实现起来最简单,但资源利用率和系统吞吐量低;避免死锁限制条件较弱,可以得到较高的资源利用率和系统吞吐量

4、需要掌握的算法

避免死锁的算法:银行家算法

5、多处理器系统的分类

紧密耦合和松散耦合;对称和非对称

6、对称多处理器系统的进程分配方式

1)静态分配。进程从开始执行到完成,都被固定地分配到一个固定的处理器上去执行。优点:进程调度的开销小;缺点:各个处理器忙闲不均。

2)动态分配。设置一个公共的就绪队列。消除了各个处理器忙闲不均的现象。

7、多处理器系统的进程(线程)调度方式

1)自调度方式

在系统中设置一个公共的进程或线程就绪队列,所有处理器在空闲时,可自行到队列中取一进程(线程)运行。可采用在单处理机环境下的调度算法

优点:其就绪队列的组织、调度算法均可沿用单处理机系统采用的方法;不会出现处理器忙闲不均的现象,有利于提高处理器的利用率

缺点:a)瓶颈问题。只有一个就绪队列,且该队列必须互斥访问,当处理器增加时这必然会成为瓶颈。b)低效。同一线程在其生命周期内,可能多次更换处理器,导致高速缓存利用率低下。c)线程切换频繁。特别表现在线程间的同步时,相互合作的线程不能保证同时都获得处理机,这样就会导致线程切换

2)成组调度方式

3)专用处理机分配方式

抱歉!评论已关闭.