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 프레임워크를 기반으로 하는 그래픽 인터페이스를 구현한 것입니다. 주요 프로젝트 구조는 다음과 같습니다.
WebApp
├── Middlewares
├── Models
├── Pages
├── Program.cs
└── Services
프런트 엔드와 백 엔드는 WebSocket 연결을 통해 일정 정보를 교환합니다. 미들웨어 폴더는 WebSocket 요청을 처리하는 미들웨어를 배치하고, 페이지는 프런트 엔드 웹 페이지 파일을 프레임워크에 삽입합니다. 프로세스 스케줄링 방법).