지금 A20 Gate에 대한 내용을 정리하고 있습니다. 뭐 예제로 보는 것이 가장 확실해서 간단한 예제를 하나 만들어 제 PC에 동작시켜 봤는데... 일반적인 상황이라면 분명히 죽어야 하는 예제인데 이상하게 버젓이 살아서 동작하는 겁니다. @0@... 혹시나 해서 이것 저것 테스트 해봤습니다만, A20 Gate 쪽이 완전히 동작하지 않는 것 같았습니다. 이제 XT 시절에 쓰던 프로그램을 다시 돌릴 일이 없으니, 무의미하긴 하지만.... 없으니 뭔가 좀 허전하더군요. 에러를 발생시키기 위해서 A20 Gate를 비활성화 했음에도 불구하고 잘 동작하는 것 보면 작동 안 한다고 보는 것이 맞겠지요. ㅎㅎ
혹시나 해서 후배 PC에 돌려봤는데, 일단 후배 PC는 자동으로 A20 Gate가 켜지는 건 아닌 것 같았습니다. A20 Gate를 끄고 OS를 부팅했을 때는 계속 리부팅 되더라구요. ^^;;; 그런데 이상한 점은 64bit 모드로 전환되지 않는 다는 것이었습니다. 정상적인 상황이라면 64bit로 전환되어 커널이 실행되어야 함에도 불구하고 64bit로 전환하는 곳에서 멈춰 있었습니다. ㅡ_ㅡa...
원인은 좀 더 살펴봐야 알겠지만... 살짝 골치가 아프네요. ㅎㅎ 이거 원... 프로세서가 64bit를 지원하는 것 만으로는 안되는 것이 있나 봅니다. ㅠㅠ 어흑... 머리야...
ps) A20 게이트와 주소 공간에 대해서는 따로 정리를 한번 했습니다. ;)
'OS Kernel > MINT64 OS' 카테고리의 다른 글
CPUID 명령어를 사용해서 Core 수와 Hyper Threading 수를 계산하는 방법 (4) | 2008.12.24 |
---|---|
이거 원... MINT64 OS를 각 PC 별로 테스트해서 증상을 좀 봐야겠습니다. ^^;;; (4) | 2008.12.22 |
[MileStone] 이제 겨우 다시 C 코드로 넘어왔습니다. ㅎㅎ (6) | 2008.12.16 |
와우~ MINT64 OS를 실제 PC에서 부팅시켰습니다. ;) (18) | 2008.12.14 |
이번에 만든 OS를 실제 PC에서 돌려봤습니다. ㅎㅎ (4) | 2008.12.12 |