プロセスのオペレーティングシステムのスケジューリングアルゴリズムのシミュレーションなど、優先度のスケジューリング、マルチレベルのスケジューリングなど...


ここに公開されているこのリポジトリは、実際にはコースoperating systemの大学プロジェクトです
Java言語で実装されています。
クラスの階層ディスプレイはここで実証されています。
---- cpuscheduler
---------- |
----------- SRC
------------------- |
----------------プロセス//各プロセスのデータなどの開始時間、バースト時間、...
------------------ CPU //スケジュールをシミュレートするためのCPU
-----------------スケジューラ//プリミティブな方法とフィールドの抽象クラス
------------------ Sch_fcfs //最初のサーブスケジューラ
----------------- Sch_sjf //最短のジョブファーストスケジューラ(先制することができます)
----------------- Sch_priority //優先スケジューラ(先制することができます)
----------------- Sch_rr //ラウンドロビンスケジューラ
----------------- Sch_lottery //宝くじスケジューラ
---------------- Sch_multilevel //マルチレベルスケジューラ(先制することができます)
----------------- FXMLDOCUMENTCONTROLLER //メインGUIのコントローラー
-----------------シミュレーションController //シミュレーションGUIのコントローラー
----/
プロセス:プロセスが実行されているか、これらの2つの状態が処理されているかを待っています。
CPU:
スケジューラ:
メモ
シミュレーション時間単位は0.1であるため、バースト時間または遅延時間は0.1の倍数でなければならないことに注意してください
各行の順序は、プロセスの到着の順序を指定することに注意してください
入力形式は各行のこのようなものであることに注意してください(バースト時間、遅延時間、優先度、レベル)
このシミュレーションのコンテキストスイッチの最小期間は0.4であることに注意してください
このシミュレーションでのラウンドロビンスケジューラの量子の最小時間期間は0.2であり、時間単位は0.1であり、量子は時間単位未満ではないため
入力Tabel:
| プロセス名 | 到着時間 | 時間を実行します | レベル |
|---|---|---|---|
| 1 | 0 | 5 | 1 |
| 2 | 1 | 8 | 2 |
| 3 | 3 | 7 | 2 |
| 4 | 4 | 3 | 1 |
| 5 | 5 | 3 | 1 |
| 6 | 8 | 11 | 2 |
| 7 | 15 | 3 | 1 |
| 8 | 25 | 4 | 1 |
たとえば、以下(input.txtファイル)(input.txtファイル)のマルチレベルではないマルチレベルの非償還(L1:FCFS、L2 FCFS)のスケジューリングプロセスです

最初にプロセス情報を入力して、スケジューリングAlghorithmを選択し、[実行]ボタンを押します

シミュレーションが終了するのを待ちます

これで、結果が表示されます

このプロジェクトはMITライセンスに基づいてライセンスされています - 詳細については、ライセンスファイルを参照してください