僵局(deadlock)和操作系统中的饥饿(starvation in operating system os)的区别

计算机被认为是人类最成功的发明之一,它在完成某些任务的同时为我们提供了无障碍的体验。它为我们创造了一个可行的空间,帮助我们改善工作生活,甚至社会生活。当我们在计算机上执行某些任务时,由于一些技术问题,应该会出现一些问题。其中两个困难是1.操作系统死锁和2.操作系统饥饿。...

计算机被认为是人类最成功的发明之一,它在完成某些任务的同时为我们提供了无障碍的体验。它为我们创造了一个可行的空间,帮助我们改善工作生活,甚至社会生活。当我们在计算机上执行某些任务时,由于一些技术问题,应该会出现一些问题。其中两个困难是1.操作系统死锁和2.操作系统饥饿。

僵局(deadlock) vs. 操作系统中的饥饿(starvation in operating system os)

在操作系统操作系统中,死锁和饥饿的区别在于它们发生的时间。当一个资源被进程占用并等待其他进程占用的资源时,就会发生死锁。另一方面,当低优先级的进程被阻塞,而高优先级进程的执行发生时,操作系统操作系统中就会出现饥饿。

僵局(deadlock)和操作系统中的饥饿(starvation in operating system os)的区别

请求执行某个进程的资源被另一个等待进程占用的状态称为死锁。死锁通常出现在多处理和分布式系统以及并行计算中。在死锁中,进程的共享资源由硬件和软件锁来决定,以实现进程同步。通信系统中死锁发生的原因是信号的丢失或损坏。

在操作系统操作系统中,当低优先级的进程被阻塞,而高优先级的进程被执行时,出现的问题称为饥饿。饥饿是优先级调度算法中的主要问题,因为饥饿会导致低优先级过程的不确定等待。饥饿也发生在并发计算中。饥饿的一些原因包括调度错误、资源泄漏等。饥饿的一个例子是多任务系统中的第三个任务,它在前两个任务之间切换,但从未执行或由于CPU时间而饥饿。

比较参数 操作系统死锁 操作系统中的饥饿
意义 请求执行某个进程的资源被另一个等待进程占用的状态称为死锁。 当低优先级的进程被阻塞并且不被允许时,资源和高优先级的进程是通过允许资源来执行的,这在操作系统os中被称为饥饿。
也称为 循环等待 活锁
资源 资源由另一个等待进程持有。 高优先级进程使用资源。
原因 无抢占和循环等待、互斥、等待和等待同时发生。 计划错误,无法控制资源管理,资源受限。
预防 优先购买权。 衰老。

操作系统死锁与饥饿的比较表

什么是操作系统死锁(deadlock in operating system os)?

请求执行某个进程的资源被另一个等待进程占用的状态称为死锁。死锁称为循环等待。无论是多处理系统、分布式系统还是并行计算都会遇到死锁的情况。在通信系统中也可以观察到。

死锁的发生是由于无抢占和循环等待同时发生、互斥、等待和等待等原因造成的。如果这四件事同时发生,那么僵局就会发生。通信系统中死锁的发生是由于信号的丢失或损坏引起的。

死锁的主要示例是,进程1正在使用进程2的资源2,而进程2仍在执行。死锁可以通过允许抢占、使用资源分配图等来防止。这些资源分配图还有助于在执行某个任务或算法时检测死锁。

不同的操作系统处理死锁的方式不同。解决死锁的方法有忽略死锁、检测死锁、防止死锁等。由于分布式事务或并发控制的使用,分布式系统中存在分布式死锁。通过绘制全局等待图或执行分布式算法,可以避免分布式死锁。

什么是操作系统中的饥饿(starvation in operating system os)?

在操作系统操作系统中,当低优先级的进程被阻塞并且不允许资源和高优先级的进程通过允许资源来执行时,出现的问题称为饥饿。操作系统操作系统中的饥饿也被称为活锁。

在操作系统中发生饥饿的原因是调度错误、无法控制资源管理、资源有限。在一个多任务系统中,在前两个任务之间切换的第三个任务从来没有执行过,或者没有执行过,因为CPU时间是一个很突出的例子。

系统中等待时间较长的优先级进程逐渐增加。这个过程叫做老化。老化过程是预防措施之一,或者更确切地说是解决操作系统中的饥饿问题的方法。一般来说,在负载很重的计算机系统中,低优先级进程被高优先级进程阻止获得CPU。

操作系统中的饥饿预防可以通过其他方法来实现,例如避免导致饥饿的进程,例如避免选择随机进程进行资源分配。不可能饥饿的算法称为无饥饿或无锁定。

操作系统死锁和饥饿的主要区别

  1. 每当一个资源被进程占用并等待其他进程占用的资源时,就会发生死锁;另一方面,当低优先级的进程被阻塞并执行高优先级的进程时,操作系统中就会发生饥饿。
  2. 死锁的预防措施包括允许抢占和避免互斥,另一方面通过执行老化过程可以避免操作系统中的饥饿。
  3. 在这两种情况下,资源的状况是不同的。在死锁中,资源由其他等待的进程占用,而在操作系统资源不足时,资源由高优先级进程使用。
  4. 死锁的增加条件包括同时发生四起案件,另一方面,饥饿是由于资源管理不善等多种原因造成的。
  5. 两种情况下进程的回滚是不同的,在死锁状态下,高优先级进程和低优先级进程相互等待,没有一个进程回滚,这使得进程成为一个无限进程,而在饥饿状态下,低优先级进程回滚。
  6. 操作系统中的饥饿可能是由死锁引起的,但死锁不是由饥饿引起的。

结论

由于硬件实现过程中出现的数据族或编程条件,操作系统中的死锁和饥饿都是应该出现的困难。这些困难可能会妨碍用户在使用计算机时的无障碍体验。

这些问题可以通过采取必要步骤和预防程序加以解决。用户也有责任优化使用设备并避免此类困难。

参考文献

  1. https://dl.acm.org/doi/abs/10.1145/800222.806755
  2. https://www.tandfonline.com/doi/abs/10.1080/03081078908935036

  • 发表于 2021-07-11 15:08
  • 阅读 ( 269 )
  • 分类:IT

你可能感兴趣的文章

死锁(deadlock)和饥饿(starvation)的区别

...饿主要发生在许多线程竞争有限的资源时。 什么是死锁(deadlock)? 死锁是两个线程或进程等待对方完成任务时发生的一种情况。他们只会挂断电话,永远不会停止或完成任务。在计算机科学中,死锁随处可见。在事务数据库中,...

  • 发布于 2020-10-23 22:21
  • 阅读 ( 522 )

黑莓os 5(blackberry os 5)和操作系统6(os 6)的区别

...k visual, easy multitasking, faster browsing and **art organization. 黑莓操作系统是RIM(Research in Motion)为黑莓智能**开发的移动操作系统。这是用C++开发的专有软件。黑莓操作系统支持多任务处理。第三方开发者可以使用blackberry API(应用程...

  • 发布于 2020-10-23 23:12
  • 阅读 ( 322 )

powershell在windows以外的其他操作系统上工作吗?

...者FredSavage187想知道PowerShell是否适用于除Windows以外的其他操作系统: My computer science professor recently gave us a quiz and one of the questi*** was, “True or False: PowerShell works on Windows, Mac, and Linux”. The correct answer was “false” and he maintains that Po...

  • 发布于 2021-04-07 22:15
  • 阅读 ( 189 )

为什么x86 CPU只使用四个“环”中的两个?

当您进一步了解操作系统和它们运行的硬件是如何工作和相互作用的时,您可能会惊讶地发现出现了一些奇怪的现象或“资源”利用不足的情况。为什么?今天的超级用户问答帖子回答了一位好奇的读者的问题。 今天的问答环...

  • 发布于 2021-04-09 17:38
  • 阅读 ( 213 )

在旧版本的windows中,多任务是如何实现的?

考虑到DOS是一个单任务操作系统,以及它与早期版本Windows的联系,那么早期版本Windows是如何实现多任务的呢?今天的超级用户问答帖子将探讨这个问题的答案。 今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分...

  • 发布于 2021-04-11 10:09
  • 阅读 ( 175 )

如果我买了一台装有Windows8和secure boot的电脑,我还能安装linux吗?

...that it’s a “power grab” by Microsoft to “eliminate free operating systems”. If I get a computer that has Windows 8 and Secure Boot preinstalled, will I still be able to install Linux (or some other OS) later? Or does a computer with Secure Boot only ever work with Windows? 那交易是什...

  • 发布于 2021-04-11 20:56
  • 阅读 ( 230 )

windows还依赖ms-dos吗?

...anted the world to believe that DOS was gone and Windows was the operating system.This is the DOS+Windows bootstrap process. The Windows NT lineage comprises Windows NT 3.x, Windows NT 4.0, Windows NT 5.0 (“Windows 2000”), Windows NT 5.1 (“Windows XP”), Windows NT 5.2 (some editi*** of Win...

  • 发布于 2021-04-12 03:14
  • 阅读 ( 125 )

僵局(deadlock)和操作系统操作系统中的饥饿(starvation in operating system os)的区别

操作系统是计算机上运行的最基本的软件。它负责管理计算机的内存和进程,以及屏蔽使用它的应用程序的硬件细节。计算机的操作系统还确保资源公平地分配给用户和程序,而不是在进程之间平均分配。公平调度系统允许一个...

  • 发布于 2021-06-25 16:03
  • 阅读 ( 402 )

多道程序设计(multiprogramming)和操作系统中的多任务处理(multitasking in operating system)的区别

操作系统是计算机最重要的软件和核心,它不仅管理计算机内部的内存和进程,而且允许用户运行应用软件。它是一组程序的集合,抽象出系统的硬件,并向用户呈现一个完整的虚拟机。除了跟踪文件或目录、控制外围设备、向...

  • 发布于 2021-06-25 18:13
  • 阅读 ( 678 )

网络操作系统(network operating system)和分布式操作系统(distributed operating system)的区别

网络操作系统和分布式操作系统的主要区别在于,网络操作系统提供与网络相关的功能,而分布式操作系统通过网络连接多**立的计算机,以执行类似于一台计算机的任务。 操作系统是用户和硬件之间的接口。它控制程序的执行...

  • 发布于 2021-06-30 19:18
  • 阅读 ( 847 )
yqy67z7uq9luup
yqy67z7uq9luup

0 篇文章

相关推荐