死锁概述:
。死锁的起因是,通常源于多个进程对资源的争夺,不仅对不可抢占资源进行争夺时会引起死锁,而且对可消耗资源进行争夺时也会引起死锁。例如:系统中只有一台扫描仪R1和一台刻录机R2,有两个进程P1,P2,它们都准备将扫描好的的文档刻录到光盘中,进程P1先请求扫描仪R1并获得成功,进程P2先请求刻录机R2也获得成功,后来P1又请求刻录机R2,但因它已被分配给了P2而阻塞,P2又请求扫描仪也因被分配给了P1而阻塞,此时两个进程都被阻塞,双方都希望对方能释放出自己所需要的资源,但他们都会因为不能获得自己所需的资源去继续运行而无法释放自己当下占有的资源,并且一直处于僵持状态形成死锁。
。可抢占资源和不可抢占资源:
可抢占资源:某进程在获得这类资源后,这类资源可以再被其他进程或系统抢占,例如优先级高的进程可以抢占优先级低的进程的处理机,处理机和内存都属于可抢占资源,这类资源不会引起死锁。
不可抢占资源:一旦系统把这类资源分配给某进程后,就不能将它强行收回,而只能在进程用完后等待其自行释放,如刻录机,磁带机,打印机都属于不可抢占资源。
初始死锁以及可/不可抢占资源
最新推荐文章于 2024-05-17 20:23:24 发布