全球旧事资料 分类
操作系统第二次作业第七章72Co
siderthedeadlocksituatio
thatcouldoccuri
thedi
i
gphilosophersproblemwhe
thephilosophersobtai
thechopstickso
eatatimeDiscusshowthefour
ecessaryco
ditio
sfordeadlocki
deedholdi
thissetti
gDiscusshowdeadlockscouldbeavoidedbyelimi
ati
ga
yo
eofthefourco
ditio
s考虑哲学家进餐问题中可能出现死锁的情况,即当哲学家一次拿一只筷子时,讨论4个死锁必要条件的存在性,讨论如何通过避免四种情况之一来消除死锁答死锁的4个必要条件为:互斥、占有等待、非抢占、循环等待考虑互斥性,A哲学家拿了筷子C1后该C1筷子在未被释放资源前无法被其他哲学家B获取,故互斥。这个问题可以通过哲学家的筷子可以互相使用来实现。考虑占有等待性,A哲学家必须先占有左手筷子C1,并等待右手筷子C2,而C2可能为其他哲学家所占有。这个问题可以通过设置哲学家在申请更多筷子时,必须释放现已分配的所有筷子,或协议每个哲学家在进餐前申请并获得所有筷子,即预先静态分配。考虑非抢占性,A哲学家占有筷子C1时不能被B哲学家抢占。这个问题可以通过协议某个哲学家占有筷子并申请另一个不能被立即分配的筷子时,那么其现已拥有的筷子均可被抢占,即自己剥夺自己。考虑循环等待,出现循环等待的可能性为:每个哲学家同时只拥有左手的筷子而等待右手的筷子,而右手的筷子只能通过右手的哲学家释放其左手的筷子才能得到,故出现循环等待。这个问题可以通过对筷子进行编号,对筷子的申请顺序由低到高来实现。76Co
siderasystemco
sisti
goffourresourcesofthesametypethataresharedbythreeprocesseseachofwhich
eedsatmosttworesourcesShowthatthesystemisdeadlockfree考虑一个由4种相同资源、3个共享进程,每个需要2个该资源的系统,试证明这个系统不会出现死锁答:这个问题比较简单,“抽屉原理”表明,4个资源分配给3个进程,则至少有一个进程分配到2个资源,那么该进程就得以运行,运行结束时,该进程会释放已分配的2个资源给系统里剩下的两个进程,这时4个资源分配给2个进程,不会出现死锁。77Co
siderasystemco
sisti
gofmresourcesofthesametypebei
gsharedby
processesResourcesca
berequesteda
dreleasedbyprocesseso
lyo
eatatimeShowthatthesystemisdeadlockfreeifthefollowi
gtwoco
ditio
sholdaThemaximum
eedofeachprocessisbetwee
1a
dmresourcesbThesumofallmaximum
eedsislesstha
m
考虑一个系统由m个同种资源被
个进程共享,某一资源一次只能被请求或释放,证明这个系统如满足下面2个条件则不会死锁A每个进r
好听全球资料 返回顶部