안녕하세요.
메모리는 공부를 해도 헤깔립니다. 몇가지 헤깔리는 질문을 올립니다.
1. page table은 프로세스 마다 생성되는것이 맞나요?
맞다면 head.S에서 __create_page_tables()라는 함수가 보이는데 도저희 프로세스 마다 생성하는것으로는 안보입니다. 다른 함수가 있나요?
2. swapper_pg_dir은 초기에 커널이 처음 만드는 페이지 테이블로 알고 있습니다.
그렇다면 swapper_pg_dir은 cpu 개수에 상관 없이 전체 시스템에 하나가 맞는건가요?
3. ttba/ttbr0/ttbr1은 cp15 명령어를 통해 설정하는데 이 값들은 cpu마다 각각 설정가능한것으로 알고 있는데 그렇다면 cpu마다 다른 값들을 가지는건가요?
4. head.S에 보면 idmap_pg_dir, swapper_pg_dir들을 ttbr0/ttbr1에 설정하던데 cpu마다 idmap_pg_dir or swapper_pg_dir은 cpu 마다 다른건가요?
이상한 질문만 해서 죄송합니다.
댓글 0
.