linux - Linux中的内存管理

标签 linux memory-management

我研究了 linux 中的分段和分页。我想知道它是否正确? 分段:一个用户进程分成多个段 并为每个分配不同的保护模式 他们。

分页:在虚拟内存中用于按需分页

我理解正确吗?

最佳答案

你的问题英文很差,我不确定我是否完全理解。但这是我认为您提出的问题的答案。

段并不是 Linux 核心的一个特性。它们是目标文件格式的一个特征。是的,他们的目的基本上是正确的。它们的存在是为了标记可执行镜像中的不同类型的数据。加载程序将二进制文件加载到内存中,然后将数据分配给页面,并且它会根据段类型更改某些页面上的保护模式。

是的,分页是一个虚拟内存概念,更是核心 Linux 的一部分。页面是可以分配保护模式、交换到磁盘或以其他方式进行操作的内存区域。

现在,当 ELF 可执行文件映射到内存时,它是“按需分页”的。这意味着构成可执行文件的所有页面都被标记为需要换入。这样一来,当程序可能只需要其中的一些页面时,操作系统不必将所有页面从磁盘上提取到内存中。

关于linux - Linux中的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5288054/

相关文章:

linux - 如何使用 SED 删除不是 [ACGTN] 的字符

c++ - 20,000 个小对象的 vector 与指向 20,000 个堆对象的 20,000 个对象指针的 vector

c - 如何从C中的内存地址获取值?

ios - 为什么retainCount返回2

C++ 池分配器程序仅在控制台关闭时崩溃

c - 合并排序算法中的运行时错误

Linux x86 : Where is the real mode address space mapped to in protected kernel mode?

linux - Linux下执行FTP命令文件

linux - 用于重新启动程序的 Bash 函数

linux - SSSD 和 sudo : mismatch between sudoHost and server hostname