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 설치 절차
- ISO 다운로드
- RHEL 9 엔터프라이즈(공식) ISO 파일 (약 4 GB)
- VirtualBox 가상 머신에 ISO 연결
Media -> Optical Drives -> Choose a disk file...
- 부팅 및 설치
- 언어 선택 →
Install Red Hat Enterprise Linux
- 디스크 파티션:
Automatic (All disks)권장
- 사용자 생성, 루트 비밀번호 설정
- 기본 패키지 설치
yum update→ 최신 패키지 적용
yum install @base→ 기본 패키지 그룹 설치
- 네트워크 설정
nmcli dev status→ 네트워크 상태 확인
nmcli con add type ethernet ifname eth0 con-name eth0 ip4 192.168.x.x/24 gw4 192.168.x.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. 자주 묻는 질문
- 왜 VirtualBox를 사용하나요?
- 오픈소스이며 가볍고 설치가 간단하며 교육용으로 가장 흔히 사용됨.
- RHEL 9을 사용해야 하나요?
- 서버 교육과 실제 운영 환경에서 가장 많이 쓰이는 엔터프라이즈 배포판.
- 컨테이너 대신 가상 머신을 왜 사용하는가?
- 보안 격리 필요시, 서로 다른 OS를 동시에 실행하고자 할 때.
핵심 요약: 운영체제는 하드웨어와 애플리케이션 사이의 통역자이며, 가상화는 물리적 리소스를 가상으로 분리해 효율적 자원 활용을 가능하게 한다. VirtualBox와 RHEL 9 설치를 통해 실제 가상 머신을 구축하고, 이를 기반으로 서버 및 보안 환경을 실습한다.