how does a program runs in memory and the way memory is handled by Operating system

前端 未结 3 555
别那么骄傲
别那么骄傲 2021-02-01 09:51

I am not clear with memory management when a process is in execution during run time

Here is a diagram \"enter

3条回答
  •  醉话见心
    2021-02-01 10:16

    Linux randomizes the stack, memory mapping segment, and heap by adding offsets to their starting addresses. Unfortunately the 32-bit address space is pretty tight, leaving little room for randomization and hampering its effectiveness.

    I believe this is more of a generalization being made in the article when comparing the ability to randomize in 32 vs. 64-bits. 3GB of addressable memory in 32-bits is still quite a bit of space to "move around" ... it's just not as much room as can be afforded in a 64-bit OS, and there are certain applications, such as image-editors, etc. that are very memory intensive, and can easily use up the entire 3GB of addressable memory available to them. Keep in mind I'm saying "addressable" memory ... this is dependent on the platform and not the amount of physical memory available in the system.

提交回复
热议问题