どのようにCでメモリシミュレーションを実装するには?

基本的には、2つのリストが必要です。そのうちの1つは、各穴の開始点とサイズを格納することによって空のメモリー・ホールのリストを保持します。もう1つは、さまざまなプロセスに関する情報を保持します(実際のプロセスデータはなく、IDと開始位置とサイズのみです)。

だから、私は “ホール”と
“プロセス”を定義する2つの構造体を持つ必要があることを理解しています。私はこれらのオブジェクトを格納するために2つのリストを持つ必要があります。

私が理解できないことは、「メモリを初期化する」方法です。たとえば、ユーザーが初期化(5000バイト)したい場合、initializeメソッドは2つのリストに対して何を行うべきですか?

ベストアンサー

(メモリが割り当てられていないので)プロセスリストを空にして、アドレス0からアドレス4999までの単一の穴を作成します(これらのアドレスは空であるため)。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です