원래는 VT(Virtualization Technology)에 대해서 먼저 볼 생각이었지만, VT 기술을 보기 이전에 먼저 해결해야 할 일이 있더군요. 예전부터 궁금했던 것이 물리적으로 CPU의 개수가 2개 이상이면 이것이 어떻게 조율되어 동작할까 하는 부분이었습니다.

 특히 애매한 부분이 파워가 On 되거나 리셋이 됬을 때, CPU는 2개 모두 동작하도록 되어있는 것인지, 만약 그렇다면 둘다 BIOS 코드를 실행하고 OS 코드를 실행하는 것인지에 대한 부분이었습니다. 시간이 나면 본다고 미뤄뒀더니 아득한 기억 속으로 사라져있다가 이제야 떠올랐네요(역시 사람은 망각의 동물... ㅜ_ㅜ).

 이 부분에 대한 내용은 Intel64 and IA-32 Archtectures Software Developers Manual-Volume 3A-System Programming Guide, Part 1CHAPTER 7 MULTIPLE-PROCESSOR MANAGEMENT에 자세하게 나와있습니다. 지금 읽어보면서 정리하고 있는데, 나중에 대충 끝나면 포스팅하겠습니다. 현재는 스프링노트에서 작업 중이고, 어느정도 작업되면 링크를 걸어놓을테니 진행 과정이 궁금하신 분들은 참고하시면 될듯 합니다. ^^)/~

 새벽에 시간을 내어 앞부분을 조금 읽어보니, 지금까지 궁금해했던 내용이 바로 해결됬습니다(진작 읽어볼껄... ㅜ_ㅜ).


PC가 처음에 부팅이 되면 코어를 2종류로 설정하는데, 하나는 BSP(Bootstrap Processor)가 되고 나머지는 AP(Application Processor)가 됩니다. BSP는 부팅코드를 실행하고 OS 코드를 실행하는 메인의 역할을 하고, AP는 BSP에게서 신호를 받아서 동작하는 수동적인 역할을 하는 것 같습니다.


 물론 이것은 부팅과정에서만 해당되는 이야기이며, 실제 OS에서는 용도에 따라 Master - Slave로 가던지 Master - Master로 가던지 할겁니다. BSP와 AP로 나누고 부팅을 완료하는 과정까지 꽤나 복잡하던데, 자세한 것은 내일 또 알아봐야겠습니다.

 벌써 밤이 많이 깊었군요. ^^;;;;; 다시 올빼미로 돌아가는 것 같습니다. 이러면 안되는데... ㅜ_ㅜ
 다들 좋은 밤되세요 >ㅁ<)/~~!!!


 

+ Recent posts