Channels ▼

Developer Reading List

, August 20, 2013 New books on Windows internals, JavaScript, Groovy, Python, and P=NP
  • E-mail
  • Print

What Makes It Page?

The Windows 7 x64 Virtual Memory Manager

by Enrico Matignetti

What Makes It Page? is an extraordinary hacker's journey through the Windows 7 (x64) virtual memory manager. Rather than just relying on commonly available information about Windows 7 internals, the author used WinDbg to analyze the operations and functionality. How many hours he must have spent in this effort and the consequent research is beyond my capacity to answer, but in view of the fact that he has delivered here almost 600 pages of material, suggests years of monk-like work.

The pages are replete with detailed discussions of WinDbg output to show the reader how to track down the important details of how, for example, dirty pages are flagged and what becomes of them. A topic as seemingly innocuous as memory-mapped files gets 40 pages of detailed analysis that rests on the previous 300 pages of detailed explanation. And these explanations are not just highbrowed material for OS nerds. The first section of the book is a thoughtful tutorial on how basic memory operations work: everything from how addresses are calculated to the basics of paging and cache control are explained in clear, readable prose. This foundation is then developed extensively by delving into the specifics of Windows 7's implementation. The author finishes up with a grab-bag of "obscure VMM concepts" that he ran into while doing his work. Among those topics is the effect of memory locking on the counters of available memory.

It's been a very long time since I've seen such extensive and meticulous deep digging to reveal material not previously available. A truly excellent resource for anyone interested in Windows internals.






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.