songsunkook / process-scheduling-RR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

process-scheduling-RR

목표

수업시간에 배운 RR(Round Robin) 스케줄링 알고리즘을 시뮬레이션할 수 있는 프로그램을 작성한다.

세부 사항

시뮬레이션의 입력으로 사용될 수 있는 값은 델타=2, 프로세스 ID (갯수), 도착시간, 서비스 타임 등이 입력의 변수로 사용될 수 있다. 그에 따라서 아래쪽 RR 의 동작이 바뀌고, 평균 응답시간도 바뀐다. 총 프로세스의 개수(총 10개 이내), 델타 값(2-5) 등으로 제한조건을 줄 수 있다.

사용한 기술 스택

html과 css, javascript를 사용하여 구현했다.

UI 설명

위 그림은 실제 실행 화면에 설명을 위한 그림을 추가한 것이다. 번호에 따른 설명은 다음과 같다.

  1. Time Quantum을 작성할 수 있다.
  2. 프로세스 스케줄링에 사용할 새로운 프로세스를 추가할 수 있다.
  3. 각 프로세스의 Arrival Time과 Service Time을 임의의 난수로 설정한다.
    • Arrival Time: 0~10
    • Service Time: 1~10
  4. 시뮬레이션을 실행한다.
  5. 모든 내용과 결과를 초기화하여 최초 실행 상태로 되돌린다.
  6. 프로세스 ID를 표시한다. 프로세스 추가 시 자동으로 기입된다.
  7. 프로세스 도착 시간을 기입할 수 있다.
  8. 프로세스 서비스 시간을 기입할 수 있다.
  9. 시뮬레이션이 실행되면 기입된 정보(Arrival Time, Service Time, Delta)에 따라 스케줄링 시뮬레이션 결과가 간트 차트 형태로 표현된다. 각 블록의 길이는 실행되는 시간의 길이를 의미하고, 각 블록에는 실행되는 프로세스 ID와 실행 시작 시각, 실행 종료 시각을 표시한다. 가로 길이가 부족하면 자동으로 줄바꿈된다.
  10. 실행 결과를 표로 정리하여 나타낸다.
  11. 실행 결과를 계산하여 평균 응답 시간을 보여준다.

실행 과정

  1. 프로그램을 실행한다.
  2. Time Quantum을 기입한다.
  3. Add Process를 눌러 원하는 수만큼 프로세스를 추가한다.
  4. Arrival Time과 Service Time을 기입한다. (필요한 경우 Randomize Values를 클릭하여 랜덤으로 값을 기입할 수 있다.)
  5. Run Simulation을 눌러 시뮬레이션을 실행한다.
  6. 새로운 시뮬레이션을 실행하기 위해서는 Reset 버튼을 눌러 초기화할 수 있다.

About


Languages

Language:JavaScript 66.3%Language:CSS 21.3%Language:HTML 12.5%