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

メモリーを動的に割り当てるために、インテル® Software Guard Extensions (インテル® SGX) SGX2 機能を備えたエンクレーブを作成する方法を教えてください。

BUILT IN - ARTICLE INTRO SECOND COMPONENT
概要

エンクレーブの (インテル® 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* のインストール・パッケージと共に配布されます。

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