Certifications

TOPCIT 연습문제 (주관적)정답 - 모듈1

iseop 2023. 5. 25. 15:01   인쇄용 버전

TOPCIT은 정보통신기획평가원에서 주관하는 소프트웨어 역량검정인데, 소프트웨어산업진흥법에 근거를 두고 시행되고 있습니다. 고득점자는 협약기관 입사지원 시 서류전형에서 가산점을 주는 정도까지만 인정해 주고 있습니다. 정보처리기사와 범위가 유사하나 난이도가 좀 더 높다고 합니다.

 

TOPCIT 홈페이지에는 시험 환경을 체험해볼 수 있는 페이지가 있습니다.

연습 문제도 20개 정도 있는데(실제 시험에서는 65개), 정답이 나와있지 않기 때문에 제가 아는 선에서 정답이라고 생각하는 답을 정리해 보았습니다.

문제의 출처는 https://topcit.or.kr/board/preview.do 입니다.

나머지 문제는 생각나는 대로 추가로 정리하려고 합니다.

 

 

SW-문2. CPU 스케줄링 방법 중 다음과 같은 상황을 해결하기 위한 방법을 한 단어로 적으시오.

- A은행 입구에 있는 순번대기표 생성기는 특정 시간 내에 처리해야 하는 중요한 업무가 있는 고객을 위하여 0~99번까지,그렇지 않은 일반 업무가 있는 고객을 위하여 100~140번까지 번호를 생성한다.
- 고객이 은행에 도착했을 때 업무의 중요도에 따라서 적절한 번호를 부여 받게 되며, 낮은 숫자의 번호표를 가진 고객의 업무를 먼저 처리한다.
- 박 과장의 순번대기표는 130번이다.그런데 오늘 따라 중요한 업무를 처리하기 위한 고객이 끊이지 않아 박 과장은 업무 처리를 하지 못하고 계속 기다리고만 있다.

에이징(aging)

해설: 우선순위(priority) 스케줄링 알고리즘에서, 박 과장은 계속 기다리고만 있으므로 이미 교착상태(deadlock)가 발생한 상황이다. (만약 실제로 발생하지는 않았는데, 발생이 예상되는 경우는 무한연기indefinite postponement 라고 한다.) 우선순위 스케줄링 알고리즘에서 교착상태와 무한연기 문제를 해결하기 위한 방법은 에이징(aging)이다. 쉽게 말해 대기를 오래 해서 나이를 많이 먹은 프로세스를 실행시키는 것이다.

 

 

SW-문4. 다음 [보기]는 차대리가 개발 중인 자바 프로그램의 일부이다. 아래 물음에 답하시오.

  ➡️보기는 자바가 아니라 C언어인 점을 감안하도록 하겠습니다.

4-1. 두 학생 중 잘못된 코드를 작성한 사람이 누구인지 선택하고, 그 이유를 설명하시오.(20점)

B학생이 잘못된 코드를 작성했다. register 변수는 메모리가 아닌 CPU 레지스터를 가리키므로 주소 연산자인 &를 사용하면 컴파일 오류가 발생한다.

 

4-2. 문제 1)에서 선택한 학생의 코드를 바르게 수정하시오.(20점)

scanf("%d", num);