Virtual memory

Most of the literature on virtual memory indicates that an application developer who understands virtual memory can help me use its powerful features. I once worked on Linux application development, but I didn't like the intricacies of virtual memory when I was coding. Am I missing something? If so, please follow up on how I can use virtual memory. Else let me know if I don't make sense with the question!

+5
source share
5 answers

Well, actually the concept is pretty simple. I will not repeat it here, but you should pick up any book on OS design, and that will be explained there. I recommend "Operating System Concepts" from Silberscahtz and Galvin - this is what I had to use at the university, and that's good.

A few things I can imagine about what Virtual Memory knowledge can give you:

  • Learning to allocate memory at page boundaries to avoid waste (applies only to virtual memory, not to regular heap / stack memory);
  • Block several pages in RAM so that they are not replaced on the HDD;
  • Guardian Pages
  • Saving a certain range of addresses and the subsequent transfer of actual memory;
  • Maybe using the NX (non-executable) bit to increase security, but I'm not sure about that.
  • PAE a > 4 32- .

, . , 99% .

: , , . - .

+4

.

, , . . mmap().

, , , , .

, .

:

  • ( , , , , )
  • - .
  • .

:

  • 32- .
  • , / (, )
  • , -, ( , ).
+2

- . - , , - . , .

, , .

, .

+1

9 10 , . . , .

, Linux [http://lwn.net/Articles/250967]. , .

+1

, .

, , ( ).

, - , , .

, C (int a[rows][cols]), . , , . .

, . - , , . (, , ), . .

+1

All Articles