[9급 국가직 컴퓨터일반] 17년 1회차
9급 국가직 컴퓨터일반 기출문제

17년 1회차

총 20문항 · 객관식 · A4 약 1장

1 / 1
A4정답 포함
9급 국가직 컴퓨터일반 기출문제모두CBT · moducbt.com

17년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
컴퓨터 구조에 대한 설명으로 옳지 않은 것은?
1폰노이만이 제안한 프로그램 내장방식은 프로그램 코드와 데이터를 내부기억장치에 저장하는 방식이다.
2병렬처리방식 중 하나인 SIMD는 하나의 명령어를 처리하기 위해 다수의 처리장치가 동시에 동작하는 다중처리기 방식이다.
3CISC 구조는 RISC 구조에 비해 명령어의 종류가 적고 고정명령어 형식을 취한다.
4파이프라인 기법은 하나의 작업을 다수의 단계로 분할하여 시간적으로 중첩되게 실행함으로써 처리율을 높인다.
정답 및 해설

옳지 않은 설명은 CISC 구조가 RISC 구조에 비해 명령어 종류가 적고 고정 명령어 형식을 취한다는 것이다.

CISC는 명령어 종류가 많고 가변 길이 형식을 쓰며, 명령어 종류가 적고 고정 길이 형식을 쓰는 쪽은 RISC이다. 즉 두 구조의 특징을 뒤바꾼 설명이다.

  • 프로그램 내장 방식은 프로그램 코드와 데이터를 함께 내부기억장치에 저장해 실행하는 폰노이만 구조의 핵심이므로 옳다.
  • SIMD는 하나의 명령어로 여러 처리장치가 여러 데이터를 동시에 처리하는 병렬처리 방식이므로 옳다.
  • 파이프라인은 명령어 처리를 여러 단계로 나눠 중첩 실행해 처리율을 높이므로 옳다.
문제 2
중앙처리장치 내의 레지스터 중 PC(program counter), IR(instruction register), MAR(memory address register), AC(accumulator)와 다음 설명이 옳게 짝지어진 것은? (순서대로 PC, IR, MAR, AC)

ㄱ. 명령어 실행 시 필요한 데이터를 일시적으로 보관한다.

ㄴ. CPU가 메모리에 접근하기 위해 참조하려는 명령어의 주소 혹은 데이터의 주소를 보관한다.

ㄷ. 다음에 인출할 명령어의 주소를 보관한다.

ㄹ. 가장 최근에 인출한 명령어를 보관한다.

1ㄱ, ㄴ, ㄷ, ㄹ
2ㄴ, ㄹ, ㄷ, ㄱ
3ㄷ, ㄴ, ㄱ, ㄹ
4ㄷ, ㄹ, ㄴ, ㄱ
정답 및 해설

순서대로 PC는 다음에 인출할 명령어의 주소, IR은 가장 최근에 인출한 명령어, MAR은 접근하려는 메모리 주소, AC는 실행 중 필요한 데이터를 보관하므로 ㄷ, ㄹ, ㄴ, ㄱ이다.

PC(프로그램 카운터)는 다음에 인출할 명령어의 주소를 가리키고, IR(명령어 레지스터)은 인출한 명령어를 해독을 위해 보관한다.

MAR(메모리 주소 레지스터)은 CPU가 읽거나 쓸 명령어·데이터의 메모리 주소를, AC(누산기)는 연산에 쓰이는 데이터와 중간 결과를 일시적으로 보관한다.

문제 3
트랜잭션이 정상적으로 완료(commit)되거나, 중단(abort)되었을 때 롤백(rollback)되어야 하는 트랜잭션의 성질은?
1원자성(atomicity)
2일관성(consistency)
3격리성(isolation)
4영속성(durability)
정답 및 해설

commit 되거나 abort 시 rollback 되어 '전부 수행 아니면 전혀 수행 안 함'을 보장하는 성질은 원자성(atomicity)이다.

원자성은 트랜잭션의 연산이 모두 반영되거나(commit) 하나도 반영되지 않아야(rollback) 한다는 성질이다.

  • 일관성은 트랜잭션 실행 전후에 데이터베이스가 무결성 제약을 만족하는 일관된 상태를 유지하는 성질이다.
  • 격리성은 동시에 실행되는 트랜잭션이 서로의 중간 결과에 간섭하지 않는 성질이다.
  • 영속성은 commit 된 결과가 장애가 나도 영구히 보존되는 성질이다.
문제 4
다음의 설명과 무선 PAN 기술이 옳게 짝지어진 것은? (순서대로 가, 나, 다)

(가) 다양한 기기 간에 무선으로 데이터 통신을 할 수 있도록 만든 기술로 에릭슨이 IBM, 노키아, 도시바와 함께 개발하였으며, IEEE 802.15.1 규격으로 발표되었다.

(나) 약 10 cm 정도로 가까운 거리에서 장치 간에 양방향 무선 통신을 가능하게 해주는 기술로 모바일 결제 서비스에 많이 활용된다.

(다) IEEE 802.15.4 기반 PAN기술로 낮은 전력을 소모하면서 저가의 센서 네트워크 구현에 최적의 방안을 제공하는 기술이다.

1Bluetooth, NFC, ZigBee
2ZigBee, RFID, Bluetooth
3NFC, RFID, ZigBee
4Bluetooth, ZigBee, RFID
정답 및 해설

(가)는 Bluetooth, (나)는 NFC, (다)는 ZigBee이다.

Bluetooth는 에릭슨 등이 개발해 IEEE 802.15.1로 표준화된 근거리 무선 기술이고, NFC는 약 10 cm 이내의 매우 가까운 거리에서 양방향 통신을 하여 모바일 결제에 널리 쓰인다.

ZigBee는 IEEE 802.15.4를 기반으로 한 저전력·저가형 기술로 센서 네트워크에 적합하다. RFID는 태그의 정보를 리더가 읽는 인식 기술로, 위 설명 어디에도 해당하지 않는다.

문제 5
디스크 헤드의 위치가 55이고 0의 방향으로 이동할 때, C-SCAN 기법으로 디스크 대기 큐 25, 30, 47, 50, 63, 75, 100을 처리한다면 제일 마지막에 서비스 받는 트랙은?
150
263
375
4100
정답 및 해설

C-SCAN으로 처리하면 마지막으로 서비스 받는 트랙은 63이다.

헤드가 55에서 0 방향으로 이동하며 50 → 47 → 30 → 25를 차례로 처리한다.

C-SCAN은 0 쪽 끝에 닿으면 요청을 처리하지 않고 반대쪽 끝으로 복귀한 뒤 같은 방향(0 방향)으로 다시 이동하므로 100 → 75 → 63 순으로 처리하고, 63이 마지막이 된다.

문제 6
컴퓨터 시스템 구성요소 사이의 데이터 흐름과 제어 흐름에 대한 설명으로 옳은 것은?
1ⓐ와 ⓕ는 모두 제어 흐름이다.
2ⓑ와 ⓖ는 모두 데이터 흐름이다.
3ⓗ는 데이터 흐름, ⓓ는 제어 흐름이다.
4ⓒ는 데이터 흐름, ⓖ는 제어 흐름이다.
정답 및 해설

옳은 설명은 ⓒ는 데이터 흐름, ⓖ는 제어 흐름이라는 것이다.

그림에서 제어장치에서 각 장치로 뻗는 한 방향 화살표(ⓐ, ⓓ, ⓖ, ⓗ 등)는 제어 신호이고, 입력장치→주기억장치(ⓑ), 연산장치↔주기억장치(ⓒ), 주기억장치↔보조기억장치(ⓕ)처럼 장치 사이에 실제 값이 오가는 선은 데이터 흐름이다.

  • ⓐ와 ⓕ가 모두 제어 흐름이라는 설명은 틀렸다. ⓕ는 주기억장치와 보조기억장치 사이의 데이터 흐름이다.
  • ⓑ와 ⓖ가 모두 데이터 흐름이라는 설명은 틀렸다. ⓖ는 제어장치가 주기억장치로 보내는 제어 흐름이다.
  • ⓗ가 데이터 흐름이라는 설명은 틀렸다. ⓗ는 제어장치가 보조기억장치로 보내는 제어 흐름이다.
문제 7
수식의 결과가 거짓(false)인 것은?
120D(16) > 524(10)
20.125(10) = 0.011(2)
310(8) = 1000(2)
40.1(10) < 0.1(2)
정답 및 해설

거짓인 식은 0.125(10)0.125_{(10)} = 0.011(2)0.011_{(2)}이다.

0.125=2−30.125 = 2^{-3} 이므로 2진수로는 0.001(2)0.001_{(2)}이고, 0.011(2)0.011_{(2)}은 2−2+2−3=0.3752^{-2}+2^{-3}=0.375 이다.

  • 20D(16)\mathrm{D}_{(16)} 은 2×256+13=5252\times 256+13=525 이므로 524보다 크다(참).
  • 10(8)10_{(8)} 은 8이고 1000(2)1000_{(2)}도 8이므로 같다(참).
  • 0.1(2)0.1_{(2)} 은 2−1=0.52^{-1}=0.5 이므로 0.1(10)0.1_{(10)}보다 크다(참).
문제 8
‘인터넷 서점’에 대한 유스케이스 다이어그램에서 ‘회원등록’ 유스케이스를 수행하기 위해서는 ‘실명확인’ 유스케이스가 반드시 선행되어야 한다면 이들의 관계는?
1일반화(generalization) 관계
2확장(extend) 관계
3포함(include) 관계
4연관(association) 관계
정답 및 해설

'회원등록'을 수행할 때 '실명확인'이 반드시 함께 수행되어야 하므로 두 유스케이스는 포함(include) 관계이다.

포함 관계는 기본 유스케이스가 실행될 때 포함되는 유스케이스가 항상 실행되는 관계이다.

  • 확장(extend) 관계는 특정 조건을 만족할 때만 선택적으로 추가 기능이 수행되는 관계이다.
  • 일반화 관계는 상위 유스케이스와 이를 구체화한 하위 유스케이스 사이의 관계이다.
  • 연관 관계는 액터와 유스케이스 사이의 상호작용을 나타낸다.
문제 9
노드 A, B, C를 가지는 이중 연결 리스트에서 노드 B를 삭제하기 위한 의사코드(pseudo code)로 옳지 않은 것은? (단, 노드 B의 메모리는 해제하지 않는다)
1A->next = C
C->prev = A
2A->next = B->next
C->prev = B->prev;
3B->prev->next = B->next
B->next->prev = B->prev;
4A->next = A->next->next
A->next->next->prev = B->prev;
정답 및 해설

옳지 않은 코드는 A->next = A->next->next 뒤에 A->next->next->prev = B->prev 를 실행하는 것이다.

첫 줄 실행 후 A->next 는 이미 C를 가리키므로, 둘째 줄의 A->next->next 는 C->next, 즉 NULL이 되어 NULL의 prev 에 접근하게 된다. C->prev 를 A로 바꾸려면 A->next->prev 를 써야 한다.

  • A->next = C, C->prev = A 는 B를 건너뛰도록 직접 연결하므로 올바르다.
  • A->next = B->next, C->prev = B->prev 는 B->next 가 C, B->prev 가 A 이므로 같은 결과로 올바르다.
  • B->prev->next = B->next, B->next->prev = B->prev 는 B를 기준으로 앞뒤 노드를 연결하는 표준 삭제 코드로 올바르다.
문제 10
이동 애드혹 네트워크(MANET)에 대한 설명으로 옳지 않은 것은?
1전송 거리와 전송 대역폭에 제약을 받는다.
2노드는 호스트 기능과 라우팅 기능을 동시에 가진다.
3보안 및 라우팅 지원이 여러 노드 간의 협력에 의해 분산 운영된다.
4동적인 네트워크 토폴로지를 효율적으로 구성하기 위해 액세스 포인트(AP)와 같은 중재자를 필요로 한다.
정답 및 해설

옳지 않은 설명은 MANET이 액세스 포인트(AP) 같은 중재자를 필요로 한다는 것이다.

MANET은 AP나 기지국 같은 기반 시설 없이 이동 노드끼리 스스로 망을 구성하는 비기반(infrastructure-less) 네트워크이다.

  • 무선 매체와 이동 단말 특성상 전송 거리와 대역폭에 제약을 받는다.
  • 각 노드가 호스트이면서 다른 노드의 패킷을 중계하는 라우터 역할을 함께 한다.
  • 중앙 관리자가 없으므로 보안과 라우팅이 노드 간 협력으로 분산 운영된다.
문제 11
공개키 암호화 방법을 사용하여 철수가 영희에게 메시지를 보내는 것에 대한 설명으로 옳지 않은 것은?
1공개키는 누구에게나 공개된다.
2공개키의 위조 방지를 위해 인증기관은 인증서를 발급한다.
3철수는 자신의 공개키를 사용하여 평문을 암호화한다.
4영희는 자신의 개인키를 사용하여 암호문을 복호화한다.
정답 및 해설

옳지 않은 설명은 철수가 자신의 공개키로 평문을 암호화한다는 것이다.

기밀성을 위한 공개키 암호화에서 송신자 철수는 수신자 영희의 공개키로 암호화하고, 영희만 가진 개인키로 복호화한다.

  • 공개키는 이름 그대로 누구에게나 공개된다.
  • 공개키가 실제 소유자의 것임을 보증하고 위조를 막기 위해 인증기관이 인증서를 발급한다.
  • 영희가 자신의 개인키로 암호문을 복호화하는 것은 옳은 절차이다.
문제 12
네트워크 구성 형태에 대한 설명으로 옳지 않은 것은?
1메시(mesh)형은 각 노드가 다른 모든 노드와 점 대 점으로 연결되기 때문에 네트워크 규모가 커질수록 통신 회선 수가 급격하게 많아진다.
2스타(star)형은 각 노드가 허브라는 하나의 중앙노드에 연결되기 때문에 중앙노드가 고장나면 그 네트워크 전체가 영향을 받는다.
3트리(tree)형은 고리처럼 순환형으로 구성된 형태로서 네트워크 재구성이 수월하다.
4버스(bus)형은 하나의 선형 통신 회선에 여러 개의 노드가 연결되어 있는 형태이다.
정답 및 해설

옳지 않은 설명은 트리형을 고리처럼 순환형으로 구성된 형태라고 한 것이다.

고리처럼 순환형으로 연결된 구조는 링(ring)형이고, 트리형은 중앙 노드에서 계층적으로 가지를 뻗어 나가는 구조이다.

  • 메시형은 모든 노드가 점 대 점으로 연결되어 노드 수가 늘수록 회선 수가 급격히 증가한다.
  • 스타형은 중앙 허브에 모든 노드가 연결되어 중앙노드 고장 시 전체 네트워크가 영향을 받는다.
  • 버스형은 하나의 선형 회선에 여러 노드가 연결된 형태이다.
문제 13
다음에서 설명하는 보안공격방법은?

공격자는 여러 대의 좀비 컴퓨터를 분산 배치하여 가상의 접속자를 만든 후 처리할 수 없을 정도로 매우 많은 양의 패킷을 동시에 발생시켜 시스템을 공격한다. 공격받은 컴퓨터는 사용자가 정상적으로 접속할 수 없다.

1키로거(Key Logger)
2DDoS(Distributed Denial of Service)
3XSS(Cross Site Scripting)
4스파이웨어(Spyware)
정답 및 해설

설명하는 공격은 DDoS(Distributed Denial of Service)이다.

여러 대의 좀비 컴퓨터(봇)를 분산 배치해 대량의 패킷을 동시에 보내 대상 시스템의 자원을 고갈시키고, 정상 사용자가 서비스를 이용하지 못하게 하는 분산 서비스 거부 공격이다.

  • 키로거는 사용자의 키보드 입력을 몰래 기록해 계정 정보 등을 탈취한다.
  • XSS는 웹 페이지에 악성 스크립트를 삽입해 다른 사용자의 브라우저에서 실행되게 하는 공격이다.
  • 스파이웨어는 사용자 몰래 설치되어 개인정보를 수집·전송하는 악성 프로그램이다.
문제 14
논리적 데이터 모델에 대한 설명으로 옳지 않은 것은?
1개체관계 모델은 개체와 개체 사이의 관계성을 이용하여 데이터를 모델링한다.
2관계형 모델은 논리적 데이터 모델에 해당한다.
3SQL은 관계형 모델을 따르는 DBMS의 표준 데이터 언어이다.
4네트워크 모델, 계층 모델은 레거시 데이터 모델로도 불린다.
정답 및 해설

옳지 않은 설명은 개체관계 모델에 관한 것으로, 개체관계(E-R) 모델은 논리적 데이터 모델이 아니라 개념적 데이터 모델이다.

E-R 모델은 현실 세계를 개체·속성·관계로 표현하는 개념적 설계 도구이며, 이를 관계형·네트워크·계층 모델 같은 논리적 데이터 모델로 변환한다.

  • 관계형 모델은 대표적인 논리적 데이터 모델이다.
  • SQL은 관계형 DBMS의 표준 데이터 언어이다.
  • 네트워크 모델과 계층 모델은 관계형 이전의 모델로 레거시 데이터 모델이라고도 불린다.
문제 15
다음에서 설명하는 소프트웨어 개발 방법론은?

○ 애자일 방법론의 하나로 소프트웨어 개발 프로세스가 문서화하는 데 지나치게 많은 시간과 노력이 소모되는 단점을 보완하기 위해 개발되었다.

○ 의사소통, 단순함, 피드백, 용기, 존중의 5가지 가치에 기초하여 ‘고객에게 최고의 가치를 가장 빨리’ 전달 하도록 하는 방법론으로 켄트 벡이 고안하였다.

1통합 프로세스(UP)
2익스트림 프로그래밍
3스크럼
4나선형 모델
정답 및 해설

설명하는 방법론은 익스트림 프로그래밍(XP)이다.

XP는 켄트 벡이 고안한 애자일 방법론으로 의사소통·단순함·피드백·용기·존중의 5가지 가치를 바탕으로 짧은 반복 개발, 짝 프로그래밍, 테스트 주도 개발 등을 실천한다.

  • 통합 프로세스(UP)는 도입·정련·구축·전이 단계로 진행하는 반복적·점진적 프로세스로, 애자일의 5가지 가치와 켄트 벡이 제시한 방법론이 아니다.
  • 스크럼은 스프린트·백로그·스크럼 마스터 등을 중심으로 하는 애자일 프로젝트 관리 프레임워크이다.
  • 나선형 모델은 위험 분석을 중심으로 반복 개발하는 전통적 생명주기 모델이다.
문제 16
다음 프로세스 집합에 대하여 라운드 로빈 CPU 스케줄링 알고리즘을 사용할 때, 프로세스들의 총 대기시간은? (단, 시간 0에 P1, P2, P3 순서대로 도착한 것으로 하고, 시간 할당량은 4밀리초로 하며, 프로세스 간 문맥교환에 따른 오버헤드는 무시한다)
프로세스버스트 시간(밀리초)
P120
P23
P34
116
218
320
424
정답 및 해설

라운드 로빈(시간 할당량 4밀리초)으로 실행하면 총 대기시간은 18밀리초이다.

실행 순서는 P1(0~4) → P2(4~7) → P3(7~11) → P1(11~27)이다. P2와 P3는 할당량 안에 끝나고, 남은 프로세스가 P1뿐이므로 P1이 끝까지 실행된다.

대기시간은 다음과 같다.
P1:11−4=7\mathrm{P1}: 11-4 = 7
P2:4,P3:7\mathrm{P2}: 4,\quad \mathrm{P3}: 7
따라서 7 + 4 + 7 = 18이다.

문제 17
다음 C 프로그램의 출력 값은?
#include <stdio.h>

void funCount();

int main(void) {
    int num;
    for(num=0; num<2 num++)
        funCount();
    return 0;
}

void funCount() {
    int num=0;
    static int count;

    printf("num = %d, count = %d\n",
        ++num, count++);
}
1num = 0, count = 0
num = 0, count = 1
2num = 0, count = 0
num = 1, count = 1
3num = 1, count = 0
num = 1, count = 0
4num = 1, count = 0
num = 1, count = 1
정답 및 해설

출력은 num = 1, count = 0 다음 줄에 num = 1, count = 1이다.

main의 for 문은 num이 0, 1일 때 funCount()를 두 번 호출한다. funCount 안의 num은 지역 변수라 호출할 때마다 0으로 다시 초기화되고, ++num(전위 증가)으로 매번 1이 출력된다.

count는 static 변수라 처음 한 번만 0으로 초기화되고 값이 유지된다. count++(후위 증가)는 현재 값을 출력한 뒤 증가하므로 첫 호출에서 0, 두 번째 호출에서 1이 출력된다.

문제 18
페이지 크기가 2,000 byte인 페이징 시스템에서 페이지테이블이 다음과 같을 때 논리주소에 대한 물리주소가 옳게 짝지어진 것은? (단, 논리주소와 물리주소는 각각 0에서 시작되고, 1 byte 단위로 주소가 부여된다) (순서대로 논리주소, 물리주소)
페이지번호(논리)프레임번호(물리)
07
13
25
30
48
14,300 2,300
23,600 4,600
32,500 6,500
4900 7,900
정답 및 해설

옳게 짝지어진 것은 논리주소 2,500 → 물리주소 6,500이다.

논리주소를 페이지 크기로 나눈 몫이 페이지 번호, 나머지가 오프셋이고, 물리주소는 프레임 번호 × 2,000 + 오프셋이다.
2500=1×2000+500⇒3×2000+500=65002500 = 1 \times 2000 + 500 \Rightarrow 3 \times 2000 + 500 = 6500

  • 논리주소 4,300은 페이지 2(오프셋 300)이고 프레임 5에 있으므로 물리주소는 10,300이다.
  • 논리주소 3,600은 페이지 1(오프셋 1,600)이고 프레임 3에 있으므로 물리주소는 7,600이다.
  • 논리주소 900은 페이지 0(오프셋 900)이고 프레임 7에 있으므로 물리주소는 14,900이다.
문제 19
HTML5의 특징에 대한 설명으로 옳지 않은 것은?
1플러그인의 도움 없이 음악과 동영상 재생이 가능하다.
2쌍방향 통신을 제공하여 실시간 채팅이나 온라인 게임을 만들 수 있다.
3디바이스에 접근할 수 없어서 개인정보 보호 및 보안을 철저히 유지할 수 있다.
4스마트폰의 일반 응용프로그램도 HTML5를 사용해 개발할 수 있다.
정답 및 해설

옳지 않은 설명은 HTML5가 디바이스에 접근할 수 없다는 것이다.

HTML5는 위치 정보(Geolocation), 카메라·센서 등 디바이스 접근 API를 제공하므로 오히려 개인정보 보호와 보안에 주의가 필요하다.

  • video·audio 요소로 플러그인 없이 음악과 동영상을 재생할 수 있다.
  • 웹소켓 등 쌍방향 통신을 지원해 실시간 채팅이나 온라인 게임을 만들 수 있다.
  • HTML5 기반 웹앱·하이브리드 앱으로 스마트폰 응용프로그램을 개발할 수 있다.
문제 20
컴퓨터의 발전 과정에 대한 설명으로 옳지 않은 것은?
1포트란, 코볼같은 고급 언어는 집적회로(IC)가 적용된 제3세대 컴퓨터부터 사용되었다.
2애플사는 1970년대에 개인용 컴퓨터를 출시하였다.
3IBM PC라고 불리는 컴퓨터는 1980년대에 출시되었다.
41990년대에는 월드와이드웹 기술이 적용되면서 인터넷에 연결되는 컴퓨터의 사용자가 폭발적으로 증가하였다.
정답 및 해설

옳지 않은 설명은 포트란·코볼 같은 고급 언어가 제3세대(집적회로)부터 사용되었다는 것이다.

포트란과 코볼은 1950년대 후반에 등장해 트랜지스터를 쓴 제2세대 컴퓨터에서 이미 사용되었다.

  • 애플사는 1970년대 중후반에 Apple I·Apple II 등 개인용 컴퓨터를 출시하였다.
  • IBM PC는 1980년대 초에 출시되었다.
  • 1990년대 월드와이드웹이 보급되면서 인터넷 사용자가 폭발적으로 늘었다.
9급 국가직 컴퓨터일반 기출문제모두CBT · moducbt.com
17년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
컴퓨터 구조에 대한 설명으로 옳지 않은 것은?
1폰노이만이 제안한 프로그램 내장방식은 프로그램 코드와 데이터를 내부기억장치에 저장하는 방식이다.
2병렬처리방식 중 하나인 SIMD는 하나의 명령어를 처리하기 위해 다수의 처리장치가 동시에 동작하는 다중처리기 방식이다.
3CISC 구조는 RISC 구조에 비해 명령어의 종류가 적고 고정명령어 형식을 취한다.
4파이프라인 기법은 하나의 작업을 다수의 단계로 분할하여 시간적으로 중첩되게 실행함으로써 처리율을 높인다.
정답 및 해설

옳지 않은 설명은 CISC 구조가 RISC 구조에 비해 명령어 종류가 적고 고정 명령어 형식을 취한다는 것이다.

CISC는 명령어 종류가 많고 가변 길이 형식을 쓰며, 명령어 종류가 적고 고정 길이 형식을 쓰는 쪽은 RISC이다. 즉 두 구조의 특징을 뒤바꾼 설명이다.

  • 프로그램 내장 방식은 프로그램 코드와 데이터를 함께 내부기억장치에 저장해 실행하는 폰노이만 구조의 핵심이므로 옳다.
  • SIMD는 하나의 명령어로 여러 처리장치가 여러 데이터를 동시에 처리하는 병렬처리 방식이므로 옳다.
  • 파이프라인은 명령어 처리를 여러 단계로 나눠 중첩 실행해 처리율을 높이므로 옳다.
문제 2
중앙처리장치 내의 레지스터 중 PC(program counter), IR(instruction register), MAR(memory address register), AC(accumulator)와 다음 설명이 옳게 짝지어진 것은? (순서대로 PC, IR, MAR, AC)

ㄱ. 명령어 실행 시 필요한 데이터를 일시적으로 보관한다.

ㄴ. CPU가 메모리에 접근하기 위해 참조하려는 명령어의 주소 혹은 데이터의 주소를 보관한다.

ㄷ. 다음에 인출할 명령어의 주소를 보관한다.

ㄹ. 가장 최근에 인출한 명령어를 보관한다.

1ㄱ, ㄴ, ㄷ, ㄹ
2ㄴ, ㄹ, ㄷ, ㄱ
3ㄷ, ㄴ, ㄱ, ㄹ
4ㄷ, ㄹ, ㄴ, ㄱ
정답 및 해설

순서대로 PC는 다음에 인출할 명령어의 주소, IR은 가장 최근에 인출한 명령어, MAR은 접근하려는 메모리 주소, AC는 실행 중 필요한 데이터를 보관하므로 ㄷ, ㄹ, ㄴ, ㄱ이다.

PC(프로그램 카운터)는 다음에 인출할 명령어의 주소를 가리키고, IR(명령어 레지스터)은 인출한 명령어를 해독을 위해 보관한다.

MAR(메모리 주소 레지스터)은 CPU가 읽거나 쓸 명령어·데이터의 메모리 주소를, AC(누산기)는 연산에 쓰이는 데이터와 중간 결과를 일시적으로 보관한다.

문제 3
트랜잭션이 정상적으로 완료(commit)되거나, 중단(abort)되었을 때 롤백(rollback)되어야 하는 트랜잭션의 성질은?
1원자성(atomicity)
2일관성(consistency)
3격리성(isolation)
4영속성(durability)
정답 및 해설

commit 되거나 abort 시 rollback 되어 '전부 수행 아니면 전혀 수행 안 함'을 보장하는 성질은 원자성(atomicity)이다.

원자성은 트랜잭션의 연산이 모두 반영되거나(commit) 하나도 반영되지 않아야(rollback) 한다는 성질이다.

  • 일관성은 트랜잭션 실행 전후에 데이터베이스가 무결성 제약을 만족하는 일관된 상태를 유지하는 성질이다.
  • 격리성은 동시에 실행되는 트랜잭션이 서로의 중간 결과에 간섭하지 않는 성질이다.
  • 영속성은 commit 된 결과가 장애가 나도 영구히 보존되는 성질이다.
문제 4
다음의 설명과 무선 PAN 기술이 옳게 짝지어진 것은? (순서대로 가, 나, 다)

(가) 다양한 기기 간에 무선으로 데이터 통신을 할 수 있도록 만든 기술로 에릭슨이 IBM, 노키아, 도시바와 함께 개발하였으며, IEEE 802.15.1 규격으로 발표되었다.

(나) 약 10 cm 정도로 가까운 거리에서 장치 간에 양방향 무선 통신을 가능하게 해주는 기술로 모바일 결제 서비스에 많이 활용된다.

(다) IEEE 802.15.4 기반 PAN기술로 낮은 전력을 소모하면서 저가의 센서 네트워크 구현에 최적의 방안을 제공하는 기술이다.

1Bluetooth, NFC, ZigBee
2ZigBee, RFID, Bluetooth
3NFC, RFID, ZigBee
4Bluetooth, ZigBee, RFID
정답 및 해설

(가)는 Bluetooth, (나)는 NFC, (다)는 ZigBee이다.

Bluetooth는 에릭슨 등이 개발해 IEEE 802.15.1로 표준화된 근거리 무선 기술이고, NFC는 약 10 cm 이내의 매우 가까운 거리에서 양방향 통신을 하여 모바일 결제에 널리 쓰인다.

ZigBee는 IEEE 802.15.4를 기반으로 한 저전력·저가형 기술로 센서 네트워크에 적합하다. RFID는 태그의 정보를 리더가 읽는 인식 기술로, 위 설명 어디에도 해당하지 않는다.

문제 5
디스크 헤드의 위치가 55이고 0의 방향으로 이동할 때, C-SCAN 기법으로 디스크 대기 큐 25, 30, 47, 50, 63, 75, 100을 처리한다면 제일 마지막에 서비스 받는 트랙은?
150
263
375
4100
정답 및 해설

C-SCAN으로 처리하면 마지막으로 서비스 받는 트랙은 63이다.

헤드가 55에서 0 방향으로 이동하며 50 → 47 → 30 → 25를 차례로 처리한다.

C-SCAN은 0 쪽 끝에 닿으면 요청을 처리하지 않고 반대쪽 끝으로 복귀한 뒤 같은 방향(0 방향)으로 다시 이동하므로 100 → 75 → 63 순으로 처리하고, 63이 마지막이 된다.

문제 6
컴퓨터 시스템 구성요소 사이의 데이터 흐름과 제어 흐름에 대한 설명으로 옳은 것은?
1ⓐ와 ⓕ는 모두 제어 흐름이다.
2ⓑ와 ⓖ는 모두 데이터 흐름이다.
3ⓗ는 데이터 흐름, ⓓ는 제어 흐름이다.
4ⓒ는 데이터 흐름, ⓖ는 제어 흐름이다.
정답 및 해설

옳은 설명은 ⓒ는 데이터 흐름, ⓖ는 제어 흐름이라는 것이다.

그림에서 제어장치에서 각 장치로 뻗는 한 방향 화살표(ⓐ, ⓓ, ⓖ, ⓗ 등)는 제어 신호이고, 입력장치→주기억장치(ⓑ), 연산장치↔주기억장치(ⓒ), 주기억장치↔보조기억장치(ⓕ)처럼 장치 사이에 실제 값이 오가는 선은 데이터 흐름이다.

  • ⓐ와 ⓕ가 모두 제어 흐름이라는 설명은 틀렸다. ⓕ는 주기억장치와 보조기억장치 사이의 데이터 흐름이다.
  • ⓑ와 ⓖ가 모두 데이터 흐름이라는 설명은 틀렸다. ⓖ는 제어장치가 주기억장치로 보내는 제어 흐름이다.
  • ⓗ가 데이터 흐름이라는 설명은 틀렸다. ⓗ는 제어장치가 보조기억장치로 보내는 제어 흐름이다.
문제 7
수식의 결과가 거짓(false)인 것은?
120D(16) > 524(10)
20.125(10) = 0.011(2)
310(8) = 1000(2)
40.1(10) < 0.1(2)
정답 및 해설

거짓인 식은 0.125(10)0.125_{(10)} = 0.011(2)0.011_{(2)}이다.

0.125=2−30.125 = 2^{-3} 이므로 2진수로는 0.001(2)0.001_{(2)}이고, 0.011(2)0.011_{(2)}은 2−2+2−3=0.3752^{-2}+2^{-3}=0.375 이다.

  • 20D(16)\mathrm{D}_{(16)} 은 2×256+13=5252\times 256+13=525 이므로 524보다 크다(참).
  • 10(8)10_{(8)} 은 8이고 1000(2)1000_{(2)}도 8이므로 같다(참).
  • 0.1(2)0.1_{(2)} 은 2−1=0.52^{-1}=0.5 이므로 0.1(10)0.1_{(10)}보다 크다(참).
문제 8
‘인터넷 서점’에 대한 유스케이스 다이어그램에서 ‘회원등록’ 유스케이스를 수행하기 위해서는 ‘실명확인’ 유스케이스가 반드시 선행되어야 한다면 이들의 관계는?
1일반화(generalization) 관계
2확장(extend) 관계
3포함(include) 관계
4연관(association) 관계
정답 및 해설

'회원등록'을 수행할 때 '실명확인'이 반드시 함께 수행되어야 하므로 두 유스케이스는 포함(include) 관계이다.

포함 관계는 기본 유스케이스가 실행될 때 포함되는 유스케이스가 항상 실행되는 관계이다.

  • 확장(extend) 관계는 특정 조건을 만족할 때만 선택적으로 추가 기능이 수행되는 관계이다.
  • 일반화 관계는 상위 유스케이스와 이를 구체화한 하위 유스케이스 사이의 관계이다.
  • 연관 관계는 액터와 유스케이스 사이의 상호작용을 나타낸다.
문제 9
노드 A, B, C를 가지는 이중 연결 리스트에서 노드 B를 삭제하기 위한 의사코드(pseudo code)로 옳지 않은 것은? (단, 노드 B의 메모리는 해제하지 않는다)
1A->next = C
C->prev = A
2A->next = B->next
C->prev = B->prev;
3B->prev->next = B->next
B->next->prev = B->prev;
4A->next = A->next->next
A->next->next->prev = B->prev;
정답 및 해설

옳지 않은 코드는 A->next = A->next->next 뒤에 A->next->next->prev = B->prev 를 실행하는 것이다.

첫 줄 실행 후 A->next 는 이미 C를 가리키므로, 둘째 줄의 A->next->next 는 C->next, 즉 NULL이 되어 NULL의 prev 에 접근하게 된다. C->prev 를 A로 바꾸려면 A->next->prev 를 써야 한다.

  • A->next = C, C->prev = A 는 B를 건너뛰도록 직접 연결하므로 올바르다.
  • A->next = B->next, C->prev = B->prev 는 B->next 가 C, B->prev 가 A 이므로 같은 결과로 올바르다.
  • B->prev->next = B->next, B->next->prev = B->prev 는 B를 기준으로 앞뒤 노드를 연결하는 표준 삭제 코드로 올바르다.
문제 10
이동 애드혹 네트워크(MANET)에 대한 설명으로 옳지 않은 것은?
1전송 거리와 전송 대역폭에 제약을 받는다.
2노드는 호스트 기능과 라우팅 기능을 동시에 가진다.
3보안 및 라우팅 지원이 여러 노드 간의 협력에 의해 분산 운영된다.
4동적인 네트워크 토폴로지를 효율적으로 구성하기 위해 액세스 포인트(AP)와 같은 중재자를 필요로 한다.
정답 및 해설

옳지 않은 설명은 MANET이 액세스 포인트(AP) 같은 중재자를 필요로 한다는 것이다.

MANET은 AP나 기지국 같은 기반 시설 없이 이동 노드끼리 스스로 망을 구성하는 비기반(infrastructure-less) 네트워크이다.

  • 무선 매체와 이동 단말 특성상 전송 거리와 대역폭에 제약을 받는다.
  • 각 노드가 호스트이면서 다른 노드의 패킷을 중계하는 라우터 역할을 함께 한다.
  • 중앙 관리자가 없으므로 보안과 라우팅이 노드 간 협력으로 분산 운영된다.
문제 11
공개키 암호화 방법을 사용하여 철수가 영희에게 메시지를 보내는 것에 대한 설명으로 옳지 않은 것은?
1공개키는 누구에게나 공개된다.
2공개키의 위조 방지를 위해 인증기관은 인증서를 발급한다.
3철수는 자신의 공개키를 사용하여 평문을 암호화한다.
4영희는 자신의 개인키를 사용하여 암호문을 복호화한다.
정답 및 해설

옳지 않은 설명은 철수가 자신의 공개키로 평문을 암호화한다는 것이다.

기밀성을 위한 공개키 암호화에서 송신자 철수는 수신자 영희의 공개키로 암호화하고, 영희만 가진 개인키로 복호화한다.

  • 공개키는 이름 그대로 누구에게나 공개된다.
  • 공개키가 실제 소유자의 것임을 보증하고 위조를 막기 위해 인증기관이 인증서를 발급한다.
  • 영희가 자신의 개인키로 암호문을 복호화하는 것은 옳은 절차이다.
문제 12
네트워크 구성 형태에 대한 설명으로 옳지 않은 것은?
1메시(mesh)형은 각 노드가 다른 모든 노드와 점 대 점으로 연결되기 때문에 네트워크 규모가 커질수록 통신 회선 수가 급격하게 많아진다.
2스타(star)형은 각 노드가 허브라는 하나의 중앙노드에 연결되기 때문에 중앙노드가 고장나면 그 네트워크 전체가 영향을 받는다.
3트리(tree)형은 고리처럼 순환형으로 구성된 형태로서 네트워크 재구성이 수월하다.
4버스(bus)형은 하나의 선형 통신 회선에 여러 개의 노드가 연결되어 있는 형태이다.
정답 및 해설

옳지 않은 설명은 트리형을 고리처럼 순환형으로 구성된 형태라고 한 것이다.

고리처럼 순환형으로 연결된 구조는 링(ring)형이고, 트리형은 중앙 노드에서 계층적으로 가지를 뻗어 나가는 구조이다.

  • 메시형은 모든 노드가 점 대 점으로 연결되어 노드 수가 늘수록 회선 수가 급격히 증가한다.
  • 스타형은 중앙 허브에 모든 노드가 연결되어 중앙노드 고장 시 전체 네트워크가 영향을 받는다.
  • 버스형은 하나의 선형 회선에 여러 노드가 연결된 형태이다.
문제 13
다음에서 설명하는 보안공격방법은?

공격자는 여러 대의 좀비 컴퓨터를 분산 배치하여 가상의 접속자를 만든 후 처리할 수 없을 정도로 매우 많은 양의 패킷을 동시에 발생시켜 시스템을 공격한다. 공격받은 컴퓨터는 사용자가 정상적으로 접속할 수 없다.

1키로거(Key Logger)
2DDoS(Distributed Denial of Service)
3XSS(Cross Site Scripting)
4스파이웨어(Spyware)
정답 및 해설

설명하는 공격은 DDoS(Distributed Denial of Service)이다.

여러 대의 좀비 컴퓨터(봇)를 분산 배치해 대량의 패킷을 동시에 보내 대상 시스템의 자원을 고갈시키고, 정상 사용자가 서비스를 이용하지 못하게 하는 분산 서비스 거부 공격이다.

  • 키로거는 사용자의 키보드 입력을 몰래 기록해 계정 정보 등을 탈취한다.
  • XSS는 웹 페이지에 악성 스크립트를 삽입해 다른 사용자의 브라우저에서 실행되게 하는 공격이다.
  • 스파이웨어는 사용자 몰래 설치되어 개인정보를 수집·전송하는 악성 프로그램이다.
문제 14
논리적 데이터 모델에 대한 설명으로 옳지 않은 것은?
1개체관계 모델은 개체와 개체 사이의 관계성을 이용하여 데이터를 모델링한다.
2관계형 모델은 논리적 데이터 모델에 해당한다.
3SQL은 관계형 모델을 따르는 DBMS의 표준 데이터 언어이다.
4네트워크 모델, 계층 모델은 레거시 데이터 모델로도 불린다.
정답 및 해설

옳지 않은 설명은 개체관계 모델에 관한 것으로, 개체관계(E-R) 모델은 논리적 데이터 모델이 아니라 개념적 데이터 모델이다.

E-R 모델은 현실 세계를 개체·속성·관계로 표현하는 개념적 설계 도구이며, 이를 관계형·네트워크·계층 모델 같은 논리적 데이터 모델로 변환한다.

  • 관계형 모델은 대표적인 논리적 데이터 모델이다.
  • SQL은 관계형 DBMS의 표준 데이터 언어이다.
  • 네트워크 모델과 계층 모델은 관계형 이전의 모델로 레거시 데이터 모델이라고도 불린다.
문제 15
다음에서 설명하는 소프트웨어 개발 방법론은?

○ 애자일 방법론의 하나로 소프트웨어 개발 프로세스가 문서화하는 데 지나치게 많은 시간과 노력이 소모되는 단점을 보완하기 위해 개발되었다.

○ 의사소통, 단순함, 피드백, 용기, 존중의 5가지 가치에 기초하여 ‘고객에게 최고의 가치를 가장 빨리’ 전달 하도록 하는 방법론으로 켄트 벡이 고안하였다.

1통합 프로세스(UP)
2익스트림 프로그래밍
3스크럼
4나선형 모델
정답 및 해설

설명하는 방법론은 익스트림 프로그래밍(XP)이다.

XP는 켄트 벡이 고안한 애자일 방법론으로 의사소통·단순함·피드백·용기·존중의 5가지 가치를 바탕으로 짧은 반복 개발, 짝 프로그래밍, 테스트 주도 개발 등을 실천한다.

  • 통합 프로세스(UP)는 도입·정련·구축·전이 단계로 진행하는 반복적·점진적 프로세스로, 애자일의 5가지 가치와 켄트 벡이 제시한 방법론이 아니다.
  • 스크럼은 스프린트·백로그·스크럼 마스터 등을 중심으로 하는 애자일 프로젝트 관리 프레임워크이다.
  • 나선형 모델은 위험 분석을 중심으로 반복 개발하는 전통적 생명주기 모델이다.
문제 16
다음 프로세스 집합에 대하여 라운드 로빈 CPU 스케줄링 알고리즘을 사용할 때, 프로세스들의 총 대기시간은? (단, 시간 0에 P1, P2, P3 순서대로 도착한 것으로 하고, 시간 할당량은 4밀리초로 하며, 프로세스 간 문맥교환에 따른 오버헤드는 무시한다)
프로세스버스트 시간(밀리초)
P120
P23
P34
116
218
320
424
정답 및 해설

라운드 로빈(시간 할당량 4밀리초)으로 실행하면 총 대기시간은 18밀리초이다.

실행 순서는 P1(0~4) → P2(4~7) → P3(7~11) → P1(11~27)이다. P2와 P3는 할당량 안에 끝나고, 남은 프로세스가 P1뿐이므로 P1이 끝까지 실행된다.

대기시간은 다음과 같다.
P1:11−4=7\mathrm{P1}: 11-4 = 7
P2:4,P3:7\mathrm{P2}: 4,\quad \mathrm{P3}: 7
따라서 7 + 4 + 7 = 18이다.

문제 17
다음 C 프로그램의 출력 값은?
#include <stdio.h>

void funCount();

int main(void) {
    int num;
    for(num=0; num<2 num++)
        funCount();
    return 0;
}

void funCount() {
    int num=0;
    static int count;

    printf("num = %d, count = %d\n",
        ++num, count++);
}
1num = 0, count = 0
num = 0, count = 1
2num = 0, count = 0
num = 1, count = 1
3num = 1, count = 0
num = 1, count = 0
4num = 1, count = 0
num = 1, count = 1
정답 및 해설

출력은 num = 1, count = 0 다음 줄에 num = 1, count = 1이다.

main의 for 문은 num이 0, 1일 때 funCount()를 두 번 호출한다. funCount 안의 num은 지역 변수라 호출할 때마다 0으로 다시 초기화되고, ++num(전위 증가)으로 매번 1이 출력된다.

count는 static 변수라 처음 한 번만 0으로 초기화되고 값이 유지된다. count++(후위 증가)는 현재 값을 출력한 뒤 증가하므로 첫 호출에서 0, 두 번째 호출에서 1이 출력된다.

문제 18
페이지 크기가 2,000 byte인 페이징 시스템에서 페이지테이블이 다음과 같을 때 논리주소에 대한 물리주소가 옳게 짝지어진 것은? (단, 논리주소와 물리주소는 각각 0에서 시작되고, 1 byte 단위로 주소가 부여된다) (순서대로 논리주소, 물리주소)
페이지번호(논리)프레임번호(물리)
07
13
25
30
48
14,300 2,300
23,600 4,600
32,500 6,500
4900 7,900
정답 및 해설

옳게 짝지어진 것은 논리주소 2,500 → 물리주소 6,500이다.

논리주소를 페이지 크기로 나눈 몫이 페이지 번호, 나머지가 오프셋이고, 물리주소는 프레임 번호 × 2,000 + 오프셋이다.
2500=1×2000+500⇒3×2000+500=65002500 = 1 \times 2000 + 500 \Rightarrow 3 \times 2000 + 500 = 6500

  • 논리주소 4,300은 페이지 2(오프셋 300)이고 프레임 5에 있으므로 물리주소는 10,300이다.
  • 논리주소 3,600은 페이지 1(오프셋 1,600)이고 프레임 3에 있으므로 물리주소는 7,600이다.
  • 논리주소 900은 페이지 0(오프셋 900)이고 프레임 7에 있으므로 물리주소는 14,900이다.
문제 19
HTML5의 특징에 대한 설명으로 옳지 않은 것은?
1플러그인의 도움 없이 음악과 동영상 재생이 가능하다.
2쌍방향 통신을 제공하여 실시간 채팅이나 온라인 게임을 만들 수 있다.
3디바이스에 접근할 수 없어서 개인정보 보호 및 보안을 철저히 유지할 수 있다.
4스마트폰의 일반 응용프로그램도 HTML5를 사용해 개발할 수 있다.
정답 및 해설

옳지 않은 설명은 HTML5가 디바이스에 접근할 수 없다는 것이다.

HTML5는 위치 정보(Geolocation), 카메라·센서 등 디바이스 접근 API를 제공하므로 오히려 개인정보 보호와 보안에 주의가 필요하다.

  • video·audio 요소로 플러그인 없이 음악과 동영상을 재생할 수 있다.
  • 웹소켓 등 쌍방향 통신을 지원해 실시간 채팅이나 온라인 게임을 만들 수 있다.
  • HTML5 기반 웹앱·하이브리드 앱으로 스마트폰 응용프로그램을 개발할 수 있다.
문제 20
컴퓨터의 발전 과정에 대한 설명으로 옳지 않은 것은?
1포트란, 코볼같은 고급 언어는 집적회로(IC)가 적용된 제3세대 컴퓨터부터 사용되었다.
2애플사는 1970년대에 개인용 컴퓨터를 출시하였다.
3IBM PC라고 불리는 컴퓨터는 1980년대에 출시되었다.
41990년대에는 월드와이드웹 기술이 적용되면서 인터넷에 연결되는 컴퓨터의 사용자가 폭발적으로 증가하였다.
정답 및 해설

옳지 않은 설명은 포트란·코볼 같은 고급 언어가 제3세대(집적회로)부터 사용되었다는 것이다.

포트란과 코볼은 1950년대 후반에 등장해 트랜지스터를 쓴 제2세대 컴퓨터에서 이미 사용되었다.

  • 애플사는 1970년대 중후반에 Apple I·Apple II 등 개인용 컴퓨터를 출시하였다.
  • IBM PC는 1980년대 초에 출시되었다.
  • 1990년대 월드와이드웹이 보급되면서 인터넷 사용자가 폭발적으로 늘었다.