WebAssembly
웹어셈블리(wasm)
- 바이트코드 형태의 이진 포맷과 그에 대응하는 텍스트 포맷을 제공하는 새로운 타입의 코드 실행 환경
특징
- 고성능: 기계어에 가까운 수준의 성능
- 범용성: 다양한 프로그래밍 언어 지원
- 보안: 샌드박스 환경을 통해 시스템에 대한 접근 최소화
- 크로스 플랫폼: 여러 운영 체제와 브라우저에서 동일한 WebAssembly 모듈 실행
구성 요소
- 바이너리 포맷
- 빠른 네트워크 전송을 위해 최적화
- 텍스트 모델
- 인간이 읽을 수 있음
- 가상 머신
- 바이트코드를 기계어로 변환하여 실행
메모리 모델
- 선형 메모리(Linear Memory) 모델 사용
- 하나의 큰 배열로 메모리 관리
- 메모리 주소는 0에서 시작하여 순차적으로 증가
- 독립된 메모리 사용
- 메모리 확장 가능