假设有许多程序同时运行。
每个运行的可执行程序是否在 RAM 中都有自己的代码、数据和堆栈段,或者是完整的 RAM 分为 4 个段,每个段分别保存每个程序的段。
最佳答案
这取决于两件事:
如果您在常见的主流 Linux、Windows、BSD 上运行 x86,那么
从历史上看,x86 被设计为能够支持分段内存,但操作系统从未使用过它,并且最初在 AMD64 中放弃了对它的支持。尽管最近的处理器再次支持它用于虚拟化和管理程序。如今,用户态应用程序通常在没有分段的情况下部署。
关于operating-system - 每个程序是否在内存中都有自己独立的段(代码、堆栈、数据)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948638/