zero page? bad page?
글쓴이: 훌륭한녀석 / 작성시간: 화, 2003/12/16 - 5:27오후
리눅스 커널 소스를 보고 있습니다.
paging_init()함수에서 나타나는 주석문중에
arch/arm/mm/init.c
/* * paging_init() sets up the page tables, initialises the zone memory * maps, and sets up the zero page, bad page and bad page tables. */
이런 설명이 있는데 zero page라는것과 bad page 그리고 bad page table이란게 어떤것인지 모르겠군요!
나름대로 understanding linux kernel 책도 보고 했는데, 슬프군요!
Forums:
zero page는...메모리 페이지를 할당하고 해제하는 함수는
zero page는...
메모리 페이지를 할당하고 해제하는 함수는 기본적으로
가 있는데 이것으로 페이지를 할당하면 해당 메모리 영역의 내용은 관심을 두지 않습니다. 즉 이전에 사용했었다면, 그 내용이 메모리에 남아 있을 수 있다는 이야기입니다.
가령, 지금 할당된 페이지위치에 이전 사용자가 passwd등을 입력했던 곳이라면 그 내용을 읽어 보안상의 문제를 야기 할 수 있게된다는 거죠.
그래서 페이지를 할당하면서, 해당 메모리 위치를 0으로 채운 상태로 만들기를 원하게 되고 이를 zero page라합니다.
위의 함수를 사용하는 것이 더 타당하겠죠.
bad page, bad pages table은 대강 느낌만 오지 정확히 기억이 안나서... :o
어려운 책으로 시작을 하신듯...
저도 처음에 그책을 봤고, linux kernel programming이란 책을 나중에 봤는데... 후자가 조금 쉽게 접근한것 같네요... 물론 보는 순서를 바꿔 봤다면, 반대로 이야기 할지 모르겟지만요.
Do you think that's the air you are breathing now?
댓글 달기