百科问答小站 logo
百科问答小站 font logo



windows系统为什么不预留一点资源(cpu和内存占用),在执行繁重任务时以保证系统本身的流畅运行? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

首先,现在的Windows已经预留足够多的系统资源了,但对于操作系统来说,存在的木桶效应,有一个硬件上的短板,就极有可能造成卡顿。

以题主提到的情况,系统瓶颈未必在内存和CPU上,打开大型图片卡顿,瓶颈可能是硬盘或者显卡,这种情况下强行预留硬盘或者显卡资源就比较困难了。

实际上单独占用CPU或者内存,很难对Windows造成卡顿,Windows调度器很容易发现这种异常的情况,在合适的时机降低任务优先级使得其它任务更流畅。

但占用IO硬件资源就不一样了,比如,占用硬盘通信带宽,硬盘是没有一个“使用率”的概念的,数据量太大的时候,读不上来就是需要排队,这种情况下你让Windows去运行的更快是不可能的。

还有一类情况是恶意软件或者垃圾软件造成的,Windows提供了一些开放的API接口,比如全局消息队列的钩子,这些消息队列钩子会影响所有的任务,本来需要几微秒就完成的操作,钩子里非要做额外的事情,比如记录一下你的鼠标轨迹,记录一下你的键盘状态,后果就是所有的操作都变得非常慢,假如这个时候还要把状态写入磁盘,而磁盘IO又很紧张的情况下,就很容易卡死。

总结下来,其实是一些无法准确控制使用率的硬件(如硬盘、显卡)紧张,导致的Windows卡顿,对于这种情况,Windows从操作系统层面上是没有多少办法解决的。软件上倒是有一些办法,比如播放一个“正在加载”的动画之类的,但这会额外增加很多软件成本,况且这个时候应用程序仍然是没有响应的,做这个东西的意义不是很大。


user avatar   Ivony 网友的相关建议: 
      

事实上我还真没见过Windows卡死过……

我就问你一句哈,鼠标光标还能不能动?


只要光标还能动Windows就离卡死还远着……

进度条是软件自己绘制的,和Windows有啥关系?




  

相关话题

  如何从零开始写一个简单的操作系统? 
  既然 WPF 和 WinForm 只能在 Windows 运行,为什么要移植到 .NET Core ? 
  ActiveX、OLE、COM 之间的关系到底是什么样的? 
  微软宣布推出云操作系统Windows 365 ,对此你有什么期待? 
  如果微软把 Windows 系统开源,允许第三方定制化,系统会更好用吗? 
  如何看待 WannaCrypt0r 还没有结束? 
  ActiveX、OLE、COM 之间的关系到底是什么样的? 
  Mac采用了ARM芯片对Windows及整个PC行业将产生什么影响?其竞争对手会怎样应对? 
  Windows 等操作系统是如何做到复制大文件不出错的? 
  为什么计算机采用补码而不是原码或反码? 

前一个讨论
Linux主机中增加一块内存条后,物理地址如何扩展?
下一个讨论
Linux的内核为什么一定要映射到所有的物理内存?





© 2025-06-25 - tinynew.org. All Rights Reserved.
© 2025-06-25 - tinynew.org. 保留所有权利