Python读取fi时使用什么内存资源

2024-04-19 09:52:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我很好奇读取文件时使用了什么内存资源。块存储在哪里?它是堆,因此是RAM吗?你知道吗

with open("file.txt", "r") as fd:
    block = fd.read(64)

Tags: 文件内存txtreadaswith资源open
1条回答
网友
1楼 · 发布于 2024-04-19 09:52:43

内存块(与block变量不同)可能在某个时候存储在RAM中,但不在进程堆中。操作系统会做一些非常复杂的事情(查看info虚拟内存了解更多信息),为每个进程提供自己的内存部分。操作系统内核也占据了很大的一部分。你知道吗

现在,read是一个系统调用,这意味着您的处理器将方向盘交给内核来完成它的工作。然后,内核以它想要的任何方式处理从磁盘到内存的复制,但是只有您请求的数据才会存储在进程的内存块中。在您的示例中,内核将以某种方式获取块,可能将其存储在RAM中的某个位置(但它也将利用处理器缓存以允许稍后进行更快的访问),但唯一的保证是,最多64个字节的块将存储在堆上的一个变量中(由名称block指向)。你知道吗

相关问题 更多 >