운영체제

운영체제(OS, Operating System)는 컴퓨터 하드웨어와 사용자를 이어주는 기본 소프트웨어입니다.

🔹 운영체제의 주요 종류

1. 데스크톱 / 개인용 OS

  • Windows
    • 마이크로소프트(Microsoft)에서 개발.
    • 가장 대중적, 소프트웨어 호환성 최고.
    • 게임, 기업, 개인 PC에서 많이 사용.
  • macOS
    • 애플(Apple)에서 개발.
    • 맥북, 아이맥 등 애플 컴퓨터 전용.
    • 디자인·영상 편집·음악 작업에 강세.
  • Linux
    • 오픈소스 기반, 무료 배포.
    • 다양한 배포판(우분투, 페도라, 데비안 등).
    • 개발자, 서버, 연구 환경에서 인기.

2. 모바일 OS

  • Android
    • 구글에서 개발, 전 세계 스마트폰의 대다수 점유.
    • 삼성, LG, 샤오미, 화웨이 등 다양한 기기에서 사용.
  • iOS
    • 애플의 아이폰, 아이패드 전용.
    • 폐쇄적이지만 안정성과 최적화가 강점.
  • 기타
    • 과거 Windows Phone, BlackBerry OS 등이 있었지만 현재는 거의 소멸.

3. 서버 / 기업용 OS

  • Linux (서버용)
    • 웹 서버, 데이터베이스, 클라우드 환경에서 압도적 점유율.
    • 안정성·보안성이 뛰어남.
  • Windows Server
    • 마이크로소프트에서 제공.
    • 기업 환경에서 Active Directory, 파일 서버, ERP 등에 활용.
  • UNIX
    • 오래된 운영체제 계열.
    • 안정성과 신뢰성이 뛰어나 은행, 통신사, 대형 서버에서 여전히 사용.
    • 상용 버전: AIX(IBM), HP-UX(HPE), Solaris(Oracle).

4. 특수 목적 OS

  • 임베디드 OS
    • 가전제품, 자동차, IoT 기기 등에 탑재.
    • 예: RTOS(실시간 운영체제), QNX, VxWorks.
  • 슈퍼컴퓨터 OS
    • 리눅스 기반 커스터마이즈 버전.
  • 가상화 OS
    • VMware ESXi, Hyper-V 등.

가상화 OS란?

  • 물리 서버 위에서 여러 ‘가상 컴퓨터(가상머신, VM)’를 동시에 돌리게 해주는 기본 소프트웨어입니다.
  • 이걸 흔히 하이퍼바이저(Hypervisor) 라고 부르고, 각 VM 안에는 보통의 게스트 OS(Windows, Linux 등) 가 설치됩니다.
[물리 하드웨어]
      │
[하이퍼바이저 = 가상화 OS]
      │───────────────┬───────────────┬───────────────
   [VM #1]          [VM #2]         [VM #3]
  (Linux)          (Windows)        (BSD 등)

하이퍼바이저 유형

1) Type-1 (베어메탈)

  • 하드웨어 위에 직접 설치되는 순정 하이퍼바이저.
  • 성능·안정성·보안성이 좋아서 서버/클라우드 표준.
  • 예:
    • VMware ESXi :  VMware에서 출시한 Type1 하이퍼바이저이자 유닉스 계열 운영체제이다.[2]
    • Microsoft Hyper-V(서버) : Windows Server 2008 R2 with Hyper-V 에디션부터 기본 제공되기 시작한 Type 1 하이퍼바이저. Windows 10 데스크탑은 Pro 에디션부터 사용 가능하다.
    • KVM (Kernel-based Virtual Machine) : 리눅스 커널 안에 내장된 하이퍼바이저(Type-1)
    • Xen : 2003년 케임브리지 대학에서 시작된 오픈소스 하이퍼바이저 프로젝트. XenServer 및 Xen Hypervisor는 반가상화(Para-Virtualization)를 통해 Bare Metal 서버의 성능과 거의 일치하는 성능을 제공하는 가상화 플랫폼이다.

2) Type-2 (호스티드)

  • 일반 OS 위에서 앱처럼 돌아가는 하이퍼바이저.
  • 설치·사용이 쉬워서 개발/테스트/개인용에 적합.
  • 예: VirtualBox, VMware Workstation/Fusion, Parallels Desktop(맥).
구분Type-1 (베어메탈)Type-2 (호스티드)
위치HW 위에 직접기존 OS 위에서 앱처럼
장점고성능/안정/보안/스케일설치 쉬움, 데스크톱 친화
용도서버, 데이터센터, 클라우드개발/테스트, 멀티 OS 사용
예ESXi, Hyper-V, KVMVirtualBox, Parallels

가상화가 작동하는 핵심 원리

  • CPU 가상화: VT-x/AMD-V 같은 하드웨어 보조 가상화로 트랩/컨텍스트 전환을 효율화.
  • 메모리 가상화: EPT/NPT로 2단계 주소 변환(게스트 가상→게스트 물리→호스트 물리).
  • I/O 가상화: 가상 디스크/가상 NIC를 소프트웨어로 에뮬레이션, 또는 직접 할당(passthrough, SR-IOV)로 성능 향상.
  • 스케줄링: 물리 CPU 코어들을 vCPU에게 시분할로 배분.

Type-1 하이퍼바이저의 자원 공유

🔹 1. CPU (연산 자원)

  • 물리 CPU 코어 → vCPU(가상 CPU) 로 나눠서 VM에 할당.
  • 스케줄러가 OS 프로세스처럼 vCPU를 물리 코어에 매핑.
  • 오버커밋 가능 → 예: 물리 8코어인데 vCPU 16개 할당. (동시성↑, 성능은 나눠 씀)
  • 고급 기능: CPU 핀닝(pinning) → 특정 VM에 특정 코어를 고정.

🔹 2. 메모리

  • VM마다 고정된 vRAM을 할당 (예: VM1 = 4GB, VM2 = 8GB).
  • 하이퍼바이저가 실제 물리 메모리 주소 ↔ 게스트의 가상 메모리 주소를 변환
  • 오버커밋 기법:
    • Ballooning: 사용하지 않는 메모리를 회수해 다른 VM에 재할당.
    • Transparent Page Sharing (TPS): 여러 VM에서 동일한 메모리 페이지를 하나만 유지.
  • 다만, 너무 오버하면 스왑 발생 → 성능 급락.

🔹 3. 디스크 (스토리지)

  • VM은 가상 디스크 파일(VMDK, VHD, QCOW2 등) 을 실제 디스크 위에서 사용.
  • 하이퍼바이저가 VM의 I/O 요청을 받아서 → 물리 디스크나 스토리지에 전달.
  • 고급 기능:
    • 씬 프로비저닝: 실제로 쓰는 만큼만 물리 디스크 차지.
    • 스냅샷: 특정 시점 상태를 복제.
    • 스토리지 QoS: VM별 IOPS 속도 제한.

🔹 4. 네트워크 (NIC, I/O)

  • 물리 NIC → 가상 스위치(virtual switch) 로 추상화.
  • 각 VM은 vNIC을 가지고, 가상 스위치를 통해 외부 네트워크와 통신.
  • 하이퍼바이저가 패킷을 소프트웨어 레벨에서 스위칭/라우팅 처리.
  • 고급 기능:
    • VLAN/VXLAN 태깅 → VM 네트워크 분리.
    • SR-IOV: 물리 NIC를 하드웨어적으로 나눠 VM이 직접 접근 (성능↑).
 ┌────────────────────────┐
 │  하드웨어(HW)            │
 │ CPU | RAM | Disk | NIC │
 └──────┬─────────────────┘
        │
 ┌──────▼───────────┐
 │ Type-1 Hypervisor│
 │  (자원 관리/스케줄링)│
 └───┬───────────┬──┘
     │           │
 ┌───▼───┐   ┌───▼───┐
 │ VM #1 │   │ VM #2 │
 │ vCPU  │   │ vCPU  │
 │ vRAM  │   │ vRAM  │
 │ vDisk │   │ vDisk │
 │ vNIC  │   │ vNIC  │
 └───────┘   └───────┘

✅ 정리

  • CPU → vCPU로 스케줄링/분배
  • RAM → vRAM으로 할당, 오버커밋·공유 기법 활용
  • 디스크 → 가상 디스크 파일로 매핑, I/O는 하이퍼바이저가 중재
  • 네트워크 → vNIC + 가상 스위치, 필요 시 SR-IOV로 직접 연결

필수 개념 & 기능

컴퓨팅

  • vCPU / vRAM: VM에 할당하는 가상 코어·메모리.
  • NUMA(Non-uniform memory access) 인지, CPU 핀닝(고정), HugePages로 성능 최적화.

스토리지

  • 가상 디스크 포맷: VMDK(ESXi), VHD/VHDX(Hyper-V), QCOW2(KVM), RAW 등.
  • 스냅샷: 시점 캡처/롤백. (DB·대규모 I/O 워크로드는 장시간 스냅샷 상주 금지 권장)
  • 프로비저닝: 씬(필요 시 확장) / 씩(미리 할당).
  • 공유 스토리지: iSCSI/NFS/FC → 라이브 마이그레이션과 클러스터 필수 인프라.

네트워킹

  • 가상 스위치/브리지, VLAN, VXLAN/오버레이
  • NIC 팀/본딩, SR-IOV(가상 함수로 고성능 I/O)
  • 분산 스위치(예: vDS), 보안 그룹/포트 그룹으로 분리와 제어.

가용성/운영

  • 라이브 마이그레이션(무중단 VM 이동: vMotion/Live Migration)
  • HA(호스트 장애 시 VM 자동 재시작), DRS(부하 분산), 클러스터링
  • 템플릿/클론으로 빠른 VM 배포, 골든 이미지 관리
  • 백업: 에이전트리스 스냅샷 기반(예: VADP) + 애플리케이션 정합성(퀘슨스)

보안

  • 격리(Isolation) 가 기본 장점이지만, 이따금 VM Escape 같은 취약점 대비 필요.
  • Secure Boot, vTPM, 암호화(VM/디스크/스토리지/전송) 지원.
  • 패치 관리와 권한 분리(멀티테넌시)가 핵심.

대표 제품 / 생태계 한눈에

  • VMware ESXi + vCenter: 엔터프라이즈 표준급 기능 풍부(HA, DRS, vDS, NSX 등).
  • Microsoft Hyper-V + System Center: Windows 생태계와 궁합, AD/파일서버와 매쉬.
  • KVM(리눅스 내장) + libvirt/virt-manager/Proxmox/oVirt/OpenStack: 오픈소스, 유연하고 비용 효율.
  • Xen: 클라우드 초창기부터 사용, 일부 퍼블릭 클라우드 구현체에 응용.
  • Type-2: VirtualBox/Parallels/VMware Workstation—개발·교육·개인 멀티OS.

VM vs 컨테이너(도커 등)

[하드웨어]
  └─[하이퍼바이저]
      └─ VM(게스트 OS + 앱)  ← 완전한 OS 단위 격리, 강한 분리/이식성, 오버헤드↑

[하드웨어]
  └─[호스트 OS + 컨테이너 런타임]
      └─ 컨테이너(앱 + 라이브러리)  ← OS 커널 공유, 경량/빠른 배포, 커널 레벨 격리
  • VM: 강한 격리/레거시 OS 실행/이질적 OS 혼합 가능.
  • 컨테이너: 가벼움/빠른 스케일/마이크로서비스에 최적, 동일 커널 공유 제약.
  • 실제 현장에선 VM 위에 쿠버네티스(컨테이너 오케스트레이션) 를 띄워 둘 다 쓴다.

GPU 가상화/패스스루

  • Passthrough(VFIO): GPU를 특정 VM에 1:1 할당 → 네이티브급 성능.
  • vGPU/SR-IOV: 하나의 물리 GPU를 여러 VM이 나눠씀. VDI, AI 추론 등에 유용.
  • 워크로드(렌더링/AI 학습/VDI) 따라 패스스루 vs vGPU 선택.

흔한 활용 시나리오

  • 서버 통합(여러 물리 서버 → 한 대의 고성능 서버에 VM 다수)
  • 개발/테스트(다양한 OS·버전 스냅샷으로 빠르게 실험/롤백)
  • VDI(가상 데스크톱 인프라)
  • DR/백업(원격지 복제, 신속 복구)
  • 레거시 유지(옛 OS/앱을 VM으로 보존)

설계·구축 체크리스트 (실무 팁)

  1. 워크로드 정의: CPU/메모리/디스크 IOPS/네트워크 요구 사항 먼저.
  2. 라이선스/비용: 하이퍼바이저, 게스트 OS, 백업 SW, vCenter/SCVMM 등 TCO 평가.
  3. 스토리지: IOPS·지연·용량 계획(캐시, RAID, NVMe, 씬/씩 전략).
  4. 네트워크: 대역폭·VLAN·보안·멀티NIC·LACP 설계.
  5. 가용성: 공유 스토리지 + 2대 이상 호스트 + HA/라이브 마이그레이션.
  6. 백업/복구: 스냅샷은 임시 수단, 정식 백업 솔루션으로 주기적 백업·복구 연습.
  7. 보안: 관리 평면 분리, RBAC, 패치, vTPM/암호화.
  8. 모니터링: 호스트/VM/스토리지/네트워크 전방위 계측(알람·대시보드).
  9. 성능 튜닝: NUMA 고려, CPU 오버커밋 한도, HugePages, 스토리지 큐딥스, MTU.
  10. 성장 계획: 노드/스토리지 수평 확장 시 무중단 증설 경로 확인.

선택 가이드 (짧게)

  • 엔터프라이즈 기능·지원이 필요 → VMware ESXi 또는 Windows 중심이면 Hyper-V
  • 오픈소스/비용 효율/유연성 → KVM 계열(Proxmox, oVirt, OpenStack)
  • 개발·학습·개인용 멀티OS → VirtualBox/Parallels/VMware Workstation

Microsoft 가상화

Hyper-V

  • 정식 하이퍼바이저(가상화 OS, Type-1)
  • 윈도우 서버/프로에 들어있는 기능.
  • 여러 개의 가상머신(Windows, Linux, BSD 등)을 독립적으로 실행.
  • VM마다 CPU, 메모리, 디스크, 네트워크 등 리소스를 따로 할당.
  • 관리 도구: Hyper-V Manager, PowerShell, 그리고 System Center 같은 엔터프라이즈 툴.
  • 주 용도:
    • 서버 통합
    • 개발/테스트 환경
    • 가상 데스크톱(VDI)
    • 네트워크/보안 실험

👉 즉, “완전한 VM 플랫폼”.


WSL2

  • Windows에 내장된 리눅스 호환 계층 (WSL1은 번역 계층, WSL2부터는 가상화 사용).
  • 내부적으로는 가벼운 Hyper-V 기반 VM에 리눅스 커널을 올려서 돌림.
  • 하지만 사용자는 “VM 같다”는 느낌을 거의 못 받음.
  • 윈도우 파일시스템과 리눅스 파일시스템을 매끄럽게 공유하고,
    윈도우 명령 프롬프트/PowerShell에서 바로 리눅스 명령을 실행 가능.
  • 주 용도:
    • 개발자(특히 웹/리눅스 서버 환경)
    • Docker Desktop, 리눅스 전용 툴 실행
    • 리눅스 CLI 학습

👉 즉, “윈도우에서 바로 쓰는 개발용 리눅스 환경”.


핵심 차이 정리

구분Hyper-VWSL2
성격완전한 하이퍼바이저 (Type-1)윈도우 통합형 리눅스 서브시스템
실행 대상여러 OS (Windows, Linux 등)리눅스 전용
격리 수준완전 독립 VM윈도우와 긴밀히 연결
관리 방식Hyper-V Manager, PowerShell명령어 wsl, MS Store 배포판
리소스 사용VM 단위로 메모리/디스크 예약동적 메모리 사용, 훨씬 가벼움
사용 목적서버 가상화, 테스트, 기업 환경개발자용 리눅스 환경, Docker
체감 난이도VM처럼 OS 설치/관리 필요설치 몇 분이면 바로 사용

✅ 요약

  • Hyper-V = 무거워도 진짜 VM 환경 (기업/서버/인프라).
  • WSL2 = Hyper-V 기술 위에서 돌아가는, 가볍고 개발 친화적인 리눅스 실행 환경.

AWS의 가상화 구조

1. 초창기 (2006년~)

  • AWS EC2는 Xen 하이퍼바이저 기반으로 시작.
  • Xen은 Type-1 (베어메탈) 하이퍼바이저 → 하드웨어 위에 직접 올라가는 구조.
  • EC2 인스턴스는 Xen 위의 가상머신으로 실행됨.

2. 중간 (2017년~)

  • AWS는 자체 개발한 Nitro Hypervisor 도입.
  • Nitro는 사실상 경량화된 KVM (Linux 커널 기반 Type-1 하이퍼바이저)을 변형한 것.
  • 기존의 많은 기능(I/O, 네트워크, 보안)을 전용 하드웨어 카드(Nitro 카드) 로 오프로드.
  • 덕분에 성능은 네이티브(베어메탈)급, 보안·안정성↑.

3. 현재

  • 대부분의 EC2 인스턴스는 Nitro System 위에서 실행.
  • 즉, Type-1 하이퍼바이저 계열 임.
  • 다만, 단순 소프트웨어 하이퍼바이저가 아니라 하드웨어+소프트웨어 결합 아키텍처라고 보는 게 정확함.

정리

  • AWS = Type-1 하이퍼바이저 기반 (Xen → Nitro/KVM).
  • 일반 사용자 입장에선 “EC2 인스턴스 = VM”이지만,
    실제론 네트워크·스토리지·보안 같은 건 Nitro 전용 하드웨어가 맡고,
    가상화는 최소한만 남겨서 베어메탈급 성능을 내는 방식.