百科问答小站 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有啥关系?




  

相关话题

  iOS 系统是个全新的操作系统还是套壳的 UNIX ? 
  把操作系统编译结果的机器码更改一位,比如将第一位0改成1或者反之,操作系统还能运行吗? 
  为什么很少听到有人在用 Windows 编程? 
  鸿蒙 OS 2.0 正式发布,能否与Android,iOS三足鼎立? 
  为什么有人把新买的 Win10 电脑重装为各种盗版 Win7 ? 
  Windows系统中软件的默认安装目录为何是Program Files这个名字? 
  为什么现在还有很多人不肯升级到 Windows 10? 
  Windows NT 内核与 Linux 内核相比哪个更安全? 
  Linux 战略或生态圈是什么? 
  为什么Linux下要把创建进程分为fork()和exec()(一系列函数)两个函数来处理? 

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





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利