alt

2주차_0914

2026년 10월 26일 공유

가상화 및 운영체제 개요

개요

  • 목적: 학생들에게 운영체제(OS)의 기본 개념과 가상화(virtualization) 기술, VirtualBox 설치 과정을 실습 중심으로 설명
  • 대상: 22·23·24 학번 학생, 보안·인프라·디지털 전공
  • 내용: OS 역할, CPU·메모리·디스크 관리, 가상화 종류, VirtualBox 설치, Red Hat Linux(리눅스) 설치 절차 및 활용

핵심 개념

개념
정의
핵심 포인트
운영체제 (OS)
하드웨어와 애플리케이션 사이의 인터페이스
• CPU, 메모리, 디스크 관리 • 사용자 인터페이스 제공
가상화
실제 물리적 하드웨어를 가상으로 분리하거나 중복 구현
• 풀 가상화(전체 가상 머신) vs 반가상화(부분 가상화) • VirtualBox, VMware, KVM 등
VirtualBox
오픈소스 가상화 도구
• 호스트 OS 위에 가상 머신(게스트 OS) 생성 • 설정: CPU, 메모리, 디스크, 네트워크
Red Hat Linux (RHEL)
엔터프라이즈용 리눅스 배포판
• 오픈소스 기반 • 서버용으로 많이 사용
CPU 종류
CISC vs RISC
• CISC: 많은 명령어 (Intel/AMD) → 전력 소모가 크다 • RISC: 적은 명령어 (ARM/RISC‑V) → 전력 효율 좋음
메모리 유형
DRAM vs HBM
• DRAM: 일반적인 RAM • HBM: GPU 등에서 사용, 높은 대역폭

상세 내용

1. 운영체제의 역할

  • 자원 관리: CPU 스케줄링, 메모리 페이지 교체, 파일 시스템 관리
  • 하드웨어 추상화: 사용자와 애플리케이션이 하드웨어 세부사항을 몰라도 사용 가능
  • 애플리케이션 실행 환경 제공
  • 보안: 사용자 권한 관리, 프로세스 격리
핵심: OS는 하드웨어와 소프트웨어 사이의 통역자이다.

2. 가상화 개념

  • 풀 가상화
  • 물리적 하드웨어를 완전히 가상화 → 게스트가 실제 하드웨어처럼 인식
  • 장점: 완전 격리, 성능 95% 이상
  • 단점: 리소스 사용량 증가 (가상 머신 이미지 파일)
  • 반가상화
  • 게스트가 하드웨어 일부를 직접 접근 → 성능이 풀 가상화에 가깝지만 설정이 복잡
  • 사용 사례: 서버 환경, 클라우드
  • 가상화의 필요성
  • 한 대의 물리 서버에서 여러 OS 운영
  • 테스트 환경 구축, CI/CD 파이프라인

3. VirtualBox 설치 및 설정

단계
내용
비고
1. 다운로드
https://www.virtualbox.org
→ 최신 버전 (예: 7.2.16)
GPL 라이선스
2. 설치
Host OS(Windows) 위에 설치
설치 경로는 C: 드라이브 보통
3. 설정
가상 머신 → Expert 모드 선택
기본 모드는 메뉴가 적음
4. 리소스 할당
CPU: 물리 코어 개수보다 1-2개 적게 설정
메모리: 4 GB 이상 (권장 8 GB)
5. 디스크 이미지
VDI (확장형) 사용 → 100 GB 할당
가상 머신 폴더에 저장
6. 네트워크
Bridged Adapter 또는 NAT 선택
내부 테스트 시 NAT 권장
7. 가상 머신 생성
OS 선택: Red Hat Enterprise Linux 9 (64‑bit)
ISO 파일 필요
8. 부팅
ISO 연결 → Start → 설치 진행
날짜/시간 동기화 주의
9. 설치 후 설정
SSH 설치, 방화벽 설정
보안 관점에서 필수
팁: 설치 도중 “Missing dependency” 메시지는 파이썬 API가 필요 없으니 yes만 누르면 됨.

4. Red Hat Linux 9 설치 절차

  1. ISO 다운로드
  • RHEL 9 엔터프라이즈(공식) ISO 파일 (약 4 GB)
  1. VirtualBox 가상 머신에 ISO 연결
  • Media -> Optical Drives -> Choose a disk file...
  1. 부팅 및 설치
  • 언어 선택 → Install Red Hat Enterprise Linux
  • 디스크 파티션: Automatic (All disks) 권장
  • 사용자 생성, 루트 비밀번호 설정
  1. 기본 패키지 설치
  • yum update → 최신 패키지 적용
  • yum install @base → 기본 패키지 그룹 설치
  1. 네트워크 설정
  • nmcli dev status → 네트워크 상태 확인
  • nmcli con add type ethernet ifname eth0 con-name eth0 ip4 192.168.x.x/24 gw4 192.168.x.1
  1. 보안 강화
  • firewall-cmd --add-service=ssh --permanent → SSH 허용
  • systemctl enable --now firewalld
  • SELinux: setenforce 1

5. CPU & 메모리 고려사항

  • CPU
  • lscpu → 코어, 스레드 확인
  • 가상 머신에 할당 시 실제 코어 수를 초과하지 않도록 주의
  • 메모리
  • Dynamic Allocation (VirtualBox 기본) → 필요시 증가
  • Static Allocation → VM 시작 시 일정 메모리 확보
  • 디스크
  • 가상 디스크 파일은 실제 디스크 사용량에 비례 → 백업 필수

6. 운영체제 종류별 특징

OS
아키텍처
주요 용도
장점
단점
Windows
x86_64, ARM
데스크탑, 게임
사용자 친화적
리소스 많이 필요
Linux (RHEL, CentOS, Ubuntu)
x86_64, ARM
서버, 클라우드
오픈소스, 안정성
GUI 설치 필요 시 복잡
macOS
Apple Silicon (ARM)
개발, 디자인
UNIX 기반
제한적 하드웨어
FreeBSD
x86_64
서버, 임베디드
경량, 보안
커뮤니티가 작음

7. 가상화와 컨테이너

  • 가상화: 하드웨어 수준에서 독립적인 OS 실행
  • 컨테이너: 운영체제 커널 공유 → 가볍고 빠름 (Docker, Kubernetes)
  • 차이점
  • 격리 수준: VM > 컨테이너
  • 리소스 소모: VM > 컨테이너
  • 배포 속도: 컨테이너 > VM
핵심: 서버 환경에서는 컨테이너가 가볍고 빠른 배포가 가능하지만, 보안/격리 수준이 VM에 미치지 못함.

8. 실습 팁

  • VirtualBox → Preferences → Network → Host-only Adapter 설정 → 내부 통신 용이
  • RHEL → dnf install -y 명령으로 패키지 설치
  • SSH → ssh -i <key> user@ip 로 접속 후 sudo systemctl status 등으로 서비스 확인
  • 로그 관리 → /var/log/messages, journalctl 활용

9. 자주 묻는 질문

  1. 왜 VirtualBox를 사용하나요?
  • 오픈소스이며 가볍고 설치가 간단하며 교육용으로 가장 흔히 사용됨.
  1. RHEL 9을 사용해야 하나요?
  • 서버 교육과 실제 운영 환경에서 가장 많이 쓰이는 엔터프라이즈 배포판.
  1. 컨테이너 대신 가상 머신을 왜 사용하는가?
  • 보안 격리 필요시, 서로 다른 OS를 동시에 실행하고자 할 때.


핵심 요약: 운영체제는 하드웨어와 애플리케이션 사이의 통역자이며, 가상화는 물리적 리소스를 가상으로 분리해 효율적 자원 활용을 가능하게 한다. VirtualBox와 RHEL 9 설치를 통해 실제 가상 머신을 구축하고, 이를 기반으로 서버 및 보안 환경을 실습한다.
공개 노트 모두 보기