エンクレーブの (インテル® SGX) SGX2 機能を使用できるようにする、エンクレーブ構成ファイルへの変更
インテル® Software Guard Extensions (インテル® SGX) SGX2 から動的メモリー管理機能を使用するエンクレーブの書き込み方法を確認できません。
インテル® SGXにおけるインテル® Software Guard Extensions (インテル® SGX) SGX2 命令は、メモリーを動的に割り当てる 3 つの基本機能を実行します。ヒープの拡張、スタックの拡張、スレッドの作成。これらの機能は、インテル SGXドライバー、トラステッド・ランタイム、そして評価の高いランタイムに実装されています。これらの機能を利用するために、エンクレーブ・プログラマーが行う唯一の明示的なアクションは、エンクレーブ構成ファイルで以下のパラメーターを設定することです。
- StackMinSize, StackMaxSize: エンクレーブで使用可能な最小および最大スタックサイズを設定します。
- HeapMinSize, HeapMaxSize: エンクレーブで使用可能な最小および最大ヒープ・サイズを設定します。
- TCSNum, TCSMaxNum, TCSMinPool: エンクレーブの初期化後に作成されるスレッド数と、エンクレーブの実行時に動的に作成できるスレッド数を決定するために使用します。
オペレーティング・システムのインテル® SGX開発者リファレンス・ガイドには、これらのパラメーターの詳細が記載されています。
それ以外にも、通常どおりにエンクレーブ・コードを書き込み、メモリーを割り当てます。インテル® SGXドライバー、信頼できるランタイム、そして推進的に動作するランタイムが、フードの下で必要に応じてダイナミックメモリーの割り当てを処理します。
エンクレーブ内の動的メモリー割り当てのソフトウェア・サポートインテル® Software Guard Extensionsの (インテル® SGX) SGX2 ダイナミック・メモリー管理の実装 セクションでは、インテル® SGX SDK がダイナミック・メモリー管理機能を実装する方法をさらに説明しています。
エンクレーブ内の動的メモリー割り当てのインテル® Software Guard Extensionsソフトウェアのサポート
Linux* 向けインテル® SGX開発者リファレンスは、 インテル® Software Guard Extensions SDK for Linux* の最新リリースの Documentation フォルダーにあります。
Windows* 用インテル® SGX開発者リファレンスは、 インテル® SGX SDK for Windows* のインストール・パッケージと共に配布されます。