虛擬機架構

部件

  • 載入器 (Loader)
    • 讀取檔案,將內容轉換成物件後載入儲存空間和模組
    • 載入完之後就會被釋出,不會繼續留在程式裡
  • 核心 (Core)
    • 讀取檔案,將內容轉換成物件後載入儲存空間和模組
    • 執行程式的主要部件
  • 解碼器 (Decoder)
    • 從儲存空間取得下一個指令,按照位元格式解碼後執行指令
  • 系統呼叫 (System call)
    • WasmVM 特有,用來執行輸出/輸入等等作業系統的功能

運行步驟

  1. 1.
    準備儲存空間和模組空間,並檢查系統的位元組順序 (Endians)
  2. 2.
    準備載入器,載入 wasm 檔案
  3. 3.
    釋放載入器
  4. 4.
    準備核心
  5. 5.
    取得主要模組名稱和起始函式
  6. 6.
    呼叫起始函式,開始執行
    A. 解碼器取得下一個指令
    B. 解碼器解析指令
    C. 執行指令
    D. 重複 A 到 C 的動作,直到程式結束
  7. 7.
    釋放所有物件,結束程式