网络数据是先经过内存然后再到硬盘的吗?回答好加分

2024-12-17 17:55:37
推荐回答(2个)
回答1:

你的认识层次比较深了,但还有需要重新认识的地方。
所有数据不用传到CPU,CPU只是个中央控制器。
打个比喻吧,cpu就像人的大脑,内存好比人的手,数据就是你要做的事情。
大脑想让手去做几件事情,做事情的程序可能是几件事情同时干,也可能是一件接着一件的干,还可能是相互穿插着干,但不管怎么干,不能同时把所有的事情都放在两只手上,这就要找个临时放东西的地方,这就是硬盘了。有时手上的活直接就结束了,有时需要放一放,下一步才能完成,这就像有时内存的数据直接送到显示缓存,输出到显示器,而有时要先放到硬盘上,等一会再送过去。
另外,硬盘上存放这些数据的地方也和内存的性质差不多,也是临时在硬盘上划出一块地方作缓存,而不是永久存放,这些数据在执行完后就不存在了,当然有一些是被软件设置,成为永久性存放的。

回答2:

问题1:网卡--内存--cpu--内存--硬盘,网卡和CPU无法直接传输,速率相差大,CPU容量也不够,网卡也属于连接南桥的I/O,需要存入内存,内存中的数据是保持的,等待CPU处理,再传入硬盘。如果是DMA,那么内存和I/O交互时与CPU无关。
问题2:内存中的相关进程的数据是保持的,在页表指向的物理页中,不会立即删除,浏览器进程传给显示器和硬盘的是内存中的同一份数据。但是必须存储到硬盘,原因你也讲了。
问题3:见问题2。当然也要考虑到内存的空间是有限的,如果网页的数据量过大,一部分数据已经从内存中移除,需要到硬盘中查找数据,但是一般不会,因为显示器显示的网页文件一般都相当小。