OperatingSystemAlgorithms
目次
- 導入
- デモンストレーション
- アルゴリズム
- ローカルセットアップ
- 著者
- ライセンス
導入
- Javaで構築されたメモリ割り当てシミュレーターは、オペレーティングシステムでメモリ割り当てがどのように機能するかをよりよく理解するためです。一般的なメモリ割り当て戦略をシミュレートします。
このリポジトリにはコードも含まれています
- スケジューリングアルゴリズム
- ページ交換アルゴリズム
- ページングシミュレーター
- ディスクスケジューリングポリシー
デモンストレーション
- メモリ割り当てシミュレーターへようこそ。
- まず、ユーザーが値を入力したいかどうかを尋ねます。そうでない場合は、いくつかの値がすでにハードコードされています。
- ハードコーディングされた値は、時間の理解、デバッグ、および時間の節約に重要です。

- メモリ分割の入力値、現在のステータス(フリー/フリーではない)、およびプロセス番号を取得した後、メモリ割り当ての現在の表を印刷します。

- そのため、入力プロセスのサイズを取得し、メニューが表示されます。




アルゴリズム
オペレーティングシステムでメモリ割り当てがどのように機能するかをよりよく理解するために、Javaで構築されたシンプルなメモリ割り当てシミュレート。一般的なメモリ割り当て戦略をシミュレートします。
- ファーストフィット
- 最初の適合アプローチでは、プロセスに対応できる最初のフリーパーティションまたは穴を十分に大きくすることです。
- 利点:最初の適切な無料パーティションを見つけた後に終了します。可能な限り少ない検索であるため、最速のアルゴリズム。
- 欠点:内部断片化- 割り当て後に残った残りの未使用のメモリ領域は、小さすぎると廃棄物になります。したがって、より大きなメモリ要件のリクエストは実現できません。
- ベストフィット
- 最適なフィットは、要求プロセスの要件を満たす最小の無料パーティションを割り当てることを扱っています。このアルゴリズムは、最初に無料パーティションのリスト全体を検索し、適切な最小の穴を検討します。
- 利点:その後、必要な実際のプロセスサイズに近い穴を見つけようとします。メモリの利用は、最初に使用可能な最小のフリーパーティションを検索するため、最初のフィットよりもはるかに優れています。
- 欠点:それは遅く、小さな役に立たない穴で記憶を満たす傾向があるかもしれません。
- 最悪のフィット
- 最悪のアプローチでは、左の部分が役立つほど大きくなるように、利用可能な最大の自由部分を見つけることです。それは最適な逆です。
- 利点:小さなギャップの生産速度を減らします。
- 欠点:より大きなメモリを必要とするプロセスが後の段階で到着する場合、最大の穴がすでに分割され、占有されているため、収容できません。
すべてのシミュレーションを処理する前に、ユーザーは現在のメモリ分割/割り当て、IEメモリ分割、ステータス、プロセス名を入力する必要があります。
現在、メモリの割り当ては、時間を節約し、この例を簡単にデバッグするためにハードコードされています。
現在のメモリ割り当て

入力プロセスがサイズ200 kbの場合、次のとおりです。
メモリの割り当て - 最初の適合

メモリの割り当て - 最適なフィット

メモリの割り当て - 最悪のフィット

ローカルセットアップ
- Java -Java SEの最新バージョンをダウンロード - ダウンロード|オラクル。
- リポジトリのクローン:
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - コマンドプロムまたはシェルでこのディレクトリを開きます。
- コマンドを使用してファイルをコンパイルします:
javac MemoryAllocation.java - コマンド:
java MemoryAllocationを使用してファイルを実行します
著者
Tushar Nankani
LinkedIn |ツイッター
ライセンス
GPUライセンス