2011년 4월 9일에 시행한 국가직 9급 공무원 시험 컴퓨터일반 기출문제입니다.


문  1. CPU가 명령어를 실행할 때 필요한 피연산자를 얻기 위해 메모리에 접근하는 횟수가 가장 많은 주소지정 방식(addressing mode)은? (단, 명령어는 피연산자의 유효 주소를 얻기 위한 정보를 포함하고 있다고 가정한다)
① 직접 주소지정 방식 (direct addressing mode)
② 간접 주소지정 방식 (indirect addressing mode)
③ 인덱스 주소지정 방식 (indexed addressing mode)
④ 상대 주소지정 방식 (relative addressing mode)


피연산자를 얻기 위해 메모리에 접근하는 횟수를 level이라 합니다.
즉시 주소(level = 0)
레지스터 주소(level = 0.5)
직접 주소(level = 1)
레지스터 간접주소(level = 1.5)
간접 주소(level >= 2)이므로 속도는 당연히 느리지만 명령어 레지스터(IR)의 operand의 크기가 작아도 모든 메모리의 접근이 가능하므로 융통성이 있고 효율적인 주소 지정방식이라고 할 수 있습니다.
인덱스 주소와 상대 주소방식은 계산에 의한 방식이므로 메모리 접근하는 횟수로는 구분되지 않습니다.

문  2. 컴퓨터 시스템에서 일반적인 메모리 계층 구조를 설계하는 방식에 대한 설명으로 옳지 않은 것은?
① 상대적으로 빠른 접근 속도의 메모리를 상위 계층에 배치한다.
② 상대적으로 큰 용량의 메모리를 상위 계층에 배치한다.
③ 상대적으로 단위 비트 당 가격이 비싼 메모리를 상위 계층에 배치한다.
④ 하위 계층에는 하드디스크나 플래시(flash) 메모리 등 비휘발성 메모리를 주로 사용한다.


메모리 계층 구조에서는 위로 올라 갈수록 비트당 가격이 비싸고 소용량이며 속도가 빠른 특징을 가지며 아래로 내려 갈수록 비트당 가격이 싸고 대용량이며 속도가 느린 특징을 가집니다.

문  3. 클라이언트/서버 구조에 대한 설명으로 옳지 않은 것은?
① 클라이언트와 서버는 동시에 같은 물리적 컴퓨터에 위치할 수 없다.
② 클라이언트와 서버의 플랫폼과 운영체제는 서로 다를 수 있다.
③ 클라이언트는 사용자에게 친숙한 인터페이스를 제공하고, 서버는 클라이언트를 위한 공유 서비스의 집합을 제공한다.
④ 분산 환경에서 정보 시스템 구축의 핵심 기술로 사용되고 있다.


클라이언트/서버는 두 개의 컴퓨터 프로그램 사이에 이루어지는 역할 관계를 나타냅니다. 클라이언트는 다른 프로그램에게 서비스를 요청하는 프로그램이며, 서버는 그 요청에 대해 응답을 해주는 프로그램입니다. 클라이언트/서버 개념은 단일 컴퓨터 내에서도 적용될 수 있습니다. 물론 네트웍 상에서의 클라이언트/서버 모델은 여러 다른 지역에 걸쳐 분산되어 있는 프로그램들을 연결시켜주는 편리한 수단을 제공합니다.

문  4. 데이터베이스 스키마(schema)에 대한 설명으로 옳지 않은 것은?
① 스키마(schema)는 데이터베이스의 논리적 정의인 데이터의 구조와 제약 조건에 대한 명세를 기술한 것이다.
② 외부 스키마(external schema)는 데이터베이스의 개별 사용자나 응용 프로그래머가 접근하는 데이터베이스를 정의한 것이다.
③ 내부 스키마(internal schema)는 여러 개의 외부 스키마를 통합하는 관점에서 논리적인 데이터베이스를 기술한 것이다.
④ 개념 스키마(conceptual schema)는 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스를 기술한 것으로 하나의 데이터베이스 시스템에는 하나의 개념 스키마만 존재한다.


3번에서 설명한 것은 개념스키마의 내용입니다.
내부 스키마는 물리적 저장 장치면에서 본 데이터베이스의 구조를 말합니다.

문  5. 다음 2진수 산술 연산의 결과와 값이 다른 것은? (단, 두 2진수는 양수이며, 연산 결과 오버플로(overflow)는 발생하지 않는다고 가정한다)
10101110 + 11100011
① 2진수 110010001
② 8진수 421
③ 10진수 401
④ 16진수 191



문  6. 다음 부울 함수식 F를 간략화한 결과로 옳은 것은?
F=ABC+ABC'+AB'C+AB'C'+A'B'C+A'B'C'
① F=A'+B
② F=A+B'
③ F=A'B
④ F=AB'




문  7. 자료 구조 중 최악의 경우를 기준으로 했을 때 탐색(search) 성능이 가장 좋은 것은?
① 정렬되지 않은 배열
② 체인법을 이용하는 해쉬 테이블
③ 이진 탐색 트리
④ AVL 트리


정렬되지 않은 배열은 당연히 O(n)
체인법을 이용하는 해쉬 테이블 : 해쉬만 보면 O(1)이지만 체인법을 이용한다는 것은 오버플로우 해결방법으로 연결리스트 모양의 해쉬 테이블이 구성됨을 말합니다.
따라서 최악의 경우 모든 데이터가 충돌이 발생하고 같은 주소에서 연결리스트 모양을 얻게 된다면 탐색의 경우 O(n)이 됩니다.
이진 탐색 트리는 최악의 경우 사향이진트리의 모양이 되어 O(n)
AVL 트리는 균형인수가 2이상이 되면 트리를 회전하여 항상 균형인수가 1이하가 되도록 맞춥니다. 따라서 최악의 경우에도 O(log n)의 성능을 얻습니다.

문  8. 다음 C 프로그램의 실행 결과로 옳은 것은?
① 11 12 13 14
② 11 22 33 44
③ 22 23 24 25
④ 22 33 44 55


num이 배열명이며 배열의 시작주소를 갖고 있습니다.
ptr은 포인터로 num[1] 값을 가리키고 있습니다.
for문은 4번 반복해야 하고
*ptr++은 ptr이 가리키는 곳의 값을 출력 후 ptr이 1 증가하는 것을 의미하므로 22, 33, 44, 55가 출력됩니다.

문  9. 인터넷 접속 장비가 급격히 늘어남에 따라 신규로 할당할 수 있는 IP 주소의 고갈이 예상된다. 다음 중 IP 주소 고갈 문제에 대한 해결 방안과 연관이 있는 것을 모두 고른 것은?
ㄱ. NAT(network address translation)
ㄴ. IPv6
ㄷ. DHCP(dynamic host configuration protocol)
ㄹ. ARP(address resolution protocol)
① ㄱ, ㄹ
② ㄴ, ㄷ
③ ㄱ, ㄴ, ㄷ
④ ㄴ, ㄷ, ㄹ


NAT는 사설 IP주소를 공인 IP주소로 바꾸는데 사용하는 통신망의 주소 변환기입니다. 즉, 사내의 개별주소와 정식 IP 주소를 상호 변환합니다. 인터넷의 공인 IP주소를 절약할 수 있습니다. 여러 개의 개별 주소를 상황에 따라 하나의 공인 IP주소로 사용할 수 있다고 보시면 됩니다.
IPv6은 당연히 부족한 주소를 해결하기 위해 IP주소의 비트 수를 128비트로 확장시킨 방식입니다. IPng(IP next generation)이라고도 합니다.
DHCP는 네트워크 관리자들이 조직 내의 네트워크 상에서 IP 주소를 중앙에서 관리하고 할당해줄 수 있도록 합니다. 주소 자체가 많아지지는 않지만 상황에 동적으로 대응할 수 있습니다.
ARP는 논리적 주소인 IP를 물리적 H/W주소로 변환하는 프로토콜이므로 부족한 IP를 대응하기 위한 방식은 절대 아닙니다.

문 10. 프로세스들의 도착 시간과 실행 시간이 다음과 같다. CPU 스케줄링 정책으로 라운드로빈(round-robin) 알고리즘을 사용할 경우 평균 대기 시간은 얼마인가? (단, 시간 할당량은 10초이다)
프로세스 번호
도착 시간
실행 시간
1
0초
10초
2
6초
18초
3
14초
5초
4
15초
12초
5
19초
1초
① 10.8초
② 12.2초
③ 13.6초
④ 14.4초


1번 프로세스의 대기 시간은 도착하자마자 들어가므로 0초이며 한번 할당받아 완료합니다.
2번 프로세스의 대기 시간은 6초에 도착하여 4초간 대기한 후 실행하며 20초에 나와 36초에 다시 실행하므로 16초 대기하므로 총 대기시간은 4+16, 20초입니다.
3번 프로세스의 대기 시간은 14초에 도착하여  6초 대기 후 실행합니다.
4번 프로세스의 대기 시간은 15초에 도착하여 10초 대기 후 실행하여 35초에 나와 44초에 다시 실행하므로 9초 대기, 총 대기시간은 19입니다.
5번 프로세스의 대기 시간은 19초에 도착하여 35초에 진입하므로 16초 대기입니다.
(0+20+6+19+16)/5를 하면 평균 대기 시간 12.2초를 구하실 수 있습니다.

문 11. 명령어와 데이터 스트림을 처리하기 위한 하드웨어 구조에 따른 Flynn의 분류에 대한 설명으로 옳지 않은 것은?
① SISD는 제어장치와 프로세서를 각각 하나씩 갖는 구조이며 한 번에 한 개씩의 명령어와 데이터를 처리하는 단일 프로세서 시스템이다.
② SIMD는 여러 개의 프로세서들로 구성되고 프로세서들의 동작은 모두 하나의 제어장치에 의해 제어된다.
③ MISD는 여러 개의 제어장치와 프로세서를 갖는 구조로 각 프로세서들은 서로 다른 명령어들을 실행하지만 처리하는 데이터는 하나의 스트림이다.
④ MIMD는 명령어가 순서대로 실행되지만 실행과정은 여러 단계로 나누어 중첩시켜 실행 속도를 높이는 방법이다.


4번에서 설명하고 있는 것은 파이프라인입니다. 항상 시간적으로 중첩하여 실행하는 것은 파이프라인입니다. 명령어가 순서대로 실행된다는 것도 프로세서가 1개라는 것을 의미합니다.
MIMD는 여러 개의 제어장치와 프로세서를 가지고 서로 다른 명령어와 다른 데이터 스트림으로 실행하는 가장 완벽한 병렬구조입니다.

문 12. 인터넷 환경에서 다른 사용자들이 송수신하는 네트워크 상의 데이터를 도청하여 패스워드나 중요한 정보를 알아내는 형태의 공격은?
① 서비스 거부(DoS:denial of service) 공격
② ICMP 스머프(smurf) 공격
③ 스니핑(sniffing)
④ 트로이 목마(Trojan horse)


DoS는 주로 시스템에 과도한 부하를 일으켜 정보 시스템의 사용을 방해하는 공격 방식으로 가용성을 해칩니다.
스머프는 스머핑이라는 프로그램을 사용하여 네트워크를 공격하는데, IP 브로드캐스트 주소로 많은 양의 ICMP 핑(ping) 메시지를 보내고 그에 대응한 에코 메시지로 인해 네트워크는 실시간 트래픽을 처리할 수 없는 상태를 만듭니다.
트로이 목마는 정상적인 프로그램으로 보이지만 악의적인 기능을 하는 바이러스 프로그램입니다.

문 13. 분산처리시스템에 대한 설명으로 옳지 않은 것은?
① 분산되어 있는 자원을 공유할 수 있으며 분산 처리를 통해 컴퓨팅 성능을 향상시킬 수 있다.
② 성(star)형 연결 구조의 경우 중앙 노드에 부하가 집중되어 성능이 저하되거나 중앙 노드 고장시 전체 시스템이 마비될 수 있다. 
③ 계층 연결 구조의 경우 인접 형제 노드간 통신은 부모 노드를 거치지 않고 이루어질 수 있다.
④ 다중 접근 버스 연결 구조의 경우 한 노드의 고장이 다른 노드의 작동이나 통신에 거의 영향을 주지 않는다.


계층 연결 구조는 트리형을 생각하시면 됩니다. 당연히 형제 노드간 통신을 위해서는 부모 노드를 거쳐야 하며 그 부모 노드에서 병목현상이 발생할 수 있습니다.

문 14. 모듈의 결합도(coupling)와 응집력(cohesion)에 대한 설명으로 옳은 것은?
① 결합도란 모듈 간에 상호 의존하는 정도를 의미한다.
② 결합도는 높을수록 좋고 응집력은 낮을수록 좋다.
③ 여러 모듈이 공동 자료 영역을 사용하는 경우 자료 결합(data coupling)이라 한다.
④ 가장 이상적인 응집은 논리적 응집(logical cohesion)이다.


결합도는 낮고 응집력은 높을수록 좋습니다.
여러 모듈이 공동 자료 영역을 사용하는 것은 공통 결합도입니다.
가장 이상적인 응집은 기능적 응집입니다.

문 15. 큐(queue) 자료구조에 대한 설명으로 옳지 않은 것은?
① 자료의 삽입과 삭제는 같은 쪽에서 이루어지는 구조다.
② 먼저 들어온 자료를 먼저 처리하기에 적합한 구조다.
③ 트리(tree)의 너비 우선 탐색에 이용된다.
④ 배열(array)이나 연결 리스트(linked list)를 이용해서 큐를 구현할 수 있다.


큐는 자료의 삽입과 삭제가 양쪽 끝에서 각각 일어나는 구조로 각각의 작업을 위해 삽입은 rear, 삭제는 front라는 포인터를 이용합니다.
자료의 삽입과 삭제가 같은 쪽에서 이루어지는 구조는 스택이며, top 포인터 하나를 사용하게 됩니다.

문 16. 운영체제의 디스크 스케줄링에 대한 설명으로 옳지 않은 것은?
① FCFS 스케줄링은 공평성이 유지되며 스케줄링 방법 중 가장 성능이 좋은 기법이다.
② SSTF 스케줄링은 디스크 요청들을 처리하기 위해서 현재 헤드 위치에서 가장 가까운 요청을 우선적으로 처리하는 기법이다.
③ C-SCAN 스케줄링은 양쪽 방향으로 요청을 처리하는 SCAN 스케줄링 기법과 달리 한쪽 방향으로 헤드를 이동해 갈 때만 요청을 처리하는 기법이다.
④ 섹터 큐잉(sector queuing)은 고정 헤드 장치에 사용되는 기법으로 디스크 회전 지연 시간을 고려한 기법이다.


FCFS는 공평성은 유지가 되지만 스케줄링 중 가장 성능이 좋지는 않습니다.
한 방향으로 트랙을 요구한다면 성능이 좋겠지만 최악의 경우 헤드 이동거리는 굉장히 증가하지만 처리량이 매우 적을 수 있습니다.

문 17. 웹환경에서 사용되는 쿠키(cookie)에 대한 설명으로 옳지 않은 것은?
① 쿠키는 사용자가 웹사이트에 접속할 때 생성되는 파일이다.
② 웹사이트는 쿠키를 이용하여 웹사이트 사용자에 대한 정보를 저장할 수 있다.
③ 쿠키에 저장되는 내용은 쿠키의 사용목적에 따라 결정된다.
④  쿠키는 웹사이트에서 생성되고 웹사이트에 저장되는 파일이다.


쿠키는 하드디스크에 저장됩니다. 그러므로 공유하는 PC에서의 작업 후에는 반드시 인터넷 옵션에서 쿠키를 삭제하셔야 합니다.

문 18. 컴퓨터와 네트워크 보안에 대한 설명으로 옳지 않은 것은?
① 인증(authentication)이란 호스트나 서비스가 사용자의 식별자를 검증하는 것을 의미한다.
② 기밀성(confidentiality)이란 인증된 집단만 데이터를 읽는 것이 가능한 것을 의미한다.
③ 무결성(integrity)이란 모든 집단이 데이터를 수정할 수 있도록 허가한다는 것을 의미한다.
④ 가용성(availability)이란 인증된 집단이 컴퓨터 시스템의 자산들을 사용할 수 있다는 것을 의미한다.


무결성이란 전송된 데이터의 내용이 바뀌지 않았다는 것을 의미합니다. 즉, 정보 전달 도중에 정보가 훼손되지 않았는지 확인하는 것입니다.

문 19. 뉴스, 채용정보, 블로그 같은 웹사이트들에서 자주 갱신되는 콘텐츠 정보를 웹사이트들간에 교환하기 위해 만들어진 XML(extensible markup language) 기반 형식으로 옳은 것은?
① XSS(cross site scripting)
② PICS(platform for internet content selection)
③ RSS(really simple syndication)
④ XHTML(extensible HTML)


RSS(really simple syndication)는 뉴스나 블로그에서 주로 사용하는 콘텐츠 표현 방식입니다. 전에는 원하는 정보를 얻기 위해 해당 사이트를 직접 방문하여야 했으나, RSS 관련 프로그램(혹은 서비스)을 이용하여 자동 수집이 가능해졌기 때문에 사용자는 각각의 사이트 방문 없이 최신 정보들만 골라 한 자리에서 볼 수 있습니다.

문 20. C 프로그램에서 int 형 변수 a와 b의 값이 모두 5일 때, 다음 연산 중 결과 값이 같은 것끼리 묶은 것은?
 ㄱ. a && b
 ㄴ. a & b
 ㄷ. a==b
 ㄹ. a - b
① ㄱ, ㄴ
② ㄱ, ㄷ
③ ㄴ, ㄷ
④ ㄴ, ㄹ


㉠ a && b에서 a와 b는 참이므로 논리연산 참, 1입니다.
㉡ a & b는 비트연산이므로 5
㉢ a == b는 비교연산으로 참, 1입니다.
㉣ a - b는 산술연산으로 0입니다.



사이버국가고시센터 문제 PDF 새탭에서 보기
사이버국가고시센터 문제 PDF 다운로드
사이버국가고시센터 문제 HWP 다운로드
사이버국가고시센터 정답 다운로드

댓글 쓰기

 
Top