defference between "deadlock" and "starving"

What is the difference between "deadlock" and "starving"? 这似乎是一道很经典的操作系统里关于进程的问题哦.好像EMC和Sybase都考过。难度倒不是很大,只要你理解了deadlock和starving的概念。不过好多外企都是要求用英语做答的


Starving and deadlock are two kinds of the process status. If a process stays at starvation or deadlock, that means it is waiting for getting the needed share resource which has been holding by other processes. When the resource is released, the process status is going to be changed from starvation to run, but for deadlock, it has no chance to get the needed share resource the process needs. Because another process which has been holding the resource needed by the front process, but the second process is staying there to wait for the first process to release the another resource needed by itself. That is to say, they are waiting for each other's releasing the share resourece they need. Dealock is a innormal status which should be as much avoided as possible by the system designer.

你可能感兴趣的:(Sybase)