允許指定位址空間使用 (Intel® SGX) SGX2 功能的指定位址空間設定檔變更
無法確定如何編寫使用 Intel® Software Guard Extensions (Intel® SGX) SGX2 動態記憶體管理功能的指定地址空間。
Intel® Software Guard Extensions (Intel® SGX) Intel® SGX中的 SGX2 指令執行三個基本功能來動態分配記憶體:展開堆、展開堆疊、創建線程。這些函數在Intel SGX驅動程式、受信任的運行時和不受信任的運行時中實現。要利用這些功能,安全區程式設計師必須執行的唯一顯式操作是在 Enclave 設定檔中設置以下參數:
- StackMinSize, StackMaxSize:設置可用於指定位址空間的最小和最大堆疊大小。
- HeapMinSize, HeapMaxSize:設置可用於指定位址空間的最小和最大堆大小。
- TCSNum, TCSMaxNum, TCSMinPool:用於確定安全區初始化后將創建多少線程,以及當安全區運行時可以動態創建多少線程。
適用於您的操作系統的《Intel® SGX開發人員參考指南》包含有關這些參數的更多詳細資訊。
除此之外,編寫指定位址空間代碼並像往常一樣分配記憶體。Intel® SGX驅動程式、受信任的運行時和不受信任的運行時會根據需要在後台處理動態記憶體分配。
Intel® Software Guard Extensions 安全區內動態記憶體分配的軟體支援中 (Intel® SGX) SGX2 動態記憶體管理的實現部分進一步說明了 Intel® SGX SDK 如何實現動態記憶體管理功能。
Intel® Software Guard Extensions 軟體支援 Enclave 內的動態記憶體分配
適用於 Linux* Intel® SGX 開發人員參考位於最新版 Intel® Software Guard Extensions SDK for Linux* 的“文檔”資料夾中。
適用於 Windows* 的Intel® SGX開發人員參考隨 適用於 Windows* 的 Intel® SGX SDK 安裝套件一起分發。