相同点:
二者都是由于竞争资源而引起的,与资源的分配策略有关,因而防止饿死与死锁可从公平性方面考虑如FCFS先到先服务算法。
不同点:
①从进程状态考虑,死锁进程都处于等待态(等待某一不可被剥夺资源被释放),饿死进程可能处于忙式等待(就绪队列上等待可剥夺处理机资源)。(忙式等待:不进入等待状态的等待实际状态为”运行“或者”就绪“忙式等待空耗处理器资源因而是低效的,进程无法向前推进等待某一事件,但不主动放弃处理器而是不断循环检测资源是否可用)。
②死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源。
③死锁一定发生了循环等待,而饿死则不然,这也表明通过资源分配图可以检测死锁存在与否,但不能检测是否有进程饿死。
④死锁一定涉及多个进程·,而饥饿或被饿死的进程可能只有一个。