반응형

운영체제 과제 프로세스 스케쥴링 시뮬레이션

□ 개발 환경

- Language : Python2.5

- Editor : Ultraedit


전체모습

 

사용자 삽입 이미지

구현부분

- 프로세스 개수 선택 가능

(프로그램 내부에서는 개수에 상관없이 잘 되지만 디스플레이에서 최적화를 위해 10개로 제한함)

- 스케줄링 기법 선택 가능

(FIFO, LIFO, RR, SPN, SRTN 구현되어 있음)

- 프로세스 정보 출력

(생성하기 버튼을 누르면 랜덤으로 생성된 프로세스 정보가 우상단에 출력됨. 도착 시간은 0~10까지 사이에서 발행하고 서비스 시간은 1~10사이에서 발생. 도착 시간을 앞쪽으로 배치하는 방법과 중복되지 않는 방법을 사용하였습니다.)

- 결과 출력

(생성하기 버튼 클릭후 나타나는 진행 버튼을 클릭하면 하단에 결과가 나옴)


□ 실행

❶ 프로세스의 개수를 선택합니다. (아래화면에서는 6개를 만듭니다.)

 

사용자 삽입 이미지

❷ 스케줄링 기법을 선택하고 생성하기를 누릅니다.

(아래 화면에서는 FIFO를 선택한후에 생성하기 버튼을 눌렀습니다.)

 

사용자 삽입 이미지

❸ 생성하기 버튼을 클릭하면 하단 화면 좌측에 진행 버튼이 나타납니다.

진행 버튼을 클릭하면 결과값이 출력됩니다.

 

사용자 삽입 이미지

❹ 다시 계속 진행 하고 싶다면 1번부터 반복 하면 됩니다.

 

※ RR 기법을 선택한 경우

다른 스케줄링 기법들은 실행 방법이 모두 같습니다.

하지만 RR기법은 시간할당량을 지정해 주어야 합니다.


 

사용자 삽입 이미지

위의 그림과 같이 RR 방식을 선택하면 시간 할당량 입력 부분이 나옵니다.

시간 할당량 부분을 입력하지 않거나 숫자가 아닌 다른 문자를 입력하면 경고창이 나옵니다. (반드시 숫자를 입력해야 합니다.)

사용자 삽입 이미지
 

시간 할당량 입력 -> 생성하기 버튼 클릭 -> 진행 버튼 클릭 한 후 결과화면

사용자 삽입 이미지



 

이번과제를 파이썬을 이용해 하면서 느낀점은
파이썬 코드가 예술이다~~!!
반응형

'Python' 카테고리의 다른 글

Python에서 bmp 크기 변경하기  (0) 2008.05.28
python list deepcopy, 형변환  (0) 2008.05.07
Python 무한루프 만들기  (0) 2008.05.04
Posted by Real_G