> I'd like to get confirmation... Ok, but first: please, don't send your e-mails in html mode. The page directory is 1024 entrys long. Each entry is 4 bytes long. So, the page directory steal 4kbytes of memory. ---------------------------------------- | Address | D|A|PCD|PWT|U|W|P| ---------------------------------------- 31 12 6 5 4 3 2 1 0 You have to take into account for the meaning of the flags here. For example, if P=0 then the page entry is not valid (not present), so when the process acess it, it generates a page fault. "Address" points to the beginning of a page table. When you initialize the page directory, you have to think to put a valid address in the "Address" field if you put P=1 for that entry. I must admit i'm reading through the FIRST release linus made: version 0.01 (I do for simplicity). It happens that linus' machine had a limitation of 8MB, so he only needed two valid entries in the directory (each entry in the directory can address 4MB of physical memory). The initialization of the directory and the page tables was done in linux/boot/head.s, in the "setup_paging" routine. Please, if I'm saying something wrong, constructive critics will be appreciated. -- $ fortune A pessimist is a man who has been compelled to live with an optimist. -- Elbert Hubbard $ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/