root@testbed:~/kernel# grep "_swapper_pg_dir" * -r boot/head.S:.globl _swapper_pg_dir,_pg0
페이징할때요 _swapper_pg_dir 이 많이 이용되는데요.
이건 뭐죠? 다른덴 정의안되어 있는데, 유일하게 위에 정의가 다거든요.
.globl 하고 저렇게 정의하는게, 무슨의미인가요?
_pg0 은 레지스터인데왜 앞에 _를 붙였죠?
Q1:_swapper_pg_dir A1:kernel에서 사용하는 Page Table.
Q2:.qlobl 정의는? A2:Linux에서 Pageing은 Linear Address에서 Physical Memory 로 mapping시 CR3와 Global Directory의 Page Global Dirctory를 지칭.
아시겠지만, 리눅스에서 선형주소=| Global Directory | Middle Directory | Tables | OFfset | Q3:_pg0은 레지스터인데 왜 앞에 _를 붙였죠? A3:_ 쓰기는 kernel level에서 사용함을 나타내는 정의.
p.s:저도 공부중 입니다. 더 좋은 댓글이 있으면, 저도 많이 도움이 될 것 같습니다. ^^;
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
제가 아는 범위에서 간단히 답변드리면,
Q1:_swapper_pg_dir
A1:kernel에서 사용하는 Page Table.
Q2:.qlobl 정의는?
A2:Linux에서 Pageing은 Linear Address에서 Physical Memory 로 mapping시
CR3와 Global Directory의 Page Global Dirctory를 지칭.
아시겠지만, 리눅스에서 선형주소=| Global Directory | Middle Directory | Tables | OFfset |
Q3:_pg0은 레지스터인데 왜 앞에 _를 붙였죠?
A3:_ 쓰기는 kernel level에서 사용함을 나타내는 정의.
p.s:저도 공부중 입니다. 더 좋은 댓글이 있으면, 저도 많이 도움이 될 것 같습니다. ^^;
댓글 달기