티스토리 뷰
[InfraStructure] 전 가상화와 반 가상화(Full Virturalization, Half Virtualization)
감자형 2019. 7. 13. 18:54안녕하세요 감자코딩입니다. 이번에 살펴볼 내용은 클라우드쪽의 개념중에 하나인 전 가상화와 반 가상화에 대한 개념입니다.
해당 내용을 요약한 내용입니다.
전가상화(Full Virtualization)
가상머신의 운영체제에서의 구조를 살펴보면,
Guest OS -> Hypervisor -> Hardware
의 구조를 가지고 있다.
하드웨어 위에 Hypervisor가 존재하고, Guest OS가 그 위에 설치 된다. 그럼 Guest OS가 Hypervisor를 통해서 Hardware와 신호를 주고 받는다.
Redhat OS
Windows OS => Hardware
Mac OS
의 구조를 생각해보면된다.
예를 들어, Redhat Windows, Mac OS에서 덧셈과 뺄셈의 연산을 하드웨어에게 요청한다고 생각해보자.
하드웨어는 이것들을 이해하기 위해서 특히, 가상화된 GUEST OS가 하드웨어 위에 올라가는데, 그 OS가 무엇이든간에 하드웨어는 OS가 내리는 명령을 알아들을 수 있어야한다.
- Hypervisor는 OS 들에게 자원을 나눠주며, 조율한다.
- OS들의 커널을 번역해서 하드웨어에게 알려준다.
반가상화(Half Virtualization)
Redhat OS (번역기)
Windows OS (번역기) => Hardware
Mac OS (번역기)
각 OS의 명령어에다가 번역기를 달아서, 각 Guest OS에 있는 명령들을 모두 하나의 번역으로 바꾸어서 Hardware에게 전달하게 된다.
이것들을 실행하기 위해서는 OS마다 각각의 커널딴을 건드리면서 수정을 해야한다.
윈도우 같은경우는 오픈소스로 이루어져있지 않기 때문에, 커널을 수정할 수 없다. 하지만, 리눅스는 오픈소스로 모든 커널이 제공되기 때문에 커널딴을 직접적으로 운영 및 수정을 할 수 있다. 결국 GuestOS를 수정한다는 말이다.
하지만? Windows는?
오픈소스로 제공되지 않는다. 그러면 이것들을 수정 할 수 없다는 말인가?
아니다. Xen에서 제공하는 툴로 전부 다 가능하다. 반 가상화에서는 Hypervisor는 번역을 제공하지 않는가? 그렇다.
자체적으로 커널에 번역을 변경하였으니, Hypervisor는 단지 가상화 OS들에게 자원을 어떻게 배분할 것인가? 하는 관리적인 문제들만 다루면 된다.
reference: https://m.blog.naver.com/CommentList.nhn?blogId=alice_k106&logNo=220218878967
'InfraStructure' 카테고리의 다른 글
[InfraStructure] Docker에 대한 이해 및 구조(컨테이너,이미지) (0) | 2019.07.13 |
---|
- Total
- Today
- Yesterday
- BFS
- MVC
- Spring
- 알고리즘
- 학교
- TensorFlow
- 백준알고리즘
- Controller
- node
- C langauge
- db
- C언어
- node.js
- 스프링
- 감자개발자
- 텐서플로우
- Algorigm
- programming
- Android
- 프로그래밍
- 머신러닝
- 개발하는 관광이
- 백준
- 감자코딩
- 노드
- 리버싱
- 초보자를 위한 C언어 300제
- 안드로이드
- 코드엔진
- 복습
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |