이 콘솔 응용 프로그램은 선착순, FCF (First-Serve), 가장 짧은 작업 (SJF) 및 SRTF (가장 짧은 시간 1 위) 일정 알고리즘을 기반으로합니다. 더 많은 알고리즘을 포함하기 위해 현재 개발 중이며 Gantt 차트 기능은 아직 구현되지 않았습니다.
FCFS 알고리즘의 핵심 논리는 간단합니다. 첫 번째 프로세스의 대기 시간은 항상 0입니다. 프로세스의 대기 시간은 이전 프로세스의 버스트 시간과 이전 프로세스의 대기 시간에 따라 계산됩니다. 실행 명령은 도착 순서를 따릅니다.
SJF 알고리즘은 다른 프로세스가 여전히 실행되는 동안 들어오는 프로세스를 정렬하기 위해 조건 기반 루프에 의존합니다. 프로세스의 버스트 시간이 0이되어 다음 프로세스로 넘어 가기 전에 완료를 나타냅니다. 알고리즘은 대기 시간을 최소화하기 위해 더 짧은 버스트 시간을 우선시합니다.
SRTF 알고리즘은 SJF 알고리즘의 선제 버전입니다. 남은 실행 시간이 가장 짧은 프로세스를 선택합니다. 새로운 프로세스가 현재 실행중인 프로세스보다 짧은 파열 시간으로 도착하면 SRTF 알고리즘은 현재 프로세스를 선점하고 새롭고 짧은 프로세스로 전환합니다.
이 프로그램은 재사용 성과 단순성을 향상시키기 위해 객체 지향적 접근 방식을 사용하여 설계되었습니다. 주요 클래스는 다음과 같습니다.
Process 클래스 :
AvgWTTAT 방법이 포함되어 있으며 다양한 프로세스에 대한 평균 대기 시간 및 처리 시간을 계산하고 표시합니다.알고리즘 클래스 일정 :
Schedule 메소드가있는 자체 클래스가 있습니다.Process 객체를 배열하고 각 스케줄링 알고리즘을 적용하며 각 프로세스에 대한 대기 및 처리 시간을 업데이트합니다.프로세스 스케줄링 프로그램을 사용하려면 :
코드를 탐색하고 수정하고 요구 사항에 따라 추가 스케줄링 알고리즘 또는 기능을 구현하십시오.