2

メモリの動的割り当ての MIPS コード。

名前を持つ変数のサイズのメモリの割り当て/割り当て解除のために、コンソールを介したユーザーの要求をループで待機し続け、それに応じて割り当てまたは割り当て解除手順を呼び出すメインプログラムを作成する必要があります。割り当て手順は、メモリの使用可能なチャンク (つまり、別の変数に割り当てられていないチャンク) を割り当て、そのテーブルを更新して、そのメモリのどの部分がどの変数に割り当てられているか、およびメモリのどの部分がまだ使用可能であるかを示します。メインプログラムが、変数に割り当てられたメモリの一部を解放するために割り当て解除手順を要求すると、手順は、以前にこの変数に割り当てられたメモリの部分を空きとしてマークします。割り当てと割り当て解除の要求は、任意の順序でユーザーから送信される可能性があります。

私の仮定は次のとおりです。 1. メモリのプールは非常に限られており、たとえば 2048 バイトです。2. プールは、同じサイズの小さなチャンクに分割されます (たとえば、2048 バイトのプールでは 64 チャンクになるように、それぞれ 32 バイト)。3. メモリ要求は任意のサイズで発生する可能性がありますが、割り当ては常に整数のチャンクで行われます。つまり、100 バイトの要求が来ると、128 バイト (または 4 つのチャンク) が割り当てられます。

PS: mips に書き込むアイデアが必要です。助けてください!

4

0 に答える 0