Understanding Memory Maps
Clash Royale CLAN TAG#URR8PPP
up vote
0
down vote
favorite
Can someone please, help me to understand this. I have read about it. But it's still confusing for me.
Memory maps allow pages to be "faded in" across multiple processes so that multiple processes can access them.
Explain how the operating system can handle this with paging?
linux process memory virtual-memory
add a comment |Â
up vote
0
down vote
favorite
Can someone please, help me to understand this. I have read about it. But it's still confusing for me.
Memory maps allow pages to be "faded in" across multiple processes so that multiple processes can access them.
Explain how the operating system can handle this with paging?
linux process memory virtual-memory
Do you know what virtual memory, and physical memory is? Do you know what a memory management unit does?
â ctrl-alt-delor
Jul 3 at 23:52
I am not sure about the phrase âÂÂfade inâÂÂ, where did you get that? (sounds like something from music/video editing)
â ctrl-alt-delor
Jul 4 at 0:00
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Can someone please, help me to understand this. I have read about it. But it's still confusing for me.
Memory maps allow pages to be "faded in" across multiple processes so that multiple processes can access them.
Explain how the operating system can handle this with paging?
linux process memory virtual-memory
Can someone please, help me to understand this. I have read about it. But it's still confusing for me.
Memory maps allow pages to be "faded in" across multiple processes so that multiple processes can access them.
Explain how the operating system can handle this with paging?
linux process memory virtual-memory
asked Jul 3 at 23:00
user298152
1
1
Do you know what virtual memory, and physical memory is? Do you know what a memory management unit does?
â ctrl-alt-delor
Jul 3 at 23:52
I am not sure about the phrase âÂÂfade inâÂÂ, where did you get that? (sounds like something from music/video editing)
â ctrl-alt-delor
Jul 4 at 0:00
add a comment |Â
Do you know what virtual memory, and physical memory is? Do you know what a memory management unit does?
â ctrl-alt-delor
Jul 3 at 23:52
I am not sure about the phrase âÂÂfade inâÂÂ, where did you get that? (sounds like something from music/video editing)
â ctrl-alt-delor
Jul 4 at 0:00
Do you know what virtual memory, and physical memory is? Do you know what a memory management unit does?
â ctrl-alt-delor
Jul 3 at 23:52
Do you know what virtual memory, and physical memory is? Do you know what a memory management unit does?
â ctrl-alt-delor
Jul 3 at 23:52
I am not sure about the phrase âÂÂfade inâÂÂ, where did you get that? (sounds like something from music/video editing)
â ctrl-alt-delor
Jul 4 at 0:00
I am not sure about the phrase âÂÂfade inâÂÂ, where did you get that? (sounds like something from music/video editing)
â ctrl-alt-delor
Jul 4 at 0:00
add a comment |Â
2 Answers
2
active
oldest
votes
up vote
1
down vote
The CPU has a memory management unit. It maps virtual memory address to physical memory addresses. It does this by looking up mappings in a table. These entries are cached in a translation lookaside buffer (TLB). Each process has its own mapping.
If two processes share some physical memory, then the OS will map part of process A's virtual memory to this physical memory, and map part of process B's virtual memory to this same physical memory. They do not have to be at the same virtual address in the two processes.
add a comment |Â
up vote
0
down vote
Virtual memory does not exist, therefore the name virtual. Virtual memory is just memory addresses (32 or 64 bit numbers) that the process sees and uses, and MAY point to real hardware memory.
The hardware memory it points to can be used already by another process, so sharing memory between processes is possible this way and this is done a lot.
There's also a mechanism that can detect process access to a specific virtual memory region, which can 'do stuff' right before you really access the address. It may map-in some hardware memory to that location for example, or kill your process for behaving badly.
This is all done with pages, blocks of address space that have a predefined function and size. The block-size is often fixed and may be from 1 to 16 kilobytes (depending on processor).
add a comment |Â
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
The CPU has a memory management unit. It maps virtual memory address to physical memory addresses. It does this by looking up mappings in a table. These entries are cached in a translation lookaside buffer (TLB). Each process has its own mapping.
If two processes share some physical memory, then the OS will map part of process A's virtual memory to this physical memory, and map part of process B's virtual memory to this same physical memory. They do not have to be at the same virtual address in the two processes.
add a comment |Â
up vote
1
down vote
The CPU has a memory management unit. It maps virtual memory address to physical memory addresses. It does this by looking up mappings in a table. These entries are cached in a translation lookaside buffer (TLB). Each process has its own mapping.
If two processes share some physical memory, then the OS will map part of process A's virtual memory to this physical memory, and map part of process B's virtual memory to this same physical memory. They do not have to be at the same virtual address in the two processes.
add a comment |Â
up vote
1
down vote
up vote
1
down vote
The CPU has a memory management unit. It maps virtual memory address to physical memory addresses. It does this by looking up mappings in a table. These entries are cached in a translation lookaside buffer (TLB). Each process has its own mapping.
If two processes share some physical memory, then the OS will map part of process A's virtual memory to this physical memory, and map part of process B's virtual memory to this same physical memory. They do not have to be at the same virtual address in the two processes.
The CPU has a memory management unit. It maps virtual memory address to physical memory addresses. It does this by looking up mappings in a table. These entries are cached in a translation lookaside buffer (TLB). Each process has its own mapping.
If two processes share some physical memory, then the OS will map part of process A's virtual memory to this physical memory, and map part of process B's virtual memory to this same physical memory. They do not have to be at the same virtual address in the two processes.
edited Jul 4 at 5:26
Stephen Kitt
139k22296359
139k22296359
answered Jul 3 at 23:59
ctrl-alt-delor
8,68331947
8,68331947
add a comment |Â
add a comment |Â
up vote
0
down vote
Virtual memory does not exist, therefore the name virtual. Virtual memory is just memory addresses (32 or 64 bit numbers) that the process sees and uses, and MAY point to real hardware memory.
The hardware memory it points to can be used already by another process, so sharing memory between processes is possible this way and this is done a lot.
There's also a mechanism that can detect process access to a specific virtual memory region, which can 'do stuff' right before you really access the address. It may map-in some hardware memory to that location for example, or kill your process for behaving badly.
This is all done with pages, blocks of address space that have a predefined function and size. The block-size is often fixed and may be from 1 to 16 kilobytes (depending on processor).
add a comment |Â
up vote
0
down vote
Virtual memory does not exist, therefore the name virtual. Virtual memory is just memory addresses (32 or 64 bit numbers) that the process sees and uses, and MAY point to real hardware memory.
The hardware memory it points to can be used already by another process, so sharing memory between processes is possible this way and this is done a lot.
There's also a mechanism that can detect process access to a specific virtual memory region, which can 'do stuff' right before you really access the address. It may map-in some hardware memory to that location for example, or kill your process for behaving badly.
This is all done with pages, blocks of address space that have a predefined function and size. The block-size is often fixed and may be from 1 to 16 kilobytes (depending on processor).
add a comment |Â
up vote
0
down vote
up vote
0
down vote
Virtual memory does not exist, therefore the name virtual. Virtual memory is just memory addresses (32 or 64 bit numbers) that the process sees and uses, and MAY point to real hardware memory.
The hardware memory it points to can be used already by another process, so sharing memory between processes is possible this way and this is done a lot.
There's also a mechanism that can detect process access to a specific virtual memory region, which can 'do stuff' right before you really access the address. It may map-in some hardware memory to that location for example, or kill your process for behaving badly.
This is all done with pages, blocks of address space that have a predefined function and size. The block-size is often fixed and may be from 1 to 16 kilobytes (depending on processor).
Virtual memory does not exist, therefore the name virtual. Virtual memory is just memory addresses (32 or 64 bit numbers) that the process sees and uses, and MAY point to real hardware memory.
The hardware memory it points to can be used already by another process, so sharing memory between processes is possible this way and this is done a lot.
There's also a mechanism that can detect process access to a specific virtual memory region, which can 'do stuff' right before you really access the address. It may map-in some hardware memory to that location for example, or kill your process for behaving badly.
This is all done with pages, blocks of address space that have a predefined function and size. The block-size is often fixed and may be from 1 to 16 kilobytes (depending on processor).
answered Jul 4 at 9:41
ctrl-d
63726
63726
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f453328%2funderstanding-memory-maps%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Do you know what virtual memory, and physical memory is? Do you know what a memory management unit does?
â ctrl-alt-delor
Jul 3 at 23:52
I am not sure about the phrase âÂÂfade inâÂÂ, where did you get that? (sounds like something from music/video editing)
â ctrl-alt-delor
Jul 4 at 0:00