^^ 안녕하세요. pmd_large() 함수 질문입니다.

박종섭 2008.04.10 01:01 조회 수 : 7440 추천:76

커널 공부를 하는데... 소스에서 이해가 안가는 부분이 있어서 올립니다.

무턱대고 물어봐서 죄송합니다. ㅎㅎㅎ

------------------------------------------------------------------------------------------------
        pgd_t *pgd;     pud_t *pud;     pmd_t *pmd;     pte_t *pte;

        pgd = pgd_offset_k((unsigned long)주소);
        pud = pud_offset(pgd, (unsigned long)주소);
        pmd = pmd_offset(pud, (unsigned long)주소);
        
        if(pmd_large(*pmd))
                pte = (pte_t *)pmd;
        else
                pte = pte_offset_kernel(pmd, (unsigned long)주소);
------------------------------------------------------------------------------------------------

그 주소에 해당하는 페이지 테이블까지 찾아가는 소스인데 오픈 소스입니다.
리눅스는 원래 3단계(pgd, pmd, pte)를 하는데 pmd가 pgd에 포함 되어 있다고 하더라구요.
64비트와 호환을 두기 위해서 라고 하던데
커널 2.6.x버전부터 바껴서 4단계로 넘어왔다고 합니다.
재미있는건 32비트이면 다 if가 참일줄 알았는데 유독 페도라7만 else가 참이더라구요
페도라8은 또 if가 참이고
이부분에 대해서 알고 계시면 설명좀 부탁드립니다. ^^

그리구 페이지 테이블 속성중에 8번째 비트에 대해서 아시는거 있으면 이것도 설명 부탁드립니다.

즐거운 하루되세요~
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22269
378 멀티프로세서+멀티코어에 대해 궁금한게 있습니다!? [8] 박한범 2010.10.30 7673
377 (xen 소스코드 수정을 위해 )xen 설치 오류 문의드립니다 ㅠㅠ 조은비 2012.12.05 7673
376 스터디 관련 [3] 이상대 2009.02.13 7671
375 맥북에서 vmware로 CentOS 설치가 가능한가요?? [1] Jason 2011.07.20 7671
374 리눅스에서 armulator 구동하는 방법 김성오 2010.11.08 7660
373 [질문] libc-2.5.so 파일을 복사했더니 시스템이 멈춰버렸어요. 이창우 2012.05.07 7651
372 Android단말기 boot.img 생성 후 이미지 씌우기 질문입니다. [2] 권효서 2013.08.26 7631
371 emacs에서 cscope-find-global-definition과 find TAG [3] 이승한 2011.03.30 7524
370 CS8900 인터럽트 처리와 관련한 질문입니다. [1] 김현우 2009.01.07 7495
369 [초보]만들면서 배우는 OS 커널의 구조와 원리 서적 관련 질문드립니다. 보신분 답변좀 부탁드려요^^ [6] 박세한 2012.01.28 7488
368 캐시 관련 질문 드립니다. [6] 홍문화 2011.07.04 7449
» ^^ 안녕하세요. pmd_large() 함수 질문입니다. [3] 박종섭 2008.04.10 7440
366 io_p2v, io_v2p 매크로 설명 부탁드립니다. [4] 이창만 2008.11.25 7426
365 xen-arm 에서 xen-tools 관련 질문입니다. [5] 윤영일 2012.12.04 7412
364 아마존 ec2의 리젼 이동 신재욱 2010.06.14 7409
363 dd명령어 써서 디스크 카피 할 시 신재욱 2010.06.16 7362
362 파일시스템관련 서적추천 부탁드립니다. [7] 김영일 2012.04.25 7331
361 USB host 관련 porting 이나 non bus type 으로 작업 해보신 분 계신가요? [3] 신철수 2008.02.27 7301
360 kmalloc() 은 어느 시점 부터 사용이 가능한가요? [2] 이창만 2008.11.19 7292
359 VMM 세미나중 디바이스 가상화 관련 질문^^.. [3] 박은병 2008.01.04 7252
XE Login