这是为硬件的缓存而保留的,如果你用集成显卡,占用会更多。我想说的是为什么会有保留内存,假设你有一个网卡,这个网卡内部有一个32kB的缓存,16k用于写16kb用于读,当这个网卡的内部缓存写满之后就会通知cpu(中断),那么cpu必须把数据读出来,然而cpu速度是很快的,去直接读写网卡的缓存cpu需要大量时间都在等待上,这是很不划算的。因此工程师们创造了专门用于搬动数据的工人DMA,当网卡通知cpu之后,cpu就命令工人把数据搬到内存中,这样就必须在内存中指定一块同样大的内存区域来保存这些缓存数据。这些区域就是硬件保留内存,这些内存不能释放,更不能占用,是专用内存。当硬件驱动从内核中卸载的时候,这些内存空间会归还给系统。
作者:王林小儿
链接:https://www.zhihu.com/question/55139933/answer/253818051
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 |