https://demo.kale-ryan.top/rr/
Você pode usar a fila padrão para teste ou pode fazer upload de um arquivo de texto. O arquivo de texto deve seguir um determinado formato.
Faça um aplicativo de interface gráfica que possa abrir um arquivo de texto local, ler as informações e convertê-las em uma lista de processos, agendar os processos e exibir a situação do agendamento na interface gráfica. A produção da interface gráfica deve considerar multiplataforma para que possa rodar tanto em plataformas Linux quanto em Windows.
Todo o projeto deve ter o mínimo de acoplamento e alta coesão possível para garantir a flexibilidade, capacidade de manutenção e escalabilidade do sistema e melhorar a reutilização do código.
Como linguagem de desenvolvimento principal, C# usa a estrutura ASP.NET CORE. A arquitetura geral é uma separação de front-end e back-end, usada para simular o agendamento da CPU e o paralelismo de E/S. é o seguinte.
RrScheduling
├── RobinRound
└── WebApp
O projeto RobinRound é uma biblioteca de classes para algoritmos de escalonamento. A estrutura principal do projeto é a seguinte.
RobinRound
├── Instruction.cs
├── InstructionType.cs
├── Pcb.cs
└── Scheduling.cs
WebApp é a implementação de uma interface gráfica, baseada no framework ASP.NET CORE Para conveniência da programação, os arquivos front-end e serviços back-end são colocados em um projeto.
WebApp
├── Middlewares
├── Models
├── Pages
├── Program.cs
└── Services
O front-end e o back-end trocam informações de agendamento por meio de conexões WebSocket. A pasta Middlewares contém middleware para processar solicitações WebSocket. Contém várias classes para processar dados. As páginas contêm arquivos de páginas da web front-end. serviços que chamam métodos de agendamento de processos).