(마땅한 제목이 안떠올라서 마구 썼습니다. 죄송합니다.)
Memory management/swap을 공부하고 있는데요. ELF관련해서 질문이 있습니다.
(참고로, 커널 2.6.36입니다)
어떤 ELF가 로딩/실행될 때 그 ELF의 각 섹션이 do_mmap으로 mapping이 되는 것은
확인했습니다. (elf_map:binfmt_elf.c)
이후에 동적으로 할당되는 메모리 영역들(스택,힙)은 Demand paging이 발생할 때
메모리 영역이 커널에 의해서 할당되죠. (do_anonymous_page)
다른 표현으로 anonymous page라고 부르고,
PAGE_MAPPING_ANON definition으로 anonymous page 영역인지를 나타냅니다. (PageAnon매크로)
DRAM영역들이 부족할 것같다고 판단되면 이 anonymous page들이 swap cache를 통해서
swap out이 되는것까지는 이해했습니다.