文章 ID: 000088648 內容類型: 產品資訊與文件 最近查看日期: 2024 年 07 月 31 日

如何建立具有Intel® Software Guard Extensions (Intel® SGX) SGX2 功能的指定地址空間,以動態分配記憶體?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
摘要

允許指定位址空間使用 (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 安裝套件一起分發。

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。