https://demo.kale-ryan.top/rr/
テスト用にデフォルトのキューを使用することも、テキスト ファイルをアップロードすることもできます。テキスト ファイルは、デフォルトのキューを参照してください。
ローカルのテキスト ファイルを開き、情報を読み取ってプロセス リストに変換し、プロセスをスケジュールし、スケジュール状況をグラフィカル インターフェイス上に表示できるグラフィカル インターフェイス アプリケーションを作成します。グラフィカル インターフェイスの作成では、Linux と Windows の両方のプラットフォームで実行できるように、クロスプラットフォームを考慮する必要があります。
システムの柔軟性、保守性、拡張性を確保し、コードの再利用性を高めるために、プロジェクト全体はできる限り結合度が低く、凝集度が高い必要があります。
C# は主要な開発言語として、ASP.NET CORE フレームワークを使用しており、全体的なアーキテクチャは、CPU スケジューリングと I/O 並列処理をシミュレートするために、フロントエンドとバックエンドを分離しています。は以下の通りです。
RrScheduling
├── RobinRound
└── WebApp
RobinRound プロジェクトは、スケジューリング アルゴリズムのクラス ライブラリです。主なプロジェクト構造は次のとおりです。
RobinRound
├── Instruction.cs
├── InstructionType.cs
├── Pcb.cs
└── Scheduling.cs
WebApp は、ASP.NET CORE フレームワークに基づいたグラフィカル インターフェイスの実装であり、プログラミングの便宜上、フロントエンド ファイルとバックエンド サービスが 1 つのプロジェクトにまとめられています。
WebApp
├── Middlewares
├── Models
├── Pages
├── Program.cs
└── Services
フロントエンドとバックエンドは、WebSocket 接続を介してスケジュール情報を交換します。 Middlewares フォルダーには、WebSocket 要求を処理するためのミドルウェアが含まれています。 Pages には、フレームワークに挿入されたサービスが含まれています。プロセス スケジューリング メソッドを呼び出すサービス)。