2013. 8. 21. 22:15 devel/개념
para virtualization vs full virtualization
복잡하고 그림 도식으로 도배할까 하다가 그냥 간단하게 작성한다
full virtualization, para virtualization 차이가 뭔지 무쟈게 찾아봐도 명확하게 안나오더라
뭔가 확실한 소스에서 지식을 습득하고 싶은데 출처가 전부 의심스러운 블로그들
글 쓴 사람들도 뭔가 명확하게 이해하고 있지 않는 것 같다 ㅋㅋ
그리고 놀라운건 xen 자체에서도 그닥 명쾌하게 정의하고 있지 않다
멍ㅋ청ㅋ
그러다가 The Definitive Guide to the Xen Hypervisor 에서 명쾌한 답을 찾았다
fv - vmware에서 말하는 binary rewriting 기법이든 뭐든간에 여튼 모든걸 다 에뮬레이션 하는 방법이다
guest에서 trap call 하면 마치 진짜 cpu에다가 trap call한거처럼 hypervisor는 초특급 풀서비스를 제공한다
pv - guest 소스를 수정해서 아예 trap call을 다른거로 바꿔버린다 제로의 영역(ring 0)이 아니라 ring 1같이
priviliged 모드가 아닌 다른 무언가로 코드를 바꿔버린다 그걸 xen에서는 hypercall이라고 부르지
결국 pv의 guest는 뭘하든간에 ring 0를 호출하는 행동을 안 한다 다시 쉽게 말해서 진짜 그냥 평범한 app로 변!신!
그래도 뭔 소린지 이해가 안 가는 분들은 저 책 보면 자세히 나와있으니 참조 하심 될듯
근데 xen에서 fv+pv 막 이런거도 만들었던데 어헝헝
그건 다음에 봐야겠다
'devel > 개념' 카테고리의 다른 글
헤더파일 전역변수 중복 오류 (0) | 2016.04.21 |
---|---|
EAS(Energy-Aware Scheduler) 스케쥴러 정리 (0) | 2016.03.24 |
HTTP - Stateless Protocol (0) | 2011.08.10 |
TCP vs UDP (0) | 2011.05.04 |
연산자 우선순위 + 보너스 더블포인터를 사용해야만 하는 경우 (0) | 2009.10.11 |