AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1605314
Accepted
Yashveer Singh
Yashveer Singh
Asked: 2020-11-27 09:16:28 +0800 CST2020-11-27 09:16:28 +0800 CST 2020-11-27 09:16:28 +0800 CST

我在 Internet 上看到的内容是否暂时存在于 RAM 中?

  • 772

无论我在 Internet 上浏览什么,无论页面是什么,都存储在我硬盘上的浏览器缓存中。浏览器缓存存储在硬盘 C 盘上的 Temporary Internet Files 文件夹中。但它是否也暂时(在我浏览它时)存储在 RAM 中,但现在被覆盖了?

也就是说,RAM 与浏览器缓存和我访问的 Internet 页面有什么关系吗?

memory cache
  • 4 4 个回答
  • 5064 Views

4 个回答

  • Voted
  1. Best Answer
    Mokubai
    2020-11-27T09:48:38+08:002020-11-27T09:48:38+08:00

    为了显示网页的图像、文本和动态元素,您下载的所有数据都必须由 CPU 处理、处理、解码并编组为布局,然后推出显示,这可能由 GPU 完成。

    为了让这些设备能够执行任何操作,它们需要将数据存储在 RAM 中。CPU 可能能够使用指令访问硬盘和网络设备,但根指令将数据从 RAM 拉入 CPU 缓存,然后由 CPU 内核处理。

    实际上,您在计算机上所做的一切都使用 RAM。跨 PCIe 的设备到设备 DMA可能会避免使用 RAM,但是如果您正在查看某些东西的最终结果,那么它,或者至少是它的某种表示,会通过您的 RAM。

    关于我最后一部分的意思的一个例子,看看硬件视频解码。您看到的是解码后的视频帧,实际从互联网下载的视频将被编码和压缩。您下载压缩视频,您的 CPU 将其复制到图形设备内存中,然后您的图形设备在其自己的内存中解码帧。该内存是专用 GPU RAM 还是您的系统 RAM 取决于您的 GPU 是专用的还是集成到 CPU 中的。


    为了澄清您的评论,RAM 绝对没有持久性。它需要电力来保持其状态,与硬盘和其他存储存储器完全不同。我在计算机关闭时 RAM 的内容会发生什么变化?

    • 31
  2. Peter - Reinstate Monica
    2020-11-28T05:04:34+08:002020-11-28T05:04:34+08:00

    从字面上看,您在屏幕上看到的内容(每个单独的图形像素,而不是文本)总是作为图像存储在 RAM 中,然后在每秒显示 60 次左右时循环读取。如今,使用专用图形适配器,RAM 由适配器上的专用(并​​且比平均速度更快)芯片组成。使用集成显卡,就像在商务笔记本上一样,显卡引擎可能会使用一些通用的 RAM。

    从字面意义上来说,很可能从服务器接收到的 HTML 以及网页的抽象模型(解析接收到的 HTML 的结果)也都在内存中。

    现代操作系统上 RAM 和硬盘之间的交互是双向的:系统可能决定将部分硬盘内容保留在内存中一段时间​​(“缓存”它以便更快地重复访问);并且它可能决定将数据“交换”到程序保存在它认为是“内存”的磁盘上,因为它有一段时间没有被访问并且有更多紧急数据需要保存。

    因此,归根结底,浏览器是否尝试将所有内容保存在内存中与您的问题并不真正相关:操作系统可以自由地以它认为最好的方式处理应用程序背后的内存,等等一个不是 RAM 不足的系统,当前显示的网页很可能在所有三个抽象级别的 RAM 中。

    • 3
  3. reirab
    2020-11-28T11:43:16+08:002020-11-28T11:43:16+08:00

    除了前面提到的答案之外,硬盘驱动器上的几乎所有东西,至少在某些时候,也在你的 RAM 中。写入(和读取)磁盘几乎总是使用所谓的直接内存访问 (DMA),其中 CPU 命令 DMA 控制器在某些设备和 RAM 之间传输一块内存。现代计算机上几乎所有的磁盘访问都是以这种方式发生的,CPU 将发出命令将数据块从磁盘传输到 RAM 或从 RAM 传输到磁盘。

    使用 DMA 传输时,CPU 只会在进程完成时收到一个中断。这样做的原因是 CPU 在传输过程中不会被占用,并且可以忙于做其他事情(或者可以处于睡眠状态而不是浪费电力。)几乎所有的 I/O 和存储设备(甚至包括 RAM,但尤其是磁盘)比 CPU 慢得多。虽然我们仍在谈论相对较小的几分之一秒,但从 CPU 的角度来看,将数据块从 RAM 传输到硬盘驱动器所需的时间也可能是永恒的。因此,允许 CPU 仅命令进程启动并在完成时获得中断可以节省大量时间,这些时间可用于 CPU 上的其他有用目的。

    当您在浏览器中加载网页时,以太网控制器会将来自网站的数据放入您的 RAM,可能仍以加密格式。从那里,它将被解密到另一个 RAM 缓冲区中。浏览器通常会使用 RAM 中的缓冲区来显示页面,但随后也会使用 DMA 将其复制到磁盘,以便在再次需要该资源时可以再次从那里加载它,而不必再次从 Internet 下载它.

    您还可以几乎保证当前显示在浏览器中的任何内容当前也在 RAM 中。为了显示它,它至少会在视频 RAM 中以最终呈现的形式呈现,尽管原始 HTML、javascript、图像文件等也可能仍在主 CPU RAM 中该页面仍处于活动状态。

    • 3
  4. Vilx-
    2020-11-28T17:13:15+08:002020-11-28T17:13:15+08:00

    为了补充其他答案:从某种意义上说,现代 CPU 只能处理 RAM 中的数据。对于所有其他设备(HDD、SSD、网络适配器、声卡等),它只能说“嘿,从 RAM 中的这个位置获取这些数据”或“嘿,给我一些数据并将其放在这个位置内存”。当设备完成后,它会通知 CPU,然后 CPU 会转到 RAM 并执行它需要对这些数据执行的任何其他操作。

    好吧,理论上存在旧的“PIO”方法(设备将所有数据直接逐字节发送到 CPU),但现在确实没有太多使用,因为它占用了 CPU,而且通常非常,非常慢。

    一些设备(最显着的是视频适配器,但许多其他设备也有较小的程度)也有自己的内部 RAM。CPU 可能也可能无法直接访问它们。

    但是要回答您最初的问题 - 正如其他人已经说过的那样,是的,该网页肯定会存储在您的 RAM 中。这也将是您将看到的版本。它可能存在的所有其他地方——浏览器缓存、网络适配器等等——只是在网页加载到你的 RAM 之前的垫脚石。这是它的最终目的地,在 CPU 对其进行处理并将其转换为图形像素并发送到视频适配器之前,视频适配器又将其发送到监视器。(粗略地说;那里有一些捷径可以让事情变得更快,但原则上就是这样)。

    • 3

相关问题

  • 可以读取硬盘驱动器并专门写入 RAM 的系统?

  • 5355 UDP svchost.exe Dnscache

  • 购买合适的笔记本电脑 RAM [关闭]

  • RAM 安装顺序。8GB 和 16GB。哪个应该在插槽 0 中?

  • CPU、内存还是主板?(PEBCAK!)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve