首页 > 试题广场 >

Linux进程中,应用可见的内存空间是一样的,是如何做到的?

[单选题]
Linux进程中,应用可见的内存空间是一样的,是如何做到的?()
  • 编译时区分
  • 使用虚拟内存转换
  • 运行时分配不一样的实际地址
  • 都不是
linux的虚拟内存模型,使得每个进程都以为自己拥有整个内存空间(内核使用的空间除外)
发表于 2019-10-08 22:02:48 回复(0)
竟然没有讨论? 那我说说非主流的方法吧, 其实我是看不懂题目的
1.给了四个选项, 这么辛苦, 排除D
2.猜测:编译和运行是独立的,互不干涉, 排除A
3.猜测:C表达的因果关系不对
4.只剩B了, 嗯
发表于 2019-07-26 22:48:50 回复(2)
linux中,虚拟内存和物理内存的映射表可以让虚拟内存找到对应的物理内存地址,
只要将A进程虚拟内存和B进程虚拟内存开头指向同一块物理内存,
就使得A、B进程的运行起始地址一样
编辑于 2021-09-03 11:31:06 回复(0)
linux的虚拟内存模型,使得每个进程都以为自己拥有整个内存空间(内核使用的空间除外)
发表于 2020-02-27 06:12:04 回复(0)
linux的虚拟内存模型,使得每个进程都以为自己拥有整个内存空间(内核使用的空间除外)
发表于 2021-05-19 08:38:55 回复(0)
BBB,我就是要选B
发表于 2019-09-23 08:09:37 回复(0)

第一感觉很重要,就是b了

发表于 2019-09-13 13:41:49 回复(0)
Linux进程中,应用可见的内存空间是通过虚拟内存机制实现的。

虚拟内存是一种抽象概念,它允许每个进程有自己独立的地址空间,使得每个进程认为它拥有连续的、私有的内存空间。实际上,这个地址空间是被划分成多个页(通常是4KB大小的页),并且这些页可以映射到物理内存或磁盘上的交换空间。

当一个进程执行时,它只能访问自己虚拟地址空间中的内存,而不必担心与其他进程相互干扰。每个进程都有单独的页表来跟踪虚拟内存到物理内存的映射关系。操作系统负责管理这些页表,并根据需要在物理内存和交换空间之间进行数据的交换。

因此,每个应用程序在其进程中看到的内存空间是相同的,而实际上这些内存地址是被映射到不同的物理内存位置或者磁盘上的交换空间。这样,每个应用程序就可以在自己的虚拟内存空间中独立地运行,而无需关注其他应用程序的内存使用情况。

发表于 2023-09-12 17:44:08 回复(0)
应用数据多 物理内存不够存 考虑到即时性不高 可建立映射表 虚拟内存 扩展存储 这样 每条数据在总内存都有编号 仿佛虚拟内存也是物理内存的一部分 归属感
编辑于 2022-04-10 03:10:50 回复(0)
应用可见的内存空间一样A.K.A每个进程拥有相同大小的内存空间,通过虚存技术实现
发表于 2022-03-02 08:10:29 回复(0)