위키득계정 ↗
기술

WASI

WASI기술
전체 이름
WebAssembly System Interface
유형
호스트 상호 작용 API 집합
설계 방향
이식성과 모듈성
인터페이스 정의
WIT 등
WASI는 WebAssembly 프로그램이 호스트 환경과 상호 작용하기 위한 API 집합이다. 이식성과 모듈성 및 런타임 독립성을 지향하며 접근 권한에 기반한 인터페이스로 프로그램의 외부 기능 사용을 구성한다.

외부 환경과의 연결

WebAssembly 코드는 실행 환경이 제공하는 인터페이스를 통해 외부 기능을 사용한다. WASI는 이러한 기능에 공통으로 의존할 수 있는 API를 정의한다. 플랫폼은 필요한 API의 일부 또는 전체를 제공할 수 있다.

모듈성과 권한 기반 설계

특정 런타임에 묶이지 않는 모듈형 API를 목표로 한다. 권한에 기반한 API 설계로 WebAssembly의 격리된 실행 특성을 유지하는 것을 지향한다. 운영체제의 기능을 무조건 직접 노출하는 방식과는 다르다.

단계적인 인터페이스 발전

초기 인터페이스는 POSIX와 CloudABI의 영향을 받았고 이후 WIT를 사용하는 모듈형 API로 발전했다. 컴포넌트 모델과 결합한 비동기 기능도 도입된다. 각 실행 환경이 지원하는 API와 인터페이스 세대는 구분해 확인할 필요가 있다.

관련 문서

WebAssembly 컴포넌트 모델 / Wasmtime / WAMR / Wasm Tools / 웹어셈블리 / API