[9급 지방직 컴퓨터일반] 14년 1회차
9급 지방직 컴퓨터일반 기출문제

14년 1회차

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

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

14년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
구조화된 웹 문서의 작성을 위해 W3C에서 제정한 확장 가능한 마크업 언어는?
1HTML
2CSS
3XML
4SGML
정답 및 해설

W3C가 구조화된 웹 문서 작성을 위해 제정한 확장 가능한 마크업 언어는 XML(eXtensible Markup Language)이다.

XML은 SGML을 웹 환경에 맞게 단순화한 것으로, 사용자가 태그를 직접 정의해 데이터의 구조와 의미를 기술할 수 있다.

  • HTML: 미리 정해진 태그로 웹 문서의 표현을 기술하는 언어로, 태그를 확장할 수 없다.
  • CSS: 마크업 언어가 아니라 문서의 글꼴·색·배치 등 스타일을 지정하는 스타일 시트 언어이다.
  • SGML: XML·HTML의 모태가 된 ISO 표준 범용 마크업 언어로, W3C가 웹용으로 제정한 언어가 아니며 구조가 복잡하다.
문제 2
CPU의 연산을 처리하기 위한 데이터의 기본 단위로서 CPU가 한 번에 처리할 수 있는 데이터 크기를 나타내는 것은?
1워드(word)
2바이트(byte)
3비트(bit)
4니블(nibble)
정답 및 해설

CPU가 한 번에 처리할 수 있는 데이터의 기본 단위는 워드(word)이다.

워드 크기는 CPU의 레지스터 폭·데이터 버스 폭과 관련되며, 시스템에 따라 32비트·64비트 등으로 달라진다.

  • 바이트: 8비트 묶음으로, 문자 하나를 표현하거나 주소를 지정하는 기본 단위이다.
  • 비트: 0 또는 1을 나타내는 정보의 최소 단위이다.
  • 니블: 4비트 묶음으로, 16진수 한 자리에 해당한다.
문제 3
8비트 데이터 A와 B에 대해 다음 비트(bitwise) 연산을 수행하였더니, A의 값에 상관없이 연산 결과의 상위(왼쪽) 4비트는 A의 상위 4비트의 1의 보수이고 연산 결과의 하위(오른쪽) 4비트는 A의 하위 4비트와 같다. B의 값을 이진수로 표현한 것은?
A XOR B
1000011112
2111100002
3100100002
4000010012
정답 및 해설

B의 값은 11110000이다.

XOR 연산은 1과 연산하면 비트가 반전되고(1의 보수), 0과 연산하면 비트가 그대로 유지된다. 따라서 상위 4비트는 1111, 하위 4비트는 0000이어야 한다.

  • 00001111: 상위 4비트는 유지되고 하위 4비트가 반전되어 조건과 반대이다.
  • 10010000: 상위 4비트 중 일부만 반전되어 1의 보수가 되지 않는다.
  • 00001001: 상위 4비트는 유지되고 하위 4비트 일부가 반전된다.
문제 4
경영 상태를 실시간으로 파악하고 정보를 공유하게 하여 기업의 기간 업무부터 인사 관계까지 기업 활동 전반을 통합적으로 관리함으로써 경영 자원의 활용을 최적화하기 위한 것은?
1EAI(Enterprise Application Integration)
2ERP(Enterprise Resource Planning)
3BPR(Business Process Reengineering)
4KMS(Knowledge Management System)
정답 및 해설

기업 활동 전반의 기간 업무를 통합 관리해 경영 자원 활용을 최적화하는 시스템은 ERP(전사적 자원 관리)이다.

ERP는 생산·구매·재고·회계·인사 등 부서별 업무를 하나의 통합 데이터베이스로 연결해 경영 상태를 실시간으로 파악하고 정보를 공유하게 한다.

  • EAI: 기업 내 서로 다른 애플리케이션들을 연계·통합하는 기술로, 경영 자원 관리 자체가 목적이 아니다.
  • BPR: 업무 프로세스를 근본적으로 재설계하는 경영 혁신 기법이다.
  • KMS: 조직 내 지식을 축적·공유·활용하기 위한 지식 관리 시스템이다.
문제 5
다음 C 프로그램의 출력 값은?
#include <stdio.h>
int main(void) {
int i;
int a[ ] = {10, 20, 30, 40, 50, 60, 70,
80, 90, 100};
int *ptr = a + 3;
for (i = 0; i < 5; ++i) {
printf("%d ", *(ptr + i) - 3);
}
}
127 37 47 57 67
237 47 57 67 77
347 57 67 77 87
443 53 63 73 83
정답 및 해설

출력 값은 37 47 57 67 77이다.

ptr = a + 3 이므로 ptr은 a[3](값 40)을 가리킨다. *(ptr + i)는 a[3+i]이므로 i = 0~4에서 40, 50, 60, 70, 80을 읽고, 각각에서 3을 뺀 값을 출력한다.

  • 27 37 47 57 67: a[2]부터 읽은 경우로, ptr이 a + 2를 가리킬 때의 결과이다.
  • 47 57 67 77 87: a[4]부터 읽은 경우의 결과이다.
  • 43 53 63 73 83: 3을 빼지 않고 더한 결과이다.
문제 6
운영체제에서 교착상태(deadlock)가 발생하기 위한 필요조건에 해당되지 않는 것은?
1상호배제(mutual exclusion)
2점유와 대기(hold and wait)
3선점(preemption)
4순환 대기(circular wait)
정답 및 해설

교착상태의 필요조건이 아닌 것은 선점(preemption)이다. 필요조건은 선점이 아니라 비선점(no preemption)이다.

교착상태는 상호배제, 점유와 대기, 비선점, 순환 대기의 네 조건이 동시에 성립할 때 발생할 수 있다. 자원을 강제로 빼앗을 수 있으면 비선점 조건이 깨져 교착상태를 예방할 수 있다.

  • 상호배제: 한 자원을 한 번에 하나의 프로세스만 사용할 수 있다는 조건으로, 필요조건이다.
  • 점유와 대기: 자원을 점유한 채 다른 자원을 기다리는 조건으로, 필요조건이다.
  • 순환 대기: 프로세스들이 원형으로 서로의 자원을 기다리는 조건으로, 필요조건이다.
문제 7
소프트웨어 형상 관리(configuration management)에 대한 설명으로 옳지 않은 것은?
1형상 관리는 소프트웨어에 가해지는 변경을 제어하고 관리하는 활동을 포함한다.
2기준선(baseline) 변경은 공식적인 절차에 의해서 이루어진다.
3개발 과정의 산출물인 원시 코드(source code)는 형상 관리 항목에 포함되지 않는다.
4형상 관리는 소프트웨어 운용 및 유지보수 단계뿐 아니라 소프트웨어 개발 단계에서도 적용될 수 있다.
정답 및 해설

옳지 않은 설명은 원시 코드가 형상 관리 항목에 포함되지 않는다는 것이다.

형상 관리 항목(SCI)에는 요구사항 명세서·설계서뿐 아니라 원시 코드, 테스트 자료, 매뉴얼 등 개발 과정의 산출물이 모두 포함된다.

  • 형상 관리는 소프트웨어에 가해지는 변경을 식별·제어·관리하는 활동이므로 옳다.
  • 기준선(baseline)은 공식 검토를 거친 산출물이므로, 변경은 형상 통제 위원회 등 공식 절차를 거친다.
  • 형상 관리는 개발 단계부터 운용·유지보수 단계까지 생명주기 전반에 적용된다.
문제 8
클러스터(cluster) 컴퓨터 시스템에 대한 설명으로 옳지 않은 것은?
1클러스터 내의 노드들을 연결하기 위해 클러스터 전용 상호연결망이나 LAN을 사용할 수 있다.
2노드를 추가함으로써 클러스터의 확장이 가능하다.
3일부 노드의 고장 발생 시에도 지속적인 서비스가 가능하도록 높은 가용성을 추구한다.
4각 노드의 개별적인 운영체제 없이 모든 노드들은 단일 운영체제의 관리하에서 동작한다.
정답 및 해설

옳지 않은 설명은 모든 노드가 개별 운영체제 없이 단일 운영체제로 동작한다는 것이다.

클러스터는 독립된 컴퓨터(노드)들을 네트워크로 묶은 시스템으로, 각 노드가 자신의 운영체제를 갖고 동작하며 미들웨어 등으로 하나의 시스템처럼 보이게 한다.

  • 노드 간 연결에는 전용 상호연결망이나 LAN을 사용할 수 있다.
  • 노드를 추가하는 방식으로 성능과 규모를 확장할 수 있다.
  • 일부 노드가 고장 나도 다른 노드가 서비스를 이어받아 높은 가용성을 추구한다.
문제 9
어떤 회사의 한 부서가 155.16.32.*, 155.16.33.*, 155.16.34.*, 155.16.35.*로 이루어진 IP 주소들만으로 서브넷(subnet)을 구성할 때, 서브넷마스크(mask)로 옳은 것은? (단, IP 주소는 IPv4 주소 체계의 비클래스형(classless) 주소 지정이 적용된 것이고, IP 주소의 *는 0~255를 의미한다)
1255.255.252.0
2255.255.253.0
3255.255.254.0
4255.255.255.0
정답 및 해설

네 개의 주소 블록을 하나의 서브넷으로 묶는 마스크는 255.255.252.0(/22)이다.

셋째 옥텟을 2진수로 쓰면 32 = 00100000, 33 = 00100001, 34 = 00100010, 35 = 00100011이다.
앞 6비트(001000)가 공통이고 하위 2비트만 달라지므로, 네트워크 부분은 16 + 6 = 22비트이다.

셋째 옥텟의 마스크는 11111100 = 252이므로 255.255.252.0이 된다.

  • 255.255.253.0: 셋째 옥텟 11111101은 1이 연속되지 않아 유효한 서브넷 마스크가 아니다.
  • 255.255.254.0: /23으로 두 블록(32~33 또는 34~35)만 묶을 수 있다.
  • 255.255.255.0: /24로 한 블록만 포함한다.
문제 10
관계형 데이터베이스의 키(key)에 대한 설명으로 옳지 않은 것은?
1수퍼키(superkey)는 릴레이션을 구성하는 속성(attribute)들 중에서 각 투플(tuple)을 유일하게 식별할 수 있도록 하는 속성 또는 속성들의 집합이다.
2후보키(candidate key)는 유일성(uniqueness)과 최소성(minimality)을 만족시킨다.
3기본키(primary key)는 후보키 중에서 투플을 식별하는 기준으로 선택된 특별한 키이다.
4두 개 이상의 후보키 중에서 기본키로 선택되지 않은 나머지 후보키를 외래키(foreign key)라고 한다.
정답 및 해설

옳지 않은 설명은 기본키로 선택되지 않은 후보키를 외래키라고 한다는 것이다. 이러한 키는 대체키(alternate key)이다.

외래키는 다른 릴레이션의 기본키를 참조하는 속성으로, 릴레이션 간 참조 무결성을 유지하는 데 쓰인다.

  • 수퍼키는 각 투플을 유일하게 식별하는 속성 또는 속성 집합으로, 최소성은 요구하지 않는다.
  • 후보키는 유일성과 최소성을 모두 만족하는 키이다.
  • 기본키는 후보키 중 투플 식별의 기준으로 선택된 키이다.
문제 11
인터넷에 연결된 호스트의 도메인 이름을 IP 주소로 변환하기 위한 것은?
1NAT
2ARP
3DHCP
4DNS
정답 및 해설

도메인 이름을 IP 주소로 변환하는 것은 DNS(Domain Name System)이다.

DNS는 계층적 분산 데이터베이스로, 사람이 기억하기 쉬운 도메인 이름을 IP 주소로 바꾸어 준다.

  • NAT: 사설 IP 주소와 공인 IP 주소를 상호 변환하는 기술이다.
  • ARP: IP 주소를 물리 주소(MAC 주소)로 변환하는 프로토콜이다.
  • DHCP: 호스트에 IP 주소 등 네트워크 설정을 자동으로 할당하는 프로토콜이다.
문제 12
음수 표현을 위해 2의 보수를 사용하는 경우 다음 4비트 덧셈의 결과를 10진수 값으로 표현한 것은?
00112+110020011_{2}+1100_{2}
10
2-7
315
4-1
정답 및 해설

덧셈 결과는 10진수 -1이다.

0011 + 1100 = 1111이며, 최상위 비트가 1이므로 음수이다. 2의 보수를 취하면 0000 + 1 = 0001이므로 크기는 1, 즉 -1이다.

검산: 0011은 3, 1100은 -4이므로 3 + (-4) = -1이다.

  • 0: 두 수의 합이 0이 되려면 1100이 -3이어야 하지만 실제로는 -4이다.
  • -7: 1111을 부호-크기 방식으로 해석한 값으로, 2의 보수 해석이 아니다.
  • 15: 1111을 부호 없는 정수로 해석한 값이다.
문제 13
후입선출(LIFO : Last-In First-Out) 형태로서 자료의 삽입과 삭제가 한쪽 끝에서 이루어지는 자료구조는?
1스택(stack)
2큐(queue)
3트리(tree)
4그래프(graph)
정답 및 해설

후입선출(LIFO) 구조로 한쪽 끝에서만 삽입·삭제가 일어나는 자료구조는 스택(stack)이다.

스택은 top 한 곳에서 push(삽입)와 pop(삭제)이 이루어져 가장 나중에 들어온 자료가 먼저 나간다.

  • 큐: 한쪽(rear)에서 삽입하고 다른 쪽(front)에서 삭제하는 선입선출(FIFO) 구조이다.
  • 트리: 노드들이 계층적으로 연결된 비선형 자료구조이다.
  • 그래프: 정점과 간선으로 이루어진 비선형 자료구조이다.
문제 14
다양한 장치들이 서로 통신할 수 있게 하는 PAN(Personal Area Network)을 위한 통신 규격으로, IEEE 802.15.1 표준으로 채택된 통신 방법은?
1블루투스(Bluetooth)
2Wi-Fi(Wireless-Fidelity)
3RFID(Radio Frequency IDentification)
4USB(Universal Serial Bus)
정답 및 해설

IEEE 802.15.1 표준으로 채택된 PAN용 통신 규격은 블루투스(Bluetooth)이다.

블루투스는 근거리의 다양한 장치를 무선으로 연결하는 개인 영역 네트워크 기술이다.

  • Wi-Fi: IEEE 802.11 계열의 무선 LAN 규격이다.
  • RFID: 전자 태그를 무선 주파수로 인식하는 기술로, IEEE 802.15.1 규격이 아니다.
  • USB: 주변기기를 연결하는 유선 직렬 버스 규격이다.
문제 15
프로그래밍 언어에 대한 설명으로 옳지 않은 것은?
1C#은 .NET 프레임워크(framework)에서 동작하는 소프트웨어의 개발을 지원하는 언어이다.
2Java는 C++의 특징인 클래스에서의 다중 상속과 포인터를 지원하는 간결한 언어이다.
3JavaScript, PHP 및 Ruby는 스크립트 언어이다.
4C++는 다형성, 오버로딩, 예외 처리와 같은 객체지향(object-oriented) 프로그래밍의 특징을 가진 언어이다.
정답 및 해설

옳지 않은 설명은 Java가 클래스 다중 상속과 포인터를 지원한다는 것이다.

Java는 C++의 복잡성을 줄이기 위해 클래스의 다중 상속과 포인터를 지원하지 않으며, 다중 상속 효과는 인터페이스로 얻는다.

  • C#은 마이크로소프트가 .NET 프레임워크용으로 개발한 언어이다.
  • JavaScript, PHP, Ruby는 인터프리터 방식으로 실행되는 스크립트 언어이다.
  • C++는 다형성, 오버로딩, 예외 처리 등 객체지향 특징을 갖는다.
문제 16
RAM 칩을 사용하여 8K × 64비트 기억장치 모듈을 구성하는 방법으로 옳지 않은 것은?
14개의 2K× 64비트 RAM 칩 사용
232개의 1K× 16비트 RAM 칩 사용
38개의 4K× 8비트 RAM 칩 사용
44개의 8K× 16비트 RAM 칩 사용
정답 및 해설

옳지 않은 구성은 4K×8비트 칩 8개를 사용하는 방법이다.

필요 용량은 8K×64비트 = 512K비트이다.
4K×8비트 칩 8개는 8×32K비트 = 256K비트로 용량이 절반뿐이다. 8K×64비트를 만들려면 이 칩이 16개(폭 8개×깊이 2개) 필요하다.

  • 2K×64비트 칩 4개: 폭이 그대로 64비트이고 깊이를 4배로 늘려 8K×64비트가 된다.
  • 1K×16비트 칩 32개: 폭 4개(64비트)×깊이 8개(8K)로 구성된다.
  • 8K×16비트 칩 4개: 깊이는 그대로 8K이고 폭 4개를 나란히 놓아 64비트가 된다.
문제 17
캐시 메모리 시스템을 구성할 때 일반적으로 캐시 블록은 복수의 워드를 가지도록 구성되는데, 이것은 어떤 항목이 참조되면 그 근처에 있는 다른 항목들도 곧바로 참조될 가능성이 높다는 메모리 참조의 특성에 기반을 두고 있다. 이러한 특성으로 옳은 것은?
1시간적 지역성(temporal locality)
2캐시 일관성(cache coherence)
3공간적 지역성(spatial locality)
4영속적 바인딩(persistent binding)
정답 및 해설

참조된 항목 근처의 항목이 곧 참조될 가능성이 높다는 특성은 공간적 지역성(spatial locality)이다.

캐시 블록을 여러 워드로 구성하면 한 번의 적재로 인접 데이터를 함께 가져와 배열 순회 같은 접근에서 적중률이 높아진다.

  • 시간적 지역성: 최근 참조된 항목이 가까운 미래에 다시 참조될 가능성이 높다는 특성이다.
  • 캐시 일관성: 여러 캐시에 있는 같은 데이터의 값을 일치시키는 문제로, 참조 특성이 아니다.
  • 영속적 바인딩: 메모리 참조의 지역성과 관련이 없는 개념이다.
문제 18
RAM의 일종인 DRAM(Dynamic RAM)에 대한 설명으로 옳지 않은 것은?
1휘발성 메모리이다.
2주기적인 재충전(refresh)이 필요하다.
3SRAM(Static RAM)에 비해 접근 속도가 빠르고 저장 밀도가 높다.
4주기억장치로 주로 사용된다.
정답 및 해설

옳지 않은 설명은 DRAM이 SRAM보다 접근 속도가 빠르다는 것이다.

DRAM은 커패시터에 전하를 저장해 집적도는 높지만, SRAM보다 접근 속도가 느리다. 그래서 빠른 SRAM은 캐시에, DRAM은 주기억장치에 쓰인다.

  • DRAM은 전원이 끊기면 내용이 사라지는 휘발성 메모리이다.
  • 커패시터의 전하가 누설되므로 주기적인 재충전(refresh)이 필요하다.
  • 대용량을 저렴하게 구성할 수 있어 주기억장치로 주로 사용된다.
문제 19
파이프라이닝(pipelining) 기법이 적용된 프로세서에서 파이프라인 실행이 계속될 수 있는 조건이 충족되지 않아 파이프라인 전체 또는 일부가 정지(stall)될 수 있는 상황이 발생하는데, 이를 파이프라인 해저드(pipeline hazard)라고 한다. 파이프라인 해저드의 유형이 아닌 것은?
1구조적 해저드(structural hazard)
2데이터 해저드(data hazard)
3제어 해저드(control hazard)
4병렬 해저드(parallel hazard)
정답 및 해설

파이프라인 해저드의 유형이 아닌 것은 병렬 해저드이다.

파이프라인 해저드는 일반적으로 구조적·데이터·제어 해저드의 세 가지로 분류한다.

  • 구조적 해저드: 여러 명령어가 같은 하드웨어 자원을 동시에 사용하려 할 때 발생한다.
  • 데이터 해저드: 앞 명령어의 결과를 뒤 명령어가 사용해야 하는데 아직 결과가 준비되지 않았을 때 발생한다.
  • 제어 해저드: 분기 명령어 때문에 다음에 실행할 명령어가 정해지지 않을 때 발생한다.
문제 20
CPU 스케줄링 기법 중에서 기아상태(starvation)가 발생할 가능성이 없는 것만을 모두 고르면?
  • ㄱ. FCFS(First-Come First-Served)
  • ㄴ. 라운드 로빈(RR : Round Robin)
  • ㄷ. SJF(Shortest Job First)
  • ㄹ. HRRN(Highest Response Ratio Next)
1ㄱ, ㄴ
2ㄷ, ㄹ
3ㄱ, ㄴ, ㄷ
4ㄱ, ㄴ, ㄹ
정답 및 해설

기아상태가 발생하지 않는 기법은 FCFS, 라운드 로빈, HRRN이다.

SJF는 실행 시간이 짧은 작업을 계속 먼저 처리하므로, 짧은 작업이 계속 도착하면 긴 작업이 무한히 밀리는 기아상태가 생길 수 있다.

  • FCFS: 도착 순서대로 처리하므로 모든 작업이 결국 실행된다.
  • 라운드 로빈: 모든 프로세스에 시간 할당량을 돌아가며 주므로 기아가 없다.
  • HRRN: 응답률 (대기 시간 + 서비스 시간) / 서비스 시간을 쓰므로 오래 기다린 작업의 우선순위가 올라가 SJF의 기아를 해결한다.
9급 지방직 컴퓨터일반 기출문제모두CBT · moducbt.com
14년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
구조화된 웹 문서의 작성을 위해 W3C에서 제정한 확장 가능한 마크업 언어는?
1HTML
2CSS
3XML
4SGML
정답 및 해설

W3C가 구조화된 웹 문서 작성을 위해 제정한 확장 가능한 마크업 언어는 XML(eXtensible Markup Language)이다.

XML은 SGML을 웹 환경에 맞게 단순화한 것으로, 사용자가 태그를 직접 정의해 데이터의 구조와 의미를 기술할 수 있다.

  • HTML: 미리 정해진 태그로 웹 문서의 표현을 기술하는 언어로, 태그를 확장할 수 없다.
  • CSS: 마크업 언어가 아니라 문서의 글꼴·색·배치 등 스타일을 지정하는 스타일 시트 언어이다.
  • SGML: XML·HTML의 모태가 된 ISO 표준 범용 마크업 언어로, W3C가 웹용으로 제정한 언어가 아니며 구조가 복잡하다.
문제 2
CPU의 연산을 처리하기 위한 데이터의 기본 단위로서 CPU가 한 번에 처리할 수 있는 데이터 크기를 나타내는 것은?
1워드(word)
2바이트(byte)
3비트(bit)
4니블(nibble)
정답 및 해설

CPU가 한 번에 처리할 수 있는 데이터의 기본 단위는 워드(word)이다.

워드 크기는 CPU의 레지스터 폭·데이터 버스 폭과 관련되며, 시스템에 따라 32비트·64비트 등으로 달라진다.

  • 바이트: 8비트 묶음으로, 문자 하나를 표현하거나 주소를 지정하는 기본 단위이다.
  • 비트: 0 또는 1을 나타내는 정보의 최소 단위이다.
  • 니블: 4비트 묶음으로, 16진수 한 자리에 해당한다.
문제 3
8비트 데이터 A와 B에 대해 다음 비트(bitwise) 연산을 수행하였더니, A의 값에 상관없이 연산 결과의 상위(왼쪽) 4비트는 A의 상위 4비트의 1의 보수이고 연산 결과의 하위(오른쪽) 4비트는 A의 하위 4비트와 같다. B의 값을 이진수로 표현한 것은?
A XOR B
1000011112
2111100002
3100100002
4000010012
정답 및 해설

B의 값은 11110000이다.

XOR 연산은 1과 연산하면 비트가 반전되고(1의 보수), 0과 연산하면 비트가 그대로 유지된다. 따라서 상위 4비트는 1111, 하위 4비트는 0000이어야 한다.

  • 00001111: 상위 4비트는 유지되고 하위 4비트가 반전되어 조건과 반대이다.
  • 10010000: 상위 4비트 중 일부만 반전되어 1의 보수가 되지 않는다.
  • 00001001: 상위 4비트는 유지되고 하위 4비트 일부가 반전된다.
문제 4
경영 상태를 실시간으로 파악하고 정보를 공유하게 하여 기업의 기간 업무부터 인사 관계까지 기업 활동 전반을 통합적으로 관리함으로써 경영 자원의 활용을 최적화하기 위한 것은?
1EAI(Enterprise Application Integration)
2ERP(Enterprise Resource Planning)
3BPR(Business Process Reengineering)
4KMS(Knowledge Management System)
정답 및 해설

기업 활동 전반의 기간 업무를 통합 관리해 경영 자원 활용을 최적화하는 시스템은 ERP(전사적 자원 관리)이다.

ERP는 생산·구매·재고·회계·인사 등 부서별 업무를 하나의 통합 데이터베이스로 연결해 경영 상태를 실시간으로 파악하고 정보를 공유하게 한다.

  • EAI: 기업 내 서로 다른 애플리케이션들을 연계·통합하는 기술로, 경영 자원 관리 자체가 목적이 아니다.
  • BPR: 업무 프로세스를 근본적으로 재설계하는 경영 혁신 기법이다.
  • KMS: 조직 내 지식을 축적·공유·활용하기 위한 지식 관리 시스템이다.
문제 5
다음 C 프로그램의 출력 값은?
#include <stdio.h>
int main(void) {
int i;
int a[ ] = {10, 20, 30, 40, 50, 60, 70,
80, 90, 100};
int *ptr = a + 3;
for (i = 0; i < 5; ++i) {
printf("%d ", *(ptr + i) - 3);
}
}
127 37 47 57 67
237 47 57 67 77
347 57 67 77 87
443 53 63 73 83
정답 및 해설

출력 값은 37 47 57 67 77이다.

ptr = a + 3 이므로 ptr은 a[3](값 40)을 가리킨다. *(ptr + i)는 a[3+i]이므로 i = 0~4에서 40, 50, 60, 70, 80을 읽고, 각각에서 3을 뺀 값을 출력한다.

  • 27 37 47 57 67: a[2]부터 읽은 경우로, ptr이 a + 2를 가리킬 때의 결과이다.
  • 47 57 67 77 87: a[4]부터 읽은 경우의 결과이다.
  • 43 53 63 73 83: 3을 빼지 않고 더한 결과이다.
문제 6
운영체제에서 교착상태(deadlock)가 발생하기 위한 필요조건에 해당되지 않는 것은?
1상호배제(mutual exclusion)
2점유와 대기(hold and wait)
3선점(preemption)
4순환 대기(circular wait)
정답 및 해설

교착상태의 필요조건이 아닌 것은 선점(preemption)이다. 필요조건은 선점이 아니라 비선점(no preemption)이다.

교착상태는 상호배제, 점유와 대기, 비선점, 순환 대기의 네 조건이 동시에 성립할 때 발생할 수 있다. 자원을 강제로 빼앗을 수 있으면 비선점 조건이 깨져 교착상태를 예방할 수 있다.

  • 상호배제: 한 자원을 한 번에 하나의 프로세스만 사용할 수 있다는 조건으로, 필요조건이다.
  • 점유와 대기: 자원을 점유한 채 다른 자원을 기다리는 조건으로, 필요조건이다.
  • 순환 대기: 프로세스들이 원형으로 서로의 자원을 기다리는 조건으로, 필요조건이다.
문제 7
소프트웨어 형상 관리(configuration management)에 대한 설명으로 옳지 않은 것은?
1형상 관리는 소프트웨어에 가해지는 변경을 제어하고 관리하는 활동을 포함한다.
2기준선(baseline) 변경은 공식적인 절차에 의해서 이루어진다.
3개발 과정의 산출물인 원시 코드(source code)는 형상 관리 항목에 포함되지 않는다.
4형상 관리는 소프트웨어 운용 및 유지보수 단계뿐 아니라 소프트웨어 개발 단계에서도 적용될 수 있다.
정답 및 해설

옳지 않은 설명은 원시 코드가 형상 관리 항목에 포함되지 않는다는 것이다.

형상 관리 항목(SCI)에는 요구사항 명세서·설계서뿐 아니라 원시 코드, 테스트 자료, 매뉴얼 등 개발 과정의 산출물이 모두 포함된다.

  • 형상 관리는 소프트웨어에 가해지는 변경을 식별·제어·관리하는 활동이므로 옳다.
  • 기준선(baseline)은 공식 검토를 거친 산출물이므로, 변경은 형상 통제 위원회 등 공식 절차를 거친다.
  • 형상 관리는 개발 단계부터 운용·유지보수 단계까지 생명주기 전반에 적용된다.
문제 8
클러스터(cluster) 컴퓨터 시스템에 대한 설명으로 옳지 않은 것은?
1클러스터 내의 노드들을 연결하기 위해 클러스터 전용 상호연결망이나 LAN을 사용할 수 있다.
2노드를 추가함으로써 클러스터의 확장이 가능하다.
3일부 노드의 고장 발생 시에도 지속적인 서비스가 가능하도록 높은 가용성을 추구한다.
4각 노드의 개별적인 운영체제 없이 모든 노드들은 단일 운영체제의 관리하에서 동작한다.
정답 및 해설

옳지 않은 설명은 모든 노드가 개별 운영체제 없이 단일 운영체제로 동작한다는 것이다.

클러스터는 독립된 컴퓨터(노드)들을 네트워크로 묶은 시스템으로, 각 노드가 자신의 운영체제를 갖고 동작하며 미들웨어 등으로 하나의 시스템처럼 보이게 한다.

  • 노드 간 연결에는 전용 상호연결망이나 LAN을 사용할 수 있다.
  • 노드를 추가하는 방식으로 성능과 규모를 확장할 수 있다.
  • 일부 노드가 고장 나도 다른 노드가 서비스를 이어받아 높은 가용성을 추구한다.
문제 9
어떤 회사의 한 부서가 155.16.32.*, 155.16.33.*, 155.16.34.*, 155.16.35.*로 이루어진 IP 주소들만으로 서브넷(subnet)을 구성할 때, 서브넷마스크(mask)로 옳은 것은? (단, IP 주소는 IPv4 주소 체계의 비클래스형(classless) 주소 지정이 적용된 것이고, IP 주소의 *는 0~255를 의미한다)
1255.255.252.0
2255.255.253.0
3255.255.254.0
4255.255.255.0
정답 및 해설

네 개의 주소 블록을 하나의 서브넷으로 묶는 마스크는 255.255.252.0(/22)이다.

셋째 옥텟을 2진수로 쓰면 32 = 00100000, 33 = 00100001, 34 = 00100010, 35 = 00100011이다.
앞 6비트(001000)가 공통이고 하위 2비트만 달라지므로, 네트워크 부분은 16 + 6 = 22비트이다.

셋째 옥텟의 마스크는 11111100 = 252이므로 255.255.252.0이 된다.

  • 255.255.253.0: 셋째 옥텟 11111101은 1이 연속되지 않아 유효한 서브넷 마스크가 아니다.
  • 255.255.254.0: /23으로 두 블록(32~33 또는 34~35)만 묶을 수 있다.
  • 255.255.255.0: /24로 한 블록만 포함한다.
문제 10
관계형 데이터베이스의 키(key)에 대한 설명으로 옳지 않은 것은?
1수퍼키(superkey)는 릴레이션을 구성하는 속성(attribute)들 중에서 각 투플(tuple)을 유일하게 식별할 수 있도록 하는 속성 또는 속성들의 집합이다.
2후보키(candidate key)는 유일성(uniqueness)과 최소성(minimality)을 만족시킨다.
3기본키(primary key)는 후보키 중에서 투플을 식별하는 기준으로 선택된 특별한 키이다.
4두 개 이상의 후보키 중에서 기본키로 선택되지 않은 나머지 후보키를 외래키(foreign key)라고 한다.
정답 및 해설

옳지 않은 설명은 기본키로 선택되지 않은 후보키를 외래키라고 한다는 것이다. 이러한 키는 대체키(alternate key)이다.

외래키는 다른 릴레이션의 기본키를 참조하는 속성으로, 릴레이션 간 참조 무결성을 유지하는 데 쓰인다.

  • 수퍼키는 각 투플을 유일하게 식별하는 속성 또는 속성 집합으로, 최소성은 요구하지 않는다.
  • 후보키는 유일성과 최소성을 모두 만족하는 키이다.
  • 기본키는 후보키 중 투플 식별의 기준으로 선택된 키이다.
문제 11
인터넷에 연결된 호스트의 도메인 이름을 IP 주소로 변환하기 위한 것은?
1NAT
2ARP
3DHCP
4DNS
정답 및 해설

도메인 이름을 IP 주소로 변환하는 것은 DNS(Domain Name System)이다.

DNS는 계층적 분산 데이터베이스로, 사람이 기억하기 쉬운 도메인 이름을 IP 주소로 바꾸어 준다.

  • NAT: 사설 IP 주소와 공인 IP 주소를 상호 변환하는 기술이다.
  • ARP: IP 주소를 물리 주소(MAC 주소)로 변환하는 프로토콜이다.
  • DHCP: 호스트에 IP 주소 등 네트워크 설정을 자동으로 할당하는 프로토콜이다.
문제 12
음수 표현을 위해 2의 보수를 사용하는 경우 다음 4비트 덧셈의 결과를 10진수 값으로 표현한 것은?
00112+110020011_{2}+1100_{2}
10
2-7
315
4-1
정답 및 해설

덧셈 결과는 10진수 -1이다.

0011 + 1100 = 1111이며, 최상위 비트가 1이므로 음수이다. 2의 보수를 취하면 0000 + 1 = 0001이므로 크기는 1, 즉 -1이다.

검산: 0011은 3, 1100은 -4이므로 3 + (-4) = -1이다.

  • 0: 두 수의 합이 0이 되려면 1100이 -3이어야 하지만 실제로는 -4이다.
  • -7: 1111을 부호-크기 방식으로 해석한 값으로, 2의 보수 해석이 아니다.
  • 15: 1111을 부호 없는 정수로 해석한 값이다.
문제 13
후입선출(LIFO : Last-In First-Out) 형태로서 자료의 삽입과 삭제가 한쪽 끝에서 이루어지는 자료구조는?
1스택(stack)
2큐(queue)
3트리(tree)
4그래프(graph)
정답 및 해설

후입선출(LIFO) 구조로 한쪽 끝에서만 삽입·삭제가 일어나는 자료구조는 스택(stack)이다.

스택은 top 한 곳에서 push(삽입)와 pop(삭제)이 이루어져 가장 나중에 들어온 자료가 먼저 나간다.

  • 큐: 한쪽(rear)에서 삽입하고 다른 쪽(front)에서 삭제하는 선입선출(FIFO) 구조이다.
  • 트리: 노드들이 계층적으로 연결된 비선형 자료구조이다.
  • 그래프: 정점과 간선으로 이루어진 비선형 자료구조이다.
문제 14
다양한 장치들이 서로 통신할 수 있게 하는 PAN(Personal Area Network)을 위한 통신 규격으로, IEEE 802.15.1 표준으로 채택된 통신 방법은?
1블루투스(Bluetooth)
2Wi-Fi(Wireless-Fidelity)
3RFID(Radio Frequency IDentification)
4USB(Universal Serial Bus)
정답 및 해설

IEEE 802.15.1 표준으로 채택된 PAN용 통신 규격은 블루투스(Bluetooth)이다.

블루투스는 근거리의 다양한 장치를 무선으로 연결하는 개인 영역 네트워크 기술이다.

  • Wi-Fi: IEEE 802.11 계열의 무선 LAN 규격이다.
  • RFID: 전자 태그를 무선 주파수로 인식하는 기술로, IEEE 802.15.1 규격이 아니다.
  • USB: 주변기기를 연결하는 유선 직렬 버스 규격이다.
문제 15
프로그래밍 언어에 대한 설명으로 옳지 않은 것은?
1C#은 .NET 프레임워크(framework)에서 동작하는 소프트웨어의 개발을 지원하는 언어이다.
2Java는 C++의 특징인 클래스에서의 다중 상속과 포인터를 지원하는 간결한 언어이다.
3JavaScript, PHP 및 Ruby는 스크립트 언어이다.
4C++는 다형성, 오버로딩, 예외 처리와 같은 객체지향(object-oriented) 프로그래밍의 특징을 가진 언어이다.
정답 및 해설

옳지 않은 설명은 Java가 클래스 다중 상속과 포인터를 지원한다는 것이다.

Java는 C++의 복잡성을 줄이기 위해 클래스의 다중 상속과 포인터를 지원하지 않으며, 다중 상속 효과는 인터페이스로 얻는다.

  • C#은 마이크로소프트가 .NET 프레임워크용으로 개발한 언어이다.
  • JavaScript, PHP, Ruby는 인터프리터 방식으로 실행되는 스크립트 언어이다.
  • C++는 다형성, 오버로딩, 예외 처리 등 객체지향 특징을 갖는다.
문제 16
RAM 칩을 사용하여 8K × 64비트 기억장치 모듈을 구성하는 방법으로 옳지 않은 것은?
14개의 2K× 64비트 RAM 칩 사용
232개의 1K× 16비트 RAM 칩 사용
38개의 4K× 8비트 RAM 칩 사용
44개의 8K× 16비트 RAM 칩 사용
정답 및 해설

옳지 않은 구성은 4K×8비트 칩 8개를 사용하는 방법이다.

필요 용량은 8K×64비트 = 512K비트이다.
4K×8비트 칩 8개는 8×32K비트 = 256K비트로 용량이 절반뿐이다. 8K×64비트를 만들려면 이 칩이 16개(폭 8개×깊이 2개) 필요하다.

  • 2K×64비트 칩 4개: 폭이 그대로 64비트이고 깊이를 4배로 늘려 8K×64비트가 된다.
  • 1K×16비트 칩 32개: 폭 4개(64비트)×깊이 8개(8K)로 구성된다.
  • 8K×16비트 칩 4개: 깊이는 그대로 8K이고 폭 4개를 나란히 놓아 64비트가 된다.
문제 17
캐시 메모리 시스템을 구성할 때 일반적으로 캐시 블록은 복수의 워드를 가지도록 구성되는데, 이것은 어떤 항목이 참조되면 그 근처에 있는 다른 항목들도 곧바로 참조될 가능성이 높다는 메모리 참조의 특성에 기반을 두고 있다. 이러한 특성으로 옳은 것은?
1시간적 지역성(temporal locality)
2캐시 일관성(cache coherence)
3공간적 지역성(spatial locality)
4영속적 바인딩(persistent binding)
정답 및 해설

참조된 항목 근처의 항목이 곧 참조될 가능성이 높다는 특성은 공간적 지역성(spatial locality)이다.

캐시 블록을 여러 워드로 구성하면 한 번의 적재로 인접 데이터를 함께 가져와 배열 순회 같은 접근에서 적중률이 높아진다.

  • 시간적 지역성: 최근 참조된 항목이 가까운 미래에 다시 참조될 가능성이 높다는 특성이다.
  • 캐시 일관성: 여러 캐시에 있는 같은 데이터의 값을 일치시키는 문제로, 참조 특성이 아니다.
  • 영속적 바인딩: 메모리 참조의 지역성과 관련이 없는 개념이다.
문제 18
RAM의 일종인 DRAM(Dynamic RAM)에 대한 설명으로 옳지 않은 것은?
1휘발성 메모리이다.
2주기적인 재충전(refresh)이 필요하다.
3SRAM(Static RAM)에 비해 접근 속도가 빠르고 저장 밀도가 높다.
4주기억장치로 주로 사용된다.
정답 및 해설

옳지 않은 설명은 DRAM이 SRAM보다 접근 속도가 빠르다는 것이다.

DRAM은 커패시터에 전하를 저장해 집적도는 높지만, SRAM보다 접근 속도가 느리다. 그래서 빠른 SRAM은 캐시에, DRAM은 주기억장치에 쓰인다.

  • DRAM은 전원이 끊기면 내용이 사라지는 휘발성 메모리이다.
  • 커패시터의 전하가 누설되므로 주기적인 재충전(refresh)이 필요하다.
  • 대용량을 저렴하게 구성할 수 있어 주기억장치로 주로 사용된다.
문제 19
파이프라이닝(pipelining) 기법이 적용된 프로세서에서 파이프라인 실행이 계속될 수 있는 조건이 충족되지 않아 파이프라인 전체 또는 일부가 정지(stall)될 수 있는 상황이 발생하는데, 이를 파이프라인 해저드(pipeline hazard)라고 한다. 파이프라인 해저드의 유형이 아닌 것은?
1구조적 해저드(structural hazard)
2데이터 해저드(data hazard)
3제어 해저드(control hazard)
4병렬 해저드(parallel hazard)
정답 및 해설

파이프라인 해저드의 유형이 아닌 것은 병렬 해저드이다.

파이프라인 해저드는 일반적으로 구조적·데이터·제어 해저드의 세 가지로 분류한다.

  • 구조적 해저드: 여러 명령어가 같은 하드웨어 자원을 동시에 사용하려 할 때 발생한다.
  • 데이터 해저드: 앞 명령어의 결과를 뒤 명령어가 사용해야 하는데 아직 결과가 준비되지 않았을 때 발생한다.
  • 제어 해저드: 분기 명령어 때문에 다음에 실행할 명령어가 정해지지 않을 때 발생한다.
문제 20
CPU 스케줄링 기법 중에서 기아상태(starvation)가 발생할 가능성이 없는 것만을 모두 고르면?
  • ㄱ. FCFS(First-Come First-Served)
  • ㄴ. 라운드 로빈(RR : Round Robin)
  • ㄷ. SJF(Shortest Job First)
  • ㄹ. HRRN(Highest Response Ratio Next)
1ㄱ, ㄴ
2ㄷ, ㄹ
3ㄱ, ㄴ, ㄷ
4ㄱ, ㄴ, ㄹ
정답 및 해설

기아상태가 발생하지 않는 기법은 FCFS, 라운드 로빈, HRRN이다.

SJF는 실행 시간이 짧은 작업을 계속 먼저 처리하므로, 짧은 작업이 계속 도착하면 긴 작업이 무한히 밀리는 기아상태가 생길 수 있다.

  • FCFS: 도착 순서대로 처리하므로 모든 작업이 결국 실행된다.
  • 라운드 로빈: 모든 프로세스에 시간 할당량을 돌아가며 주므로 기아가 없다.
  • HRRN: 응답률 (대기 시간 + 서비스 시간) / 서비스 시간을 쓰므로 오래 기다린 작업의 우선순위가 올라가 SJF의 기아를 해결한다.