[제136회 정보관리기술사 1교시 7번] WebAssembly(WASM) — 브라우저를 넘어선 범용 실행 환경

📋 정보관리기술사 기출문제 해설

제136회  ·  1교시  ·  7번

배점: 10점  |  유형: 단답형

📌 원문 문제

WebAssembly(WASM)를 설명하시오.

1. 개념

WebAssembly(WASM)란 다양한 고수준 언어(C/C++·Rust·Go)를 컴파일하여 웹 브라우저 또는 서버에서 네이티브에 가까운 속도로 실행되는 이진(Binary) 포맷의 가상 명령어 집합 아키텍처(ISA)입니다. W3C 표준(2019)으로 모든 주요 브라우저에서 지원됩니다.

2. JavaScript와의 비교

구분 JavaScript WebAssembly
포맷 텍스트 (인터프리터) 바이너리 (컴파일)
실행 속도 JIT 컴파일 의존 네이티브 대비 80~90% 성능
타입 시스템 동적 타입 정적 타입 (i32, i64, f32, f64)
DOM 접근 직접 가능 JS 브릿지(WebAssembly.instantiate) 필요
적합 용도 UI 상호작용·DOM 조작 CPU 집약 연산 (게임·암호화·영상처리)

3. WASI와 서버사이드 확장

WASI(WebAssembly System Interface)는 WASM을 브라우저 외 환경(서버·엣지·IoT)에서 실행하기 위한 시스템 콜 인터페이스 표준입니다. Docker 창시자 Solomon Hykes는 “WASM+WASI가 2008년에 있었다면 Docker를 만들지 않았을 것”이라고 말한 바 있습니다.

  • 엣지 컴퓨팅: Cloudflare Workers·Fastly Compute@Edge가 WASM을 엣지 함수로 실행. 콜드 스타트 없음
  • 플러그인 시스템: Envoy·OPA·Wasm-based 플러그인으로 코드 격리 실행
  • AI 추론: ONNX 모델을 WASM으로 컴파일하여 브라우저에서 오프라인 추론
✅ 핵심 암기: WASM = 다중 언어 → 이진 포맷 → 브라우저/서버 고속 실행 | WASI = 서버사이드 시스템 콜 표준 | 엣지 컴퓨팅·플러그인에 활용

Leave a Comment