Understanding Memory Maps

The name of the pictureThe name of the pictureThe name of the pictureClash 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?







share|improve this question



















  • 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














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?







share|improve this question



















  • 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












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?







share|improve this question











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?









share|improve this question










share|improve this question




share|improve this question









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
















  • 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










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.






share|improve this answer






























    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).






    share|improve this answer





















      Your Answer







      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "106"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: false,
      noModals: false,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );








       

      draft saved


      draft discarded


















      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






























      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.






      share|improve this answer



























        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.






        share|improve this answer

























          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.






          share|improve this answer















          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.







          share|improve this answer















          share|improve this answer



          share|improve this answer








          edited Jul 4 at 5:26









          Stephen Kitt

          139k22296359




          139k22296359











          answered Jul 3 at 23:59









          ctrl-alt-delor

          8,68331947




          8,68331947






















              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).






              share|improve this answer

























                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).






                share|improve this answer























                  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).






                  share|improve this answer













                  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).







                  share|improve this answer













                  share|improve this answer



                  share|improve this answer











                  answered Jul 4 at 9:41









                  ctrl-d

                  63726




                  63726






















                       

                      draft saved


                      draft discarded


























                       


                      draft saved


                      draft discarded














                      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













































































                      Popular posts from this blog

                      How to check contact read email or not when send email to Individual?

                      Displaying single band from multi-band raster using QGIS

                      How many registers does an x86_64 CPU actually have?