Can you summarize the following document?
        
  例如,一个进程 p1占用了显示器,同时又必须使用打印机,而打印机被进程p2占用,p2又必须使用显示器,这样就形成了死锁。 因为p1必须等待p2释出打印机才能够完成工作并释出萤幕,同时p2也必须等待p1释出显示器才能完成工作并释出打印机,形成循环等待的死结。

  如果系统中只有一个进程,当然不会产生死锁。如果每个进程仅需求一种系统资源,也不会产生死锁。不过这只是理想状态,在现实中是可遇不可求的。  死锁的四个条件是:  死锁只有在四个条件同时满足时发生,预防死锁必须至少破坏其中一项。

  我们也可以尝试回避死锁。因为在理论上,死锁总是可能产生的,所以操作系统尝试监视所有进程,使其没有死锁。

  最简单的消除死锁的办法是重启系统。更好的办法是终止一个进程的运行。  同样也可以把一个或多个进程回滚到先前的某个状态。如果一个进程被多次回滚,迟迟不能占用必需的系统资源,可能会导致资源匮乏。

  活结(英语:Livelock),与死结相似,死结是行程都在等待对方先释放资源;活结则是行程彼此释放资源又同时占用对方释放的资源,当此情况持续发生时,尽管资源的状态不断改变,但每个行程都无法取得所需资源,使得事情没有任何进展。

  假设两人正好面对面碰上对方:
死锁(英语:Deadlock),又译为死结,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止执行,以取得系统资源,但是没有一方提前退出时,就称为死结。在多工操作系统中,操作系统为了协调不同行程,能否取得系统资源时,为了让系统运作,必须要解决这个问题。