メインコンテンツへスキップ
サポート・ナレッジベース

メモリを動的に割り当てるためのインテル® Software Guard Extensions(インテル® SGX)SGX2機能を備えたエンクレーブを作成するにはどうすればよいですか?

コンテンツタイプ: 製品情報 & ドキュメント   |   記事 ID: 000088648   |   最終改訂日: 2024/07/31

詳細

インテル® Software Guard Extensions (インテル® SGX) SGX2 の動的メモリー管理機能を使用するエンクレーブの作成方法を判断できません。

解決方法

インテル® Software Guard Extensions (インテル® SGX) SGX2 命令はインテル® SGXヒープの展開、スタックの展開、スレッドの作成という 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* の最新リリースのドキュメント フォルダーにあります。

Windows* 用インテル® SGX開発者用リファレンスは、 Windows* 用 インテル® SGX SDK インストールパッケージとともに配布されます。

免責条項

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。