>
> This suggest that you don't understand virtual memory at all.  Go back to
> the
> start of the chapter and re-read.  The page directories and page tables
> describe a *virtual* address space.  For a given architecture the *virtual*
> address space has a fixed size (4GB for i386), so the page table structure
> is
> always the same size (though it might be sparsely populated).  Inside the
> page


Ack!  As soon as I read this I realized the mistake I had made in my
thinking.  This was a dumb question, and I knew better than to ask.  Somehow
I had confused myself.

----- 8< -----

If a read request is made to a virtual address who's data has been swapped
out, the CPU traps to the OS to fix the problem.  Assuming there are no free
page frames for the new data, a page frame is selected and evicted to make
room for the new page.  Whatever page was chosen belongs to a process
somewhere in the system.  When that page frame gets swapped, the PTE
pointing to that page frame must be updated to indicate that that data is no
longer in RAM.  How does the OS find that PTE?  Does it search through every
entry of every page table for every process in the system until it finds it?

Kevin
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to