Mozilla, Fastly, Intel 및 Red Hat은 WebAssembly를 범용 플랫폼으로 홍보

WebAssembly

Mozilla, Fastly, Intel 및 Red Hat은 개발하다 만드는 기술 WebAssembly 보편적 인 플랫폼 모든 인프라에서 코드를 안전하게 실행, 운영 체제 및 장치. 웹 브라우저뿐만 아니라 WebAssembly를 사용할 수있는 런타임과 컴파일러의 공동 개발을 위해 Bytecode Alliance 커뮤니티가 형성되었습니다.

이식 가능한 프로그램을 만들려면 WebAssembly 형식으로 제공 브라우저 외부에서 실행할 수있는 WASI API를 사용하는 것이 좋습니다. (WebAssembly 시스템 인터페이스), 운영 체제와의 직접적인 상호 작용을위한 프로그램 인터페이스를 제공합니다 (파일, 소켓 등으로 작업하기위한 POSIX API).

독특한 기능 WAS를 사용하는 애플리케이션의 실행 모델샌드 박스 환경에서 시작합니다. 주 시스템에서 격리하고 용량 관리를 기반으로하는 보안 메커니즘을 사용하려면 각 리소스 (파일, 디렉터리, 소켓, 시스템 호출 등) 작업에 대해 응용 프로그램에 해당 권한이 있어야합니다 (접근은 선언 된 기능).

동맹의 목표 만들어진 의존성이 많은 최신 모듈 식 애플리케이션의 확산 문제를 해결하는 것입니다. 이러한 애플리케이션에서 각 종속성은 취약성 또는 공격의 잠재적 원인이 될 수 있습니다. 종속성 제어를 확보하면 연관된 모든 애플리케이션을 제어 할 수 있습니다.

Bytecode Alliance 회원은 완전한 솔루션을 준비하려고합니다. 처음에는 신뢰할 수없는 WebAssembly 애플리케이션의 안전한 실행을 위해.

보호를 위해 나노 공정의 개념을 사용하도록 제안s, 각 종속성 모듈이 분리됨 별도의 격리 된 WebAssembly 모듈에서, 권한이이 모듈에만 바인드하도록 구성되어 있습니다 (예 : 문자열 처리를위한 라이브러리는 네트워크 소켓 또는 파일을 열 수 없음).

공정 분리와 달리 WebAssembly 핸들러는 가볍고 추가 리소스가 거의 필요하지 않습니다. 또한 핸들러 간의 상호 작용은 일반 함수를 호출하는 것보다 훨씬 느리지 않습니다.

공동 개발을 위해 이전에 동맹 창립 회사가 별도로 개발 한 여러 WebAssembly 관련 프로젝트가 Bytecode Alliance의 소속으로 이전되었습니다.

  • wasmtime: A WASI 확장을 사용하여 WebAssembly 애플리케이션을 실행하기위한 런타임 일반 독립형 앱으로. 특수 명령 줄 유틸리티를 사용하여 WebAssembly 바이트 코드 실행 및 즉시 사용 가능한 실행 파일 설계를 지원합니다 (wasmtime은 애플리케이션에 라이브러리로 빌드 됨).
  • 루셋 : 하는 WebAssembly 형식으로 프로그램을 실행하기위한 컴파일러 및 런타임. Lucet의 특징은 JIT 대신 직접 실행에 적합한 기계어 코드에서 전체 예방 컴파일 (AOT, 선행)을 사용하는 것입니다. 이 프로젝트는 Fastly에 의해 개발되었으며 최소한의 리소스를 사용하고 새로운 인스턴스를 빠르게 시작하도록 최적화되었으며 공동 프로젝트의 일환으로 Wasmtime을 기반으로 사용하도록 Lucet 컴파일러를 변경할 계획입니다.
  • WAMR (WebAssembly Micro Runtime) : es WebAssembly를 실행할 또 다른 런타임, 원래 IoT 장치에서 사용하기 위해 인텔에서 개발했습니다. WAMR 최소한의 리소스 소비에 최적화되어 있으며 RAM이 적은 장치에서 사용할 수 있습니다. 이 프로젝트에는 WebAssembly 바이트 코드를 실행하기위한 인터프리터와 가상 머신, API (Libc의 하위 집합) 및 애플리케이션을 동적으로 관리하는 도구가 포함됩니다.
  • 크레인 리프트:인가 하드웨어 독립적 인 중간 표현을 기계 코드로 변환하는 코드 생성기 특정 하드웨어 플랫폼에 최적화 된 실행 파일. Cranelift는 매우 빠른 출력 생성을 위해 함수 컴파일 병렬화를 지원하므로이를 사용하여 JIT 컴파일러를 만들 수 있습니다 (Cranelift 기반 JIT는 Wasmtime 가상 머신에서 사용됨).
  • 내가 그랬니: 우나 WASI API의 독립 실행 형 구현 (웹 어셈블리 시스템 인터페이스) 운영 체제와의 상호 작용을 구성합니다.
  • 화물 -wasi : un 화물 패키지 관리자 용 모듈 이는 브라우저 외부에서 WebAssembly를 사용하기 위해 WASI 인터페이스를 사용하여 Rust 코드를 WebAssembly 바이트 코드로 컴파일하는 명령을 구현합니다.
  • 와트 및 wasmparser : 그것의 텍스트 분석을위한 파서 (WAT, WAST) 및 WebAssembly 바이트 코드의 이진 표현.

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   01101001b

    "프로세스 분리와 달리 WebAssembly 핸들러는 가볍고 추가 리소스가 거의 필요하지 않습니다."...
    Mozilla와 Red Hat을 함께 사용하면 "가볍고 추가 리소스가 거의 필요 없음"에 대한 관찰은 경이로운 농담 xD로 향하고 있습니다.