less than 1 minute read

Trace 번호 (06)

1. sdriver로 tsh실행

Image

2. sdriver로 tshref실행

Image

각 trace 별 플로우 차트

Image



trace 해결 방법 설명

Image


trace06은 프로그램을 foreground와 background 작업으로 동시에 실행하는 것이다.

sdriver 실행 결과를 봤을 때 myspin1 프로그램을 background로, myspin2 프로그램을 foreground로 실행한다. 근데 “./myspin2 1”에서 왜 뒤에 1이 붙는지 궁금하여 myspin2.c 코드를 열어봤다.

Image


주석을 살펴보니 두 가지의 모드로 실행 가능하다고 한다.

Image


trace해결에 중요한 부분만 살펴보면, 직접 “./myspin2”를 입력하여 실행하는 경우 standalone 모드로 실행되는데, 인자가 있을 경우 숫자(시간)으로 받고 해당 시간동안 대기하고 종료한다(없을 경우 기본-JOB_TIMEOUT- 시간동안) 즉 “./myspin2 1”은 1초동안 대기하고 프로그램을 종료하라는 것이었다.

그리고 trace05에서 eval()함수에 foreground와 background 작업 형태에 따라 다르게 처리되도록 각각 구현했고, 지금까지 foreground와 background 실행 trace를 잘 통과했으므로 역시 의도한 작업을 수행 가능하다.

Leave a comment