[CS] 가상화 (Virtualization)
2024. 1. 5. 05:03
반응형
Virtualization(가상화)
- 단일 물리적 시스템에서 여러 운영 체제를 실행하고 기본 하드웨어 리소스를 공유할 수 있는 기능
- 가상화는 컴퓨터의 자원을 여러 실행 환경으로 나누는 프레임워크 또는 방법론
- 하드웨어와 OS를 분리하여 리소스 Utilization(활용도)와 Flexibility(유연성)을 높이는 Abstract layer(추상화 계층)임
가상화를 지원하는 솔루션은 VMM(Virtual Machine Monitor) 또는 하이퍼바이저
- 가상 머신(Virtual Machine)
- 격리된 런타임 환경(Guest OS 및 Application)을 의미함
- Single Physical System에서 여러개의 VM을 실행할 수 있음
- 하이퍼바이저(Hypervisor)
- 가상 머신 관리자(VMM), 여러 운영 체제가 단일 하드웨어 호스트를 공유할 수 있도록 한다.
- 호스트 프로세서와 리소스를 제어하여, 각각의 VM OS에 할당하여, 서로 방해되지 않도록 격리시킨다.
가상화의 장점과 단점
장점(Pros)
- Cost(비용) : 물리적 서버, 서버 공간, 에너지 비용, 유지 비용 감소
- Efficient Administration(효율적 관리) : 단일 머신으로 관리
- Growth and Scalability(확장성)
- Security(보안) : 단일 서버 보안 유지
단점(Cons)
- Slow Performance(느린 성능) : 하나의 머신에 대한 높은 부하
- SPoF(Single point of failure) : 하나의 호스트 시스템에 여러개의 서버가 있음 → 백업 서버 설정필요
- Learning curve(학습 곡선) : 각기 다른 유형의 소프트웨어와 아키텍쳐
가상화의 사용
- 데이터 센터. 클라우드 컴퓨팅, 데스크탑 컴퓨팅
Virtualization의 유형
Type 1
- Hypervisor가 실제 Kernel(기존 OS)임.
- 가상 머신 : 직접 하드웨어 위에서 동작 (호스트 OS 없이)
- 가상머신에 대한 직접적인 하드웨어 엑세스 제공(전권을 주는 느낌)
- 수정되지 않은 OS가 User mode에서 실행되고 있지만(실제로는 OS가 하이퍼바이저에 의해 제어) → Kernel mode에서 실행되는 것처럼 느낌(Virtual Kernel mode)
Type 2
- 호스트 OS에서 실행되는 소프트웨어로, 이 소프트웨어가 Hypervisor 역할을 하여 가상 머신을 관리한다.
- Hypervisor은 마찬가지로 수정되지 않은 OS에서 작동함.
- 가상 머신 : 호스트 OS 위에서 실행됨
Paravirtualization(반가상화)
OS를 커널을 수정할 수 있는 민감한 명령들을 Hyper call로 대체함
- OS는 System Call을 수행하는 User Program처럼 동작 → Hypervisor을 통해 간접적으로 하드웨어와 통신
- Hypervisor은 Hypercall에 의해 호출된 권한 있는 작업을 실행함
Content / Image Reference
Tannenbaum and Van Steen :: Distributed Systems: Principles and Paradigms (PDF)
반응형
'CS > 운영체제 & 네트워크' 카테고리의 다른 글
[Network] 데이터 전송 : 프로토콜과 OSI 7계층 및 Wireshark 패킷 분석 (0) | 2024.02.23 |
---|---|
[Network] 네트워크 개념과 구성 (0) | 2024.02.23 |
[CS] 프로세스와 스레드 및 병렬 처리 기법 (2) | 2024.01.05 |
[CS] 멀티 쓰레드 환경에서의 상호 배제(Mutex)와 데드락 (+ C#에서의 적용) (0) | 2022.08.03 |
[Linux & 운영체제] 서버 속도가 느리다 (2) (0) | 2022.07.26 |