On Wednesday 30 July 2008 18:07:51 FreeBSD Hackers wrote: > > 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?
You should have quoted (and I suppose read) my entire message: > .. you need additional bookkeeping > to track that (see core map, free lists, ...) Wikipedia really does a good job explaining all this. -- /"\ Best regards, | [EMAIL PROTECTED] \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | [EMAIL PROTECTED] / \ ASCII Ribbon Campaign | Against HTML Mail and News _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"