![]() |
1
16
当你在操作系统中作为一个过程生活时,你被抽象化了,你只会 记忆 . 你不应该担心这个,操作系统会为你管理所有这些,内存单元会把事情从一个移动到另一个。但您仍然可以看到单个虚拟内存布局。 |
![]() |
2
5
从虚拟内存。当进程需要时,操作系统将负责将所需的页面放入RAM。 |
![]() |
3
2
操作系统将用一些物理存储来备份这段地址空间。存储可以是系统内存或一个页面文件块,实际存储位置可以在各种物理存储设备之间移动,从应用程序的角度看,这是透明的。此外,CPU和内存控制器(板上或其他)可以缓存系统内存,但这通常(很大程度上)对操作系统是透明的。 |
![]() |
4
0
如前所述,你不知道。缓存/RAM/硬盘被抽象为虚拟内存。但我认为,如果您可以测量访问时间,您可能会了解RAM或缓存是否正在被访问。但是在第一次访问RAM之后,内存块将被复制到缓存中,随后的访问将从缓存中进行。 |
![]() |
5
0
这要看情况而定。在程序开始时,操作系统提供给您的内存可能不会被调入页面(至少在Linux上不会)。但是,如果您释放一些东西,然后得到一个新的分配,内存可能在缓存中。 在内存中有一个接触内存的构造函数,那么它在构造之后肯定会在缓存中。 如果你在Java中编程,那么你可能会有一个非常酷的内存分配器,并且更可能在缓存中提供内存。 (当我说cache时,我是说l2。L1不太可能,但你可能会走运,特别是对于小型项目)。 |
![]() |
6
0
你不能解决 处理器高速缓存 直接地,处理器(几乎)透明地管理它…最多您可以使缓存线失效或预取;但您可以访问内存地址(如果不是实模式,则通常是虚拟地址),处理器将始终从其内部内存中接收数据和指令(如果数据尚未存在,则需要提取)。 阅读本文了解更多信息: http://en.wikipedia.org/wiki/Memory_hierarchy |
![]() |
7
0
首先,分配给应用程序的内存是一个虚拟内存,其地址位于虚拟空间中。第二,像一级缓存和二级缓存都不会分配给您,这是由系统管理的。实际上,如果为您分配了缓存,那么系统很难分派任务。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |