9급 국가직 공무원 컴퓨터일반 필기 기출문제복원 (2009-04-11)

9급 국가직 공무원 컴퓨터일반
(2009-04-11 기출문제)

목록

1. 중앙처리장치(CPU)와 주기억장치 사이에 캐쉬(cache) 메모리를 배치하는 이유로 옳은 것은?

  1. 주기억장치가 쉽게 프로세스를 복제하지 못하도록
  2. 중앙처리장치가 주기억장치에 접근하는 횟수를 줄이기 위해
  3. 중앙처리장치와 주기억장치를 직접 연결할 수 없기 때문에
  4. 캐쉬 제작비용이 주기억장치 제작비용보다 저렴하기 때문에
(정답률: 77%)
  • CPU와 주기억장치 사이에는 속도 차이가 존재합니다. CPU는 매우 빠른 속도로 데이터를 처리하지만, 주기억장치는 상대적으로 느린 속도로 데이터를 처리합니다. 이러한 속도 차이로 인해 CPU가 주기억장치에 접근할 때 시간이 많이 소요되어 성능 저하가 발생할 수 있습니다. 이를 해결하기 위해 CPU와 주기억장치 사이에 캐쉬 메모리를 배치함으로써 CPU가 주기억장치에 접근하는 횟수를 줄이고, 빠른 속도로 데이터를 처리할 수 있도록 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

2. 4비트를 이용한 정수 자료 표현에서 2의 보수를 이용하여 음수로 표현했을 때 옳지 않은 것은?

  1. 십진수 -4는 이진수 1100으로 표현된다.
  2. 십진수 8은 이진수 1000으로 표현된다.
  3. 십진수 -1은 이진수 1111로 표현된다.
  4. 십진수 5는 이진수 0101로 표현된다.
(정답률: 50%)
  • 정답: "십진수 -1은 이진수 1111로 표현된다."

    이유:
    - 4비트를 이용한 정수 자료 표현에서 2의 보수를 이용하여 음수를 표현할 때는, 해당 양수의 이진수를 뒤집은 후 1을 더한 값으로 표현한다.
    - 예를 들어, 4비트 이진수에서 2의 보수를 이용하여 -4를 표현하려면, 먼저 4의 이진수인 0100을 뒤집어 1011을 얻은 후 1을 더해 1100으로 표현한다.
    - 십진수 8은 이진수 1000으로 표현된다는 것은 단순히 2의 거듭제곱을 이진수로 표현한 것이다.
    - 하지만 십진수 -1은 이진수 1111로 표현되는데, 이는 4비트 이진수에서 2의 보수를 이용하여 -1을 표현한 것이다. 1의 이진수인 0001을 뒤집어 1110을 얻은 후 1을 더해 1111로 표현한 것이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

3. 파이프라이닝(pipelining)에 대한 설명 중 옳지 않은 것은?

  1. 이상적인 경우에 파이프라이닝 단계 수 만큼의 성능 향상을 목표로 한다.
  2. 하나의 명령어 처리에 걸리는 시간을 줄일 수 있다.
  3. 전체 워크로드(workload)에 대해 일정시간에 처리할 수 있는 처리량(throughput)을 향상시킬 수 있다.
  4. 가장 느린 파이프라이닝 단계에 의해 전체 시스템 성능 향상이 제약을 받는다.
(정답률: 25%)
  • "가장 느린 파이프라이닝 단계에 의해 전체 시스템 성능 향상이 제약을 받는다."가 옳지 않은 설명입니다.

    파이프라이닝은 하나의 명령어를 처리하는 데 필요한 시간을 줄이는 기술입니다. 이를 위해 명령어 처리를 여러 단계로 나누어 각 단계를 병렬로 처리합니다. 이렇게 하면 하나의 명령어를 처리하는 데 걸리는 전체 시간은 각 단계에서 걸리는 시간 중 가장 오래 걸리는 단계의 시간과 같아집니다. 따라서 파이프라이닝을 통해 하나의 명령어 처리에 걸리는 시간을 줄일 수 있습니다.

    또한, 파이프라이닝은 전체 워크로드에 대해 일정 시간에 처리할 수 있는 처리량을 향상시키는 데에도 도움이 됩니다. 이는 파이프라이닝을 통해 여러 명령어를 동시에 처리할 수 있기 때문입니다.

    하지만 가장 느린 파이프라이닝 단계에 의해 전체 시스템 성능 향상이 제약을 받는다는 설명은 옳지 않습니다. 파이프라이닝은 각 단계를 병렬로 처리하기 때문에, 가장 느린 단계가 전체 시스템 성능을 제약하는 것은 아닙니다. 오히려 각 단계의 처리 시간을 최적화하여 전체 시스템 성능을 향상시키는 것이 중요합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

4. 축소명령어 세트 컴퓨터(RISC) 형식의 중앙처리장치(CPU)가 명령어를 처리하는 개별 단계이다. 처리 순서를 바르게 나열한 것은?

  1. ㄱ-ㄴ-ㄷ-ㄹ-ㅁ
  2. ㄷ-ㄱ-ㄴ-ㄹ-ㅁ
  3. ㄱ-ㄷ-ㄴ-ㄹ-ㅁ
  4. ㄷ-ㄴ-ㄹ-ㄱ-ㅁ
(정답률: 72%)
  • 축소명령어 세트 컴퓨터(RISC) 형식의 중앙처리장치(CPU)는 명령어를 처리할 때 다음과 같은 단계를 거친다.

    ㄱ. 명령어를 가져온다.
    ㄴ. 명령어를 해석한다.
    ㄷ. 명령어를 실행한다.
    ㄹ. 다음 명령어를 가져온다.
    ㅁ. 처리를 종료한다.

    따라서, 처리 순서는 "ㄷ-ㄱ-ㄴ-ㄹ-ㅁ" 이다. 가져온 명령어를 먼저 실행하고, 그 다음에 다음 명령어를 가져오는 것이 효율적이기 때문이다. 다른 보기들은 처리 순서가 올바르지 않다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

5. 한쪽 방향으로 자료가 삽입되고 반대 방향으로 자료가 삭제되는 선입선출(first-in first-out) 형태의 자료 구조는?

  1. 큐(queue)
  2. 스택(stack)
  3. 트리(tree)
  4. 연결리스트(linked list)
(정답률: 96%)
  • 큐는 선입선출 형태의 자료 구조이기 때문에, 한쪽 방향으로 자료가 삽입되고 반대 방향으로 자료가 삭제됩니다. 이러한 특성은 큐가 스택과는 다르게, 가장 먼저 들어온 자료가 가장 먼저 나가는 구조를 가지고 있기 때문입니다. 따라서, 정답은 "큐(queue)"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

6. 패킷교환 방식과 회선교환 방식에 대한 설명으로 옳지 않은 것은?

  1. 패킷교환 방식은 두 호스트 간에 전용 통신 경로가 설정되지 않아도 된다.
  2. 일반적으로 패킷교환 방식은 회선교환 방식보다 통신선로 사용의 효율성이 낮다.
  3. 회선교환 방식은 패킷교환 방식보다 전송 지연이 적다.
  4. 기존 유선 전화는 회선교환 방식을 사용한다.
(정답률: 62%)
  • 정답: 일반적으로 패킷교환 방식은 회선교환 방식보다 통신선로 사용의 효율성이 낮다.

    설명: 패킷교환 방식은 데이터를 작은 단위인 패킷으로 나누어 전송하고, 각 패킷은 독립적으로 전송된다. 따라서 전용 통신 경로가 설정되지 않아도 되어 유연성이 높다는 장점이 있지만, 패킷들이 경로를 찾아가는 과정에서 중간에 다른 패킷들과 충돌할 수 있고, 이를 해결하기 위해 재전송이 필요하다. 이로 인해 전송 지연이 발생하고, 통신선로 사용의 효율성이 낮아진다. 반면, 회선교환 방식은 전용 통신 경로를 설정하여 데이터를 전송하므로 전송 지연이 적고, 통신선로 사용의 효율성이 높다는 장점이 있다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

7. 다음 용어에 대한 설명으로 옳지 않은 것은?

  1. 텔넷(TELNET)은 사용자가 원격지 호스트에 연결하여 이를 자신의 로컬 호스트처럼 사용하는 프로토콜이다.
  2. SNMP는 일반 사용자를 위한 응용프로토콜이 아니고, 망을 관리하기 위한 프로토콜이다.
  3. 텔넷(TELNET), FTP, SMTP 등은 TCP/IP의 응용계층에 속하는 대표적인 프로토콜이다.
  4. TCP/IP 프로토콜 중에서 UDP는 비연결형 데이터 전송방식을 사용하여 신뢰도가 높은 데이터 전송에 사용된다.
(정답률: 79%)
  • TCP/IP 프로토콜 중에서 UDP는 비연결형 데이터 전송방식을 사용하여 신뢰도가 높은 데이터 전송에 사용된다. - 이 설명이 옳지 않습니다. UDP는 비연결형 데이터 전송방식을 사용하며, 데이터 전송의 신뢰성을 보장하지 않습니다. 따라서 데이터 손실이 발생할 수 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

8. 네트워크에서 1비트의 패리티 비트(parity bit)를 사용하여 데이터의 전송 에러를 검출하려 한다. 1바이트 크기의 데이터 A, B, C, D, E 다섯 개를 전송하였다. 그 중 두 개의 데이터에서 1비트 에러가 발생하였고 나머지는 정상적으로 전송 되었다고 가정하자. 다음 표에서 에러가 발생한 두 개의 데이터는?

  1. A, D
  2. B, C
  3. B, E
  4. C, E
(정답률: 53%)
  • 패리티 비트는 전송할 데이터의 비트들 중에서 1의 개수가 짝수개가 되도록 하여 전송하는 방식이다. 이때, 수신측에서는 전송받은 데이터의 비트들 중에서 1의 개수가 홀수개인지 짝수개인지를 검사하여 에러를 검출할 수 있다.

    위의 표에서는 각 데이터의 비트들과 그에 해당하는 패리티 비트가 함께 표시되어 있다. 예를 들어, 데이터 A는 1010001로 표시되어 있고, 이 데이터의 패리티 비트는 1이다. 이는 데이터 A의 비트들 중에서 1의 개수가 홀수개이기 때문이다.

    따라서, 수신측에서는 전송받은 데이터와 해당하는 패리티 비트를 비교하여 1의 개수가 홀수개인 데이터에 에러가 발생했음을 검출할 수 있다.

    위의 표에서는 데이터 A와 D의 패리티 비트가 1로 표시되어 있으므로, 이 둘 중에서 1비트 에러가 발생한 것으로 추정할 수 있다. 따라서, 정답은 "A, D"이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

9. 프로그램을 컴파일 하는 과정을 순서대로 바르게 나열한 것은?

  1. ㄱ-ㄴ-ㄷ-ㄹ
  2. ㄷ-ㄴ-ㄹ-ㄱ
  3. ㄹ-ㄱ-ㄷ-ㄴ
  4. ㄱ-ㄷ-ㄹ-ㄴ
(정답률: 72%)
  • 프로그램을 컴파일하는 과정은 다음과 같습니다.
    1. 소스 코드 작성
    2. 프리프로세서에 의한 전처리
    3. 컴파일러에 의한 번역
    4. 링커에 의한 링크

    따라서, "ㄱ-ㄷ-ㄹ-ㄴ"이 정답입니다. 먼저 소스 코드를 작성한 후, 프리프로세서에 의해 전처리되고, 컴파일러에 의해 번역되며, 최종적으로 링커에 의해 링크됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

10. 소프트웨어 개발 도구에 대한 설명으로 옳지 않은 것은?

  1. 컴파일러(compiler)는 원시프로그램을 목적프로그램 또는 기계어로 변환하는 번역기이다.
  2. 링커(linker)는 각각 컴파일 된 목적프로그램들과 라이브러리 프로그램들을 묶어서 로드 모듈이라는 실행 가능한 한 개의 기계어로 통합한다.
  3. 프리프로세서(preprocessor)는 고급언어로 작성된 프로그램을 실행 가능한 기계어로 변환하는 번역기이다.
  4. 디버거(debugger)는 프로그램 오류의 추적, 탐지에 사용된다.
(정답률: 79%)
  • 프리프로세서(preprocessor)는 고급언어로 작성된 프로그램을 실행 가능한 기계어로 변환하는 번역기가 아니라, 소스코드를 컴파일러에게 전달하기 전에 전처리 작업을 수행하는 도구이다. 전처리 작업은 주로 소스코드 내에서 사용되는 매크로를 처리하거나, 조건부 컴파일을 위한 지시자를 처리하는 등의 작업을 수행한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

11. 폭포수 모형(waterfall model)의 진행 단계를 순서대로 바르게 나열한 것은?

  1. ㄱ-ㅁ-ㄷ-ㄹ-ㄴ
  2. ㅁ-ㄱ-ㄹ-ㄷ-ㄴ
  3. ㅁ-ㄱ-ㄷ-ㄹ-ㄴ
  4. ㄱ-ㅁ-ㄹ-ㄷ-ㄴ
(정답률: 67%)
  • 정답은 "ㄱ-ㅁ-ㄹ-ㄷ-ㄴ" 입니다.

    - ㄱ: 요구사항 분석 - 프로젝트의 목적과 범위를 파악하고, 요구사항을 수집하고 분석하여 명세서를 작성합니다.
    - ㅁ: 설계 - 요구사항 명세서를 기반으로 시스템 구조와 모듈을 설계합니다.
    - ㄹ: 구현 - 설계된 시스템을 실제로 개발하고 코딩합니다.
    - ㄷ: 시험 - 구현된 시스템을 테스트하고 검증합니다.
    - ㄴ: 유지보수 - 시스템이 사용되는 동안 발생하는 문제를 해결하고, 필요에 따라 수정과 보완을 진행합니다.

    이유는 폭포수 모형은 개발 생명주기를 단계적으로 진행하는 모형으로, 각 단계가 선행되어야 다음 단계로 진행할 수 있기 때문입니다. 따라서 요구사항 분석이 먼저 이루어지고, 그 다음 설계, 구현, 시험, 유지보수 순서로 진행됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

12. 교착상태에 대한 설명으로 옳지 않은 것은?

  1. 교착상태를 예방하기 위한 방법에는 점유와 대기 조건의 방지, 비선점(non-preemptive) 조건의 방지, 순환대기 조건의 방지 방법이 있다.
  2. 교착상태를 회피하기 위한 방법으로 은행가 알고리즘(banker algorithm)이 있다.
  3. 둘 이상의 프로세스들이 서로 다른 프로세스가 점유하고 있는 자원을 기다리느라 어느 프로세스도 진행하지 못하는 상태를 말한다.
  4. 상호배제 조건, 점유와 대기 조건, 비선점(non-preemptive)조건, 순환 대기의 조건 중 어느 하나만 만족하면 발생한다.
(정답률: 84%)
  • "상호배제 조건, 점유와 대기 조건, 비선점(non-preemptive)조건, 순환 대기의 조건 중 어느 하나만 만족하면 발생한다."는 옳지 않은 설명입니다. 교착상태는 이러한 조건들이 모두 충족될 때 발생합니다. 따라서 이 설명은 부정확하며, 모든 조건이 충족될 때 교착상태가 발생한다는 것을 강조해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

13. 미래 컴퓨터 기술에 대한 설명으로 옳지 않은 것은?

  1. 나노 컴퓨터(nano computer) : 원자나 분자 크기의 소자를 활용한 나노기술을 응용해서 만든 컴퓨터를 말한다.
  2. 바이오 컴퓨터(bio computer) : 단백질, DNA 등의 생체 고분자의 특수한 기능을 이용하는 바이오 소자를 활용하여 만든 컴퓨터를 말한다.
  3. 광 컴퓨터(optical computer) : 컴퓨터의 연산회로에 광학소자는 사용하지만 전광집적회로(electro-optical IC)는 사용하지 않는 컴퓨터를 말한다.
  4. 양자 컴퓨터(quantum computer) : 양자 역학에 기반한 컴퓨터로서 원자 이하의 차원에서 입자의 움직임에 기반을 두고 계산이 수행되는 컴퓨터를 말한다. 기존의 이진수 비트(bit) 기반의 컴퓨터와 달리 하나 이상의 상태로 존재할 수 있는 큐비트(qubit)를 이용한다.
(정답률: 86%)
  • 광 컴퓨터(optical computer) : 컴퓨터의 연산회로에 광학소자는 사용하지만 전광집적회로(electro-optical IC)는 사용하지 않는 컴퓨터를 말한다. - 이 설명이 옳지 않은 것은 아니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

14. 기업의 정보를 데이터베이스로 구축함으로써 얻을 수 있는 장점으로 옳지 않은 것은?

  1. 데이터 중복의 최소화
  2. 여러 사용자에 의한 데이터 공유
  3. 데이터간의 종속성 유지
  4. 데이터 내용의 일관성유지
(정답률: 82%)
  • 데이터간의 종속성 유지는 옳지 않은 것입니다. 데이터간의 종속성이 유지되면 데이터의 수정이나 삭제가 어려워지며, 시스템의 유연성이 떨어지게 됩니다. 따라서 데이터베이스 설계 시에는 데이터간의 종속성을 최소화하여 유연하고 효율적인 시스템을 구축해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

15. 정보화 사회에서 개인 정보를 불법적인 방법으로 추출하여 개인의 경제적인 피해를 유발하는 사고가 많이 발생하고 있다. 개인 정보를 불법적으로 추출하는 방법으로 옳지 않은 것은?

  1. 스니핑(sniffing)
  2. 스푸핑(spoofing)
  3. 페이징(paging)
  4. 피싱(phishing)
(정답률: 80%)
  • 페이징(paging)은 개인 정보를 불법적으로 추출하는 방법이 아닙니다. 페이징은 컴퓨터의 메모리 관리 기술 중 하나로, 프로그램이 실행될 때 필요한 메모리 공간을 할당하는 것을 말합니다. 따라서, 옳지 않은 것은 아닙니다. 스니핑(sniffing), 스푸핑(spoofing), 피싱(phishing)은 개인 정보를 불법적으로 추출하는 방법으로 알려져 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

16. 가상 메모리에 대한 설명으로 옳지 않은 것은?

  1. 가상 메모리는 물리적 메모리 개념과 논리적 메모리 개념을 분리한 것이다.
  2. 가상 메모리를 이용하면 개별 프로그램의 수행 속도가 향상된다.
  3. 가상 메모리를 이용하면 각 프로그램에서 메모리 크기에 대한 제약이 줄어든다.
  4. 프로그램의 일부분만 메모리에 적재(load)되므로 다중 프로 그래밍이 쉬워진다.
(정답률: 59%)
  • 가상 메모리를 이용하면 개별 프로그램의 수행 속도가 향상된다는 설명이 옳지 않습니다.

    가상 메모리는 물리적 메모리와 논리적 메모리를 분리하여 물리적 메모리보다 큰 용량의 논리적 메모리를 사용할 수 있도록 하는 기술입니다. 이를 통해 각 프로그램에서 메모리 크기에 대한 제약이 줄어들고, 프로그램의 일부분만 메모리에 적재되므로 다중 프로그래밍이 쉬워집니다. 하지만 이는 개별 프로그램의 수행 속도와는 직접적인 연관성이 없습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

17. 다음 C 프로그램의 실행 결과는?

  1. 6
    1 2 3
  2. 12
    1 2 3
  3. 12
    4 4 4
  4. 12
    4 2 3
(정답률: 45%)
  • 이 프로그램은 배열 arr의 크기를 입력받고, 그 크기만큼 정수를 입력받아 배열에 저장한 후, 배열의 최댓값과 그 인덱스를 출력하는 프로그램입니다.

    입력된 배열 arr에서 최댓값을 찾기 위해 for문을 사용하고, 최댓값을 찾으면 그 값을 max에 저장하고, 그 때의 인덱스를 idx에 저장합니다. 그리고 마지막으로 max와 idx를 출력합니다.

    따라서 입력된 배열이 [4, 2, 3]일 때, 최댓값은 4이고, 그 인덱스는 0입니다. 그리고 배열 arr의 크기가 12이므로, 출력 결과는 "12
    4 2 3"이 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

18. 다음 문맥자유문법(CFG)에서 비단말기호 binary_digit가 생성하는 언어로 옳지 않은 것은?

  1. 01101
  2. 1101000
  3. 001011
  4. 1001011
(정답률: 45%)
  • 비단말기호 binary_digit는 0 또는 1을 생성하는 기호입니다. 따라서 "01101"은 binary_digit로 생성 가능한 문자열입니다. "1101000", "001011", "1001011"도 모두 binary_digit로 생성 가능한 문자열입니다. 따라서 옳지 않은 것은 없습니다.

    정답이 "01101"인 이유는 CFG에서 S → binary_digit S binary_digit | binary_digit 규칙에 따라, S는 binary_digit로 시작하고 끝나는 문자열이 됩니다. 그리고 S는 재귀적으로 binary_digit S binary_digit 또는 binary_digit로 확장될 수 있습니다. 따라서 "01101"은 S → binary_digit S binary_digit | binary_digit 규칙을 따라 생성 가능한 문자열 중 하나입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

19. 컴퓨터를 작동시켰을 때 발생하는 부트(boot) 과정에 대한 설명으로 옳지 않은 것은?

  1. 부트스트랩 프로그램은 일반적으로 운영체제가 저장된 하드 디스크에 저장되어 있다.
  2. 부트 과정의 목적은 운영체제를 하드디스크로부터 메모리로 적재하는 것이다.
  3. 부트 과정은 여러 가지 중요한 시스템 구성 요소들의 진단 검사를 수행한다.
  4. 부트 과정을 완료하면 중앙처리장치는 제어권을 운영체제로 넘겨준다.
(정답률: 53%)
  • "부트스트랩 프로그램은 일반적으로 운영체제가 저장된 하드 디스크에 저장되어 있다."가 옳지 않은 것이다. 부트스트랩 프로그램은 일반적으로 컴퓨터의 ROM 또는 BIOS 칩에 저장되어 있다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

20. 다음 기능을 수행하는 중앙처리장치(CPU)의 레지스터는?

  1. PC(program counter)
  2. AC(accumulator)
  3. MAR(memory address register)
  4. MBR(memory buffer register)
(정답률: 78%)
  • PC(program counter) 레지스터는 다음에 실행할 명령어의 주소를 저장하는 레지스터입니다. 따라서 CPU가 다음에 실행할 명령어를 찾기 위해 PC 레지스터를 사용합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

< 이전회차목록 다음회차 >