When we access an address from a process( say A) , we go through the
page global directory (mm_struct→pgd) ---> |Page directory|--->|page table|--->|page table entry|. In this sequence we will get to page table entry and can access the 'present' bit.
Lets say, if one page of 'A' needed to be swapped out (May be 'A' is sleeping for a long time and these pages are not accessed recently), how the kernel resets the 'present' bit for the page table entry for 'A' ( for the page getting swapped out) .
1)Is there some global trees maintained to do this?
2) If so how is it organized?
Its a question out of my curiosity