[법원직 9급 전산·사서 컴퓨터일반] 25년 1회차
법원직 9급 전산·사서 컴퓨터일반 기출문제

25년 1회차

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

1 / 1
A4정답 포함
법원직 9급 전산·사서 컴퓨터일반 기출문제모두CBT · moducbt.com

25년 1회차

총 25문항 · 객관식 · 정답·해설 포함
문제 1
분산 데이터베이스 시스템의 분산 데이터 독립성을 지원하기 위해서는 분산 투명성을 보장해야 한다. 분산 투명성에 관한 다음 설명 중 가장 옳지 않은 것은?
1위치 투명성은 데이터의 실제 저장위치를 알 필요 없이 데이터베이스의 논리적인 이름만으로 데이터에 접근할 수 있다는 것을 의미한다.
2중복 투명성은 동일한 데이터가 여러 지역에 저장되었더라도 하나의 데이터베이스 시스템에 데이터가 저장된 것처럼 사용하는 것을 의미한다.
3단편화 투명성에는 수직적 단편화, 수평적 단편화, 혼합 단편화가 있다.
4장애 투명성은 장애가 발생하지 않도록 조치하여 데이터베이스가 운영되는 것을 의미한다.
정답 및 해설

옳지 않은 설명은 장애 투명성을 장애 예방으로 풀이한 것이다.

장애 투명성은 장애가 발생하지 않게 막는 것이 아니라, 장애가 발생하더라도 사용자가 이를 의식하지 않고 쓸 수 있도록 트랜잭션의 원자성과 데이터 무결성을 유지하는 성질이다.

  • 위치 투명성: 저장 위치를 몰라도 논리적인 이름만으로 접근할 수 있으므로 옳다.
  • 중복 투명성: 여러 지역에 복제되어 있어도 하나의 데이터처럼 사용할 수 있으므로 옳다.
  • 단편화 투명성: 데이터의 분할 방식에는 수직적·수평적·혼합 단편화가 있으므로 옳다.
문제 2
두 개의 프로세스 P1, P2가 time 0에 준비 큐(ready queue)에 P1, P2의 순서로(즉, P1이 먼저, P2가 그 다음에) 도착해 있고(즉, 두 프로세스의 도착 시간이 모두 0임), P1의 CPU 사용 시간이 80, P2의 CPU 사용 시간이 20 이라 가정할 때, 시간 할당량(time quantum) 12인 RR(Round-Robin) 스케줄링 기법을 사용했을 경우 두 프로세스 모두 CPU 사용을 마칠 때까지의 평균 대기 시간(mean waiting time)은 얼마인가?
(단, 문맥 교환(context switching) 시간은 0으로 하며, 두 프로세스의 입출력은 없는 것으로 한다)
120
222
324
426
정답 및 해설

두 프로세스의 평균 대기 시간은 22이다.

실행 순서는 P1(0~12) → P2(12~24) → P1(24~36) → P2(36~44, 종료) → P1(44~100, 종료)이다.

대기 시간 = 종료 시각 − 도착 시각 − CPU 사용 시간이다.
P1: 100−0−80=20100 - 0 - 80 = 20
P2: 44−0−20=2444 - 0 - 20 = 24
평균: 20+242=22\dfrac{20 + 24}{2} = 22

  • 20: P1 한 프로세스의 대기 시간일 뿐 평균이 아니다.
  • 24: P2 한 프로세스의 대기 시간일 뿐 평균이 아니다.
  • 26: 대기 시간의 합이 52여야 나오는 값인데 실제 합은 44이다.
문제 3
다음과 같은 7개의 원소를 갖는 리스트에서 이진탐색과 순차탐색을 수행하려고 한다. 다음 설명 중 가장 옳은 것은?
리스트 : {10, 11, 15, 23, 30, 58, 70}
1평균적으로 시간복잡도는 순차탐색이 이진탐색보다 더 작다.
210을 검색할 때, 비교 횟수는 이진탐색은 2번, 순차탐색은 1번 비교한다.
3정렬이 안 된 리스트에서 순차탐색은 사용 가능하지만, 이진탐색은 사용할 수 없다.
4정렬이 된 리스트에서 임의의 값을 검색할 때 순차탐색의 평균 시간복잡도는 O(1)이다.
정답 및 해설

옳은 설명은 정렬이 안 된 리스트에서는 순차탐색만 사용할 수 있다는 것이다.

이진탐색은 중앙값과 비교해 탐색 범위를 절반으로 줄이므로 데이터가 정렬되어 있어야 동작한다. 순차탐색은 앞에서부터 하나씩 비교하므로 정렬 여부와 상관없이 쓸 수 있다.

  • 평균 시간복잡도 비교: 순차탐색은 O(n)O(n), 이진탐색은 O(log⁡n)O(\log n)이므로 이진탐색이 더 작다.
  • 10을 검색할 때의 비교 횟수: 이진탐색은 23, 11, 10 순으로 세 번 비교하고, 순차탐색은 첫 원소에서 한 번에 찾는다.
  • 정렬된 리스트에서 순차탐색의 평균 시간복잡도: 정렬되어 있어도 차례로 비교하므로 O(1)O(1)이 아니라 O(n)O(n)이다.
문제 4
다음 중 TCP/IP 프로토콜의 인터넷 계층에서 수행하는 프로토콜에 해당하지 않는 것은?
1ICMP
2ARP
3FDDI
4IP
정답 및 해설

인터넷 계층 프로토콜이 아닌 것은 FDDI이다.

FDDI는 광섬유를 이용하는 근거리 통신망 기술로, TCP/IP 모델에서 네트워크 접속 계층(OSI의 물리·데이터 링크 계층)에 해당한다.

  • ICMP: IP 통신의 오류와 제어 메시지를 전달하는 인터넷 계층 프로토콜이다.
  • ARP: IP 주소에 대응하는 물리 주소를 찾는 프로토콜로, 인터넷 계층으로 분류된다.
  • IP: 패킷의 주소 지정과 경로 전달을 맡는 인터넷 계층의 핵심 프로토콜이다.
문제 5
다음 논리회로의 논리식 Y는?
1Y = A+B
2Y = A·B
3Y = A'+B'
4Y = A'·B'
정답 및 해설

이 회로의 논리식은 Y = A·B로, 전체가 AND 게이트와 같은 동작을 한다.

입력 A, B는 각각 NOT 게이트를 거쳐 OR 게이트로 들어가고, OR 출력이 다시 NOT 게이트에서 반전된다. 여기에 드모르간 법칙을 적용하면 식이 정리된다.
Y=A‾+B‾‾=A‾‾⋅B‾‾=A⋅BY = \overline{\overline{A}+\overline{B}} = \overline{\overline{A}}\cdot\overline{\overline{B}} = A\cdot B

  • Y = A+B는 A=1, B=0에서 1이 되지만, 실제 회로는 NOT 출력 0과 1의 OR인 1이 마지막에 반전되어 0을 낸다.
  • Y = A'+B'는 마지막 NOT 게이트를 지나기 전, OR 게이트의 출력에 해당한다.
  • Y = A'·B'는 A=B=0에서 1이 되지만, 실제 회로는 OR 출력 1이 반전되어 0을 낸다.
문제 6
다음 C 프로그램의 결과로 옳은 것은?
#include <stdio.h>
void sub(int x, int *y);
int main(void)
{
int a = 1, b = 5;
sub(a, &b);
printf(“%d, %d\n”, a, b);
}
void sub(int x, int *y)
{
x = x + 2;
*y = *y + x;
}
11, 5
21, 8
33, 5
43, 8
정답 및 해설

프로그램의 출력은 1, 8이다.

x는 값으로 전달되어 a의 복사본이고, y는 b의 주소를 받는 포인터이다.
sub 호출 시: x = 1, y는 b를 가리킴
x = x + 2 실행: x = 3 (a는 1 그대로)
*y = *y + x 실행: b = 5 + 3 = 8

  • 1, 5: 포인터를 통해 바뀐 b의 값을 반영하지 않은 결과이다.
  • 3, 5: a와 b의 변화를 모두 반대로 판단한 결과이다.
  • 3, 8: 값 전달인 x의 변경이 a에 반영된다고 본 결과이다.
문제 7
어느 시스템에 하나의 자원형(resource type)만이 존재하고 이에 5개의 단위자원(resource units)이 있으며, 이 시스템에 p개의 프로세스가 존재한다고 가정할 때, 각 프로세스들이 어느 순간에도 최대 2개까지의 단위자원만을 필요로 한다면 이 시스템에서 교착상태의 발생을 근본적으로 없애기 위한 필요충분조건은?
1p ≤ 2
2p ≤ 3
3p ≤ 4
4p ≤ 5
정답 및 해설

교착상태를 없애는 필요충분조건은 p ≤ 4이다.

최악의 경우는 모든 프로세스가 1개씩 점유한 채 1개를 더 기다리는 상태이다. 이때 자원이 1개라도 남아 있으면 어느 한 프로세스가 2개를 채워 끝내고 자원을 반납하므로 교착상태가 생기지 않는다.

조건식: p(2−1)+1≤5p(2 - 1) + 1 \le 5
정리하면 p≤4p \le 4

  • p ≤ 5: 프로세스가 5개이면 각각 1개씩 점유해 남는 자원이 없으므로 교착상태가 발생할 수 있다.
  • p ≤ 3: 프로세스가 4개일 때도 안전하므로 필요조건이 되지 못한다.
  • p ≤ 2: 마찬가지로 프로세스가 3개나 4개일 때도 안전하므로 필요조건이 되지 못한다.
문제 8
현재 A, B, C 프로그램을 실행 중이며, 이 세 개의 프로그램으로 주메모리가 꽉 차 있는 상태이다. 이 상태에서 새로운 프로그램 D를 실행하려고 시도할 때, 다음 설명 중 가장 옳은 것은?
1메모리 부족으로 인해 프로그램 D는 실행이 거부된다.
2프로그램 D는 주메모리가 확보될 때까지 대기 상태로 유지된다.
3운영체제는 가상메모리를 사용하여 부족한 주메모리를 보완하고 D를 실행한다.
4운영체제는 실행 중인 프로그램 중 가장 오래 전에 사용된 하나를 강제로 종료시킨 후 D를 실행한다.
정답 및 해설

운영체제는 가상메모리를 사용해 부족한 주메모리를 보완하고 D를 실행한다.

가상메모리는 보조기억장치의 일부를 주메모리처럼 활용하는 기법이다. 당장 쓰지 않는 페이지를 스왑 영역으로 내보내고 그 자리에 D에 필요한 페이지를 올린다.

  • 실행 거부: 주메모리가 차 있어도 가상메모리로 실행할 수 있으므로 거부되지 않는다.
  • 주메모리 확보까지 대기: 필요한 페이지를 교체해 바로 올릴 수 있으므로 기다릴 필요가 없다.
  • 오래된 프로그램 강제 종료: 프로그램을 종료하지 않고 일부 페이지만 내보내면 된다.
문제 9
HTTPS가 HTTP보다 안전한 이유에 대한 설명으로 가장 옳은 것은?
1포트 번호가 다르기 때문이다.
2텍스트 파일로 작동하기 때문이다.
3서버의 응답 속도가 더 빠르기 때문이다.
4인증서를 사용하여 암호화된 통신을 제공하기 때문이다.
정답 및 해설

HTTPS가 더 안전한 이유는 인증서를 사용한 암호화 통신을 제공하기 때문이다.

HTTPS는 HTTP를 TLS 위에서 동작시켜 인증서로 서버의 신원을 확인하고, 주고받는 데이터를 암호화해 도청과 위변조를 막는다.

  • 포트 번호의 차이: HTTPS가 다른 기본 포트를 쓰는 것은 사실이지만 포트 자체가 안전성을 주지는 않는다.
  • 텍스트 파일로 작동: 안전성과 관계없는 설명이다.
  • 빠른 응답 속도: 암호화 협상 과정이 더해지므로 HTTP보다 빠르다고 볼 근거가 없다.
문제 10
다음 중 클래스 설계 원칙에 해당하지 않는 것은?
1의존성 역전의 원칙
2인터페이스 통합의 원칙
3개방 폐쇄의 원칙
4리스코프 교체의 원칙
정답 및 해설

클래스 설계 원칙에 해당하지 않는 것은 인터페이스 통합의 원칙이다.

객체지향 설계 원칙(SOLID)의 해당 항목은 인터페이스 분리 원칙으로, 클라이언트가 쓰지 않는 메서드에 의존하지 않도록 큰 인터페이스를 작게 나누라는 뜻이다. 통합은 이와 반대되는 방향이다.

  • 의존성 역전의 원칙: 구체 클래스가 아니라 추상화에 의존하라는 원칙이다.
  • 개방 폐쇄의 원칙: 확장에는 열려 있고 수정에는 닫혀 있어야 한다는 원칙이다.
  • 리스코프 교체의 원칙: 하위 타입은 상위 타입을 대체할 수 있어야 한다는 원칙으로, 리스코프 치환 원칙이라고도 한다.
문제 11
인터럽트(interrupt)에 관한 다음 설명 중 가장 옳지 않은 것은?
1인터럽트가 발생함으로 인하여 문맥 교환(context switching)이 이루어질 수 있다.
2인터럽트가 발생하더라도 CPU에서 실행 중이던 기계어 명령은 끝까지 실행된다.
3인터럽트 핸들러(interrupt handler)의 실행은 커널 모드(kernel mode)에서 진행된다.
4인터럽트 처리가 종료되면 항상 인터럽트 발생 당시 실행 중이던 프로세스가 다시 실행된다.
정답 및 해설

옳지 않은 설명은 인터럽트 처리 후 항상 이전 프로세스가 다시 실행된다는 것이다.

인터럽트 처리가 끝나면 스케줄러가 다음에 실행할 프로세스를 다시 정할 수 있다. 예를 들어 타이머 인터럽트로 시간 할당량이 끝났다면 다른 프로세스가 실행될 수 있다.

  • 문맥 교환의 발생: 인터럽트를 계기로 다른 프로세스로 전환될 수 있으므로 옳다.
  • 실행 중인 기계어 명령의 완료: 외부 인터럽트는 보통 명령 실행이 끝난 뒤 확인하므로 옳다.
  • 핸들러의 실행 모드: 인터럽트 핸들러는 운영체제 코드이므로 커널 모드에서 실행된다.
문제 12
인터넷의 주소 체계에 관한 다음 설명 중 가장 옳지 않은 것은?
1DNS(Domain Name System)는 계층적 이름 체계를 기반으로 IP 주소를 관리한다.
2DNS(Domain Name System)는 IP 주소를 문자로 된 도메인 네임으로 변환하는 역할을 한다.
3IPv4 주소는 32비트 주소 체계로, 네트워크 부분과 호스트 부분의 길이에 따라 A∼E 클래스 구조를 갖는다.
4IPv6 주소는 IPv4의 주소 부족 문제를 해결하기 위해 개발되었으며, 콜론(:)으로 구분된 128비트 주소 체계를 사용한다.
정답 및 해설

옳지 않은 설명은 DNS의 변환 방향을 IP 주소 → 도메인 네임으로 쓴 것이다.

DNS의 기본 역할은 사람이 읽기 쉬운 도메인 네임을 IP 주소로 변환하는 것이다. IP 주소로 이름을 찾는 역방향 조회는 부가 기능이다.

  • DNS의 계층적 이름 체계: 루트, 최상위, 하위 도메인으로 이어지는 계층 구조이므로 옳다.
  • IPv4 주소 체계: 32비트 주소이며 네트워크와 호스트 부분에 따라 A~E 클래스로 나뉘므로 옳다.
  • IPv6 주소 체계: 주소 부족을 해결하기 위한 128비트 체계이며 콜론으로 구분하므로 옳다.
문제 13
다음 프로세스 스케줄링 기법 중 순환 순서 기법(Round Robin)의 설명에 해당하는 것은?
1가장 먼저 들어온 프로세스를 가장 먼저 처리한다.
2자원을 가장 적게 사용하는 프로세스를 가장 먼저 처리한다.
3CPU 실행시간이 가장 짧은 프로세스를 가장 먼저 실행하면서 순서대로 처리한다.
4준비상태에 있는 모든 프로세스에게 CPU 실행시간을 골고루 돌아가면서 나누어 주며 실행한다.
정답 및 해설

Round Robin은 준비 상태의 모든 프로세스에 CPU 시간을 돌아가면서 나누어 주는 기법이다.

각 프로세스는 정해진 시간 할당량만큼 실행하고, 끝나지 않으면 준비 큐의 맨 뒤로 돌아가 다음 차례를 기다린다.

  • 가장 먼저 들어온 프로세스 우선: FCFS(선입선출) 기법의 설명이다.
  • 자원을 가장 적게 쓰는 프로세스 우선: 순서대로 시간을 나누어 주는 방식이 아니므로 Round Robin이 아니다.
  • CPU 실행시간이 가장 짧은 프로세스 우선: SJF 기법의 설명이다.
문제 14
분산 데이터베이스 시스템에서 교착상태 예방(deadlock prevention)을 위하여 wound-wait 기법을 사용한다고 가정할 때, 이 시스템에 트랜잭션 T1과 T2가 존재하고, T1의 우선순위(priority)가 T2보다 높은 경우 T2가 할당받은 자원을 T1이 요청한다면 어떤 결과가 발생하는가?
1T1은 T2가 해당 자원을 반납할 때까지 대기 상태에서 기다린다.
2T2가 할당받고 있는 자원을 선점(preemption)하여 T1에게 할당한다.
3T1의 실행을 취소(abort)하고 이후 재실행(restart)하도록 한다.
4T1으로 하여금 busy-waiting 하면서 해당 자원의 점유를 시도하게 한다.
정답 및 해설

T1은 T2가 할당받은 자원을 선점하여 할당받는다.

wound-wait 기법에서 우선순위가 높은 트랜잭션이 낮은 쪽의 자원을 요청하면 낮은 쪽을 철회(wound)시키고 자원을 빼앗는다. 반대로 우선순위가 낮은 쪽이 요청하면 대기한다.

  • T1의 대기: 우선순위가 낮은 트랜잭션이 요청했을 때의 동작이다.
  • T1의 취소와 재실행: 우선순위가 높은 T1이 아니라 T2가 철회되는 대상이다.
  • T1의 busy-waiting: wound-wait 기법의 동작이 아니다.
문제 15
페이징(paging) 기법을 사용하는 가상 메모리(virtual memory) 시스템에 관한 다음 설명 중 가장 옳지 않은 것은?
1페이지 프레임(page frame) 크기는 페이지(page) 크기와 같다.
2가상 주소(virtual address)를 실 주소(real address)로 변환하는 과정의 성능 개선을 위해 TLB(Translation Lookaside Buffer)를 사용할 수 있다.
3페이지 폴트(page fault)는 문맥 교환(context switching)을 유발시킨다.
4역전 페이지 테이블(inverted page table)을 사용할 경우 주소 변환 시간 측면에서 성능을 개선시킬 수 있다.
정답 및 해설

옳지 않은 설명은 역전 페이지 테이블이 주소 변환 시간을 개선한다는 것이다.

역전 페이지 테이블은 물리 프레임마다 항목을 하나씩 두어 테이블이 차지하는 메모리를 줄이는 기법이다. 대신 원하는 페이지를 찾기 위해 테이블을 탐색해야 하므로 변환 시간 면에서는 불리하다.

  • 프레임과 페이지의 크기: 페이지를 프레임에 그대로 적재하므로 두 크기는 같다.
  • TLB의 사용: 최근 변환 결과를 캐시해 주소 변환을 빠르게 하므로 옳다.
  • 페이지 폴트와 문맥 교환: 디스크 입출력을 기다리는 동안 다른 프로세스로 전환되므로 옳다.
문제 16
다음 설명 중 가장 옳지 않은 것은?
1커널의 역할 중 프로세스 관리는 프로세스에 CPU를 배분하고, 프로세스가 잘 수행하도록 작업공간을 배치하며, 실제 메모리보다 큰 가상공간을 제공한다.
2커널은 단일형 구조 커널, 계층형 구조 커널, 마이크로 구조 커널로 구분할 수 있다.
3운영체제는 커널과 인터페이스로 구성되어 있는데, 인터페이스는 사용자와 응용 프로그램에 인접하여 실행 결과를 사용자와 응용 프로그램에 돌려준다.
4단일형 구조 커널은 초창기 운영체제의 구조로 모듈이 거의 분리되지 않았기 때문에 모듈간의 통신비용이 줄어 효율적인 운영이 가능하다.
정답 및 해설

옳지 않은 설명은 작업공간 배치와 가상공간 제공까지 프로세스 관리로 묶은 것이다.

프로세스 관리는 프로세스에 CPU를 배분하는 역할이고, 작업공간을 배치하고 실제 메모리보다 큰 가상공간을 제공하는 것은 메모리 관리의 역할이다.

  • 커널 구조의 구분: 단일형, 계층형, 마이크로 구조로 나눌 수 있으므로 옳다.
  • 운영체제의 구성: 커널과 인터페이스로 이루어지며 인터페이스가 사용자·응용 프로그램과 맞닿으므로 옳다.
  • 단일형 구조 커널: 모듈이 거의 분리되지 않아 모듈 간 통신비용이 적으므로 옳다.
문제 17
NoSQL은 어떤 데이터 모델로 데이터를 저장하는지에 따라 분류가 가능하다. 다음 설명 중 가장 옳지 않은 것은?
1컬럼 기반 데이터베이스는 컬럼 패밀리와 키의 쌍으로 데이터를 저장하는 형태를 의미한다.
2그래프 기반 데이터베이스는 연관 데이터를 추천해 주거나 소셜 네트워크에서 친구 찾기 질의를 효율적으로 수행하는데 적합한 데이터베이스이다.
3문서 기반 데이터베이스는 컬럼 기반 데이터 모델을 확장한 형태로 JSON, XML 등과 같은 반정형 데이터를 저장한다.
4키-값 데이터베이스는 키와 값의 쌍으로 데이터를 저장하는 구조를 갖는다.
정답 및 해설

옳지 않은 설명은 문서 기반 데이터베이스를 컬럼 기반 모델의 확장이라고 한 것이다.

문서 기반 데이터베이스는 키-값 모델을 확장한 형태로, 값 부분에 JSON·XML 같은 반정형 문서를 저장한다.

  • 컬럼 기반 데이터베이스: 키와 컬럼 패밀리의 쌍으로 데이터를 저장하므로 옳다.
  • 그래프 기반 데이터베이스: 노드와 간선으로 관계를 표현해 추천이나 친구 찾기 질의에 적합하다.
  • 키-값 데이터베이스: 키와 값의 쌍으로 저장하는 가장 단순한 구조이므로 옳다.
문제 18
소프트웨어 아키텍처는 개발할 소프트웨어 구조, 주요 구성요소, 구성 요소간의 관계 및 상호작용을 결정하는 것을 의미한다. 아키텍처 스타일은 기능 분할과 배치 방법 그리고 제어 관계로 구분할 수 있다. 다음 중 기능 분할과 배치 방법에 해당하지 않는 것은?
1데이터 흐름 스타일
2MVC 스타일
3클라이언트-서버 스타일
4계층 스타일
정답 및 해설

기능 분할과 배치 방법에 해당하지 않는 것은 데이터 흐름 스타일이다.

데이터 흐름 스타일은 데이터가 처리 단계를 거쳐 전달되는 방식을 다루므로, 구성요소를 어떻게 나누어 놓느냐보다 제어 관계 쪽에 속한다.

  • MVC 스타일: 모델, 뷰, 컨트롤러로 기능을 나누어 배치하는 방식이다.
  • 클라이언트-서버 스타일: 서비스를 요청하는 쪽과 제공하는 쪽으로 기능을 나누어 배치한다.
  • 계층 스타일: 기능을 수준별 계층으로 나누어 배치하는 방식이다.
문제 19
다음 중 다중 사용자 환경에서 CPU 시간을 일정 간격으로 균등하게 분할한 타임 슬라이스를 각 사용자에게 순차적으로 할당함으로써 마치 각자가 독점적으로 시스템을 사용하는 것처럼 느끼게 하는 운영체제 기법은?
1오버레이(overlay)
2시분할 시스템
3분산 처리 시스템
4실시간 처리 시스템
정답 및 해설

설명에 해당하는 기법은 시분할 시스템이다.

시분할 시스템은 CPU 시간을 타임 슬라이스로 나누어 사용자에게 번갈아 할당한다. 전환이 빠르기 때문에 사용자는 시스템을 혼자 쓰는 것처럼 느낀다.

  • 오버레이: 프로그램을 나누어 필요한 부분만 메모리에 교대로 올리는 메모리 관리 기법이다.
  • 분산 처리 시스템: 여러 컴퓨터가 네트워크로 연결되어 작업을 나누어 처리하는 방식이다.
  • 실시간 처리 시스템: 정해진 시간 안에 응답하는 것을 목표로 데이터를 즉시 처리하는 방식이다.
문제 20
관계 데이터 모델의 제약조건에 관한 다음 설명 중 가장 옳지 않은 것은?
1기본키는 널(null) 값을 가질 수 있다.
2데이터베이스의 상태가 변할 때 항상 무결성은 지켜져야 한다.
3데이터베이스의 일관성이 손상되지 않도록 보장해 주는 수단이다.
4외래키는 참조할 수 없는 값을 가질 수 없다는 규칙은 참조 무결성 제약조건이다.
정답 및 해설

옳지 않은 설명은 기본키가 널 값을 가질 수 있다는 것이다.

개체 무결성 제약조건에 따라 기본키를 구성하는 속성은 널 값을 가질 수 없다. 널을 허용하면 튜플을 유일하게 식별할 수 없기 때문이다.

  • 상태 변화와 무결성: 데이터베이스 상태가 바뀌어도 무결성은 항상 지켜져야 하므로 옳다.
  • 제약조건의 목적: 데이터베이스의 일관성이 손상되지 않도록 보장하는 수단이므로 옳다.
  • 참조 무결성: 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙이므로 옳다.
문제 21
소프트웨어 개발 모델 중 폭포수(Waterfall) 모델과 애자일(Agile) 모델에 관한 다음 설명 중 가장 옳지 않은 것은?
1폭포수 모델은 상위 단계로 쉽게 회귀하며, 변경에 유연하다.
2폭포수 모델은 전체 기능을 사전에 확정하고, 각 단계를 순차적으로 진행한다.
3애자일 모델은 짧은 개발 주기를 통해 빠르게 피드백을 받는다.
4애자일 모델은 변화하는 요구사항을 수용하며, 반복적이고 점진적으로 개발한다.
정답 및 해설

옳지 않은 설명은 폭포수 모델이 변경에 유연하다는 것이다.

폭포수 모델은 단계를 순차적으로 진행하고 앞 단계로 되돌아가기 어려워 요구사항 변경에 취약하다. 유연한 대응은 애자일 모델의 특징이다.

  • 폭포수 모델의 진행 방식: 전체 기능을 먼저 확정하고 단계별로 진행하므로 옳다.
  • 애자일 모델의 개발 주기: 짧은 주기로 만들어 빠르게 피드백을 받으므로 옳다.
  • 애자일 모델의 요구사항 수용: 변화를 받아들이며 반복적·점진적으로 개발하므로 옳다.
문제 22
다음 설명 중 가장 옳지 않은 것은?
1OSI 7의 5계층은 세션 계층으로 응용사이의 연결을 설정․관리․해제하는 통신제어 구조를 제공한다.
2OSI 7의 1계층은 데이터가 전송되는 동안 연결을 유지하거나 해체하는 기계적, 전기적, 기능적, 절차적 특성을 정의한다.
3OSI 7의 3계층은 단말기 사이에 오류수정과 흐름제어를 수행하여 신뢰성 있고 명확한 데이터를 전송하는 계층이다.
4OSI 7 계층은 상위계층과 하위계층으로 구분할 수 있다.
정답 및 해설

옳지 않은 설명은 단말기 간 오류수정과 흐름제어를 3계층의 역할로 쓴 것이다.

단말기 사이의 신뢰성 있는 데이터 전송은 4계층인 전송 계층의 역할이다. 3계층인 네트워크 계층은 경로 설정과 패킷 전달을 맡는다.

  • 5계층 세션 계층: 응용 사이의 연결을 설정·관리·해제하므로 옳다.
  • 1계층 물리 계층: 연결의 기계적·전기적·기능적·절차적 특성을 정의하므로 옳다.
  • 상위와 하위 계층의 구분: 응용에 가까운 쪽과 전송 매체에 가까운 쪽으로 나눌 수 있으므로 옳다.
문제 23
다음 중 하나의 컴퓨터 시스템 하드웨어를 추상화하여 여러 개의 실행 환경(execution environment)이 존재하는 것으로 보이게 하고, 각 실행 환경이 마치 하나의 컴퓨터 시스템인 것으로 보이게 하는 기술에 해당하는 것은?
1병렬처리(parallel processing) 기술
2가상화(virtualization) 기술
3클라우드 컴퓨팅(cloud computing) 기술
4분산 컴퓨팅(distributed computing) 기술
정답 및 해설

설명에 해당하는 기술은 가상화이다.

가상화는 하나의 물리적 하드웨어를 추상화해 여러 개의 독립된 실행 환경을 만들고, 각 환경이 별도의 컴퓨터처럼 보이게 하는 기술이다.

  • 병렬처리 기술: 여러 처리 장치가 작업을 동시에 수행해 속도를 높이는 기술이다.
  • 클라우드 컴퓨팅 기술: 컴퓨팅 자원을 네트워크를 통해 서비스 형태로 제공하는 방식이다.
  • 분산 컴퓨팅 기술: 여러 컴퓨터가 네트워크로 연결되어 하나의 작업을 나누어 처리하는 기술이다.
문제 24
다음 C프로그램의 MAX 값으로 옳은 것은?
#include <stdio.h>
int find_Max(int *a, int len)
{
int maxval = 0;
for(int i = 0; i < len; i = i + 2)
{
if (maxval < a[i])
maxval = a[i];
}
return maxval;
}
void main()
{
int arr[10] = {2, 88, 3, 23, 30, 17, 43, 77, 26, 65};
int max = find_Max(arr, 10);
printf(“MAX = %d \n”, max);
}
188
230
343
477
정답 및 해설

함수가 돌려주는 MAX 값은 43이다.

반복문이 i = i + 2로 증가하므로 짝수 인덱스 원소만 비교한다.
a[0] = 2 → maxval = 2
a[2] = 3 → maxval = 3
a[4] = 30 → maxval = 30
a[6] = 43 → maxval = 43
a[8] = 26 → 변경 없음

  • 88: a[1]의 값으로, 홀수 인덱스라 비교 대상이 아니다.
  • 30: 중간에 maxval이 되지만 a[6]의 43으로 갱신된다.
  • 77: a[7]의 값으로, 홀수 인덱스라 비교 대상이 아니다.
문제 25
관계형 데이터베이스에서의 키(key)에 관한 다음 설명 중 가장 옳지 않은 것은?
1기본키는 한 릴레이션에 1개만 정의된다.
2후보키는 유일성과 최소성을 만족하는 키이다.
3다른 릴레이션의 기본키를 속성으로 갖는 키를 후보키라고 한다.
4후보키 중에서 각 개체를 구별하기 위해 대표로 지정된 키를 기본키라고 한다.
정답 및 해설

옳지 않은 설명은 다른 릴레이션의 기본키를 속성으로 갖는 키를 후보키라고 한 것이다.

다른 릴레이션의 기본키를 참조하는 속성은 외래키이다.

  • 기본키의 개수: 한 릴레이션에 하나만 정의되므로 옳다.
  • 후보키의 조건: 유일성과 최소성을 모두 만족하는 키이므로 옳다.
  • 기본키의 정의: 후보키 중에서 대표로 지정한 키이므로 옳다.
법원직 9급 전산·사서 컴퓨터일반 기출문제모두CBT · moducbt.com
25년 1회차
총 25문항 · 객관식 · 정답·해설 포함
문제 1
분산 데이터베이스 시스템의 분산 데이터 독립성을 지원하기 위해서는 분산 투명성을 보장해야 한다. 분산 투명성에 관한 다음 설명 중 가장 옳지 않은 것은?
1위치 투명성은 데이터의 실제 저장위치를 알 필요 없이 데이터베이스의 논리적인 이름만으로 데이터에 접근할 수 있다는 것을 의미한다.
2중복 투명성은 동일한 데이터가 여러 지역에 저장되었더라도 하나의 데이터베이스 시스템에 데이터가 저장된 것처럼 사용하는 것을 의미한다.
3단편화 투명성에는 수직적 단편화, 수평적 단편화, 혼합 단편화가 있다.
4장애 투명성은 장애가 발생하지 않도록 조치하여 데이터베이스가 운영되는 것을 의미한다.
정답 및 해설

옳지 않은 설명은 장애 투명성을 장애 예방으로 풀이한 것이다.

장애 투명성은 장애가 발생하지 않게 막는 것이 아니라, 장애가 발생하더라도 사용자가 이를 의식하지 않고 쓸 수 있도록 트랜잭션의 원자성과 데이터 무결성을 유지하는 성질이다.

  • 위치 투명성: 저장 위치를 몰라도 논리적인 이름만으로 접근할 수 있으므로 옳다.
  • 중복 투명성: 여러 지역에 복제되어 있어도 하나의 데이터처럼 사용할 수 있으므로 옳다.
  • 단편화 투명성: 데이터의 분할 방식에는 수직적·수평적·혼합 단편화가 있으므로 옳다.
문제 2
두 개의 프로세스 P1, P2가 time 0에 준비 큐(ready queue)에 P1, P2의 순서로(즉, P1이 먼저, P2가 그 다음에) 도착해 있고(즉, 두 프로세스의 도착 시간이 모두 0임), P1의 CPU 사용 시간이 80, P2의 CPU 사용 시간이 20 이라 가정할 때, 시간 할당량(time quantum) 12인 RR(Round-Robin) 스케줄링 기법을 사용했을 경우 두 프로세스 모두 CPU 사용을 마칠 때까지의 평균 대기 시간(mean waiting time)은 얼마인가?
(단, 문맥 교환(context switching) 시간은 0으로 하며, 두 프로세스의 입출력은 없는 것으로 한다)
120
222
324
426
정답 및 해설

두 프로세스의 평균 대기 시간은 22이다.

실행 순서는 P1(0~12) → P2(12~24) → P1(24~36) → P2(36~44, 종료) → P1(44~100, 종료)이다.

대기 시간 = 종료 시각 − 도착 시각 − CPU 사용 시간이다.
P1: 100−0−80=20100 - 0 - 80 = 20
P2: 44−0−20=2444 - 0 - 20 = 24
평균: 20+242=22\dfrac{20 + 24}{2} = 22

  • 20: P1 한 프로세스의 대기 시간일 뿐 평균이 아니다.
  • 24: P2 한 프로세스의 대기 시간일 뿐 평균이 아니다.
  • 26: 대기 시간의 합이 52여야 나오는 값인데 실제 합은 44이다.
문제 3
다음과 같은 7개의 원소를 갖는 리스트에서 이진탐색과 순차탐색을 수행하려고 한다. 다음 설명 중 가장 옳은 것은?
리스트 : {10, 11, 15, 23, 30, 58, 70}
1평균적으로 시간복잡도는 순차탐색이 이진탐색보다 더 작다.
210을 검색할 때, 비교 횟수는 이진탐색은 2번, 순차탐색은 1번 비교한다.
3정렬이 안 된 리스트에서 순차탐색은 사용 가능하지만, 이진탐색은 사용할 수 없다.
4정렬이 된 리스트에서 임의의 값을 검색할 때 순차탐색의 평균 시간복잡도는 O(1)이다.
정답 및 해설

옳은 설명은 정렬이 안 된 리스트에서는 순차탐색만 사용할 수 있다는 것이다.

이진탐색은 중앙값과 비교해 탐색 범위를 절반으로 줄이므로 데이터가 정렬되어 있어야 동작한다. 순차탐색은 앞에서부터 하나씩 비교하므로 정렬 여부와 상관없이 쓸 수 있다.

  • 평균 시간복잡도 비교: 순차탐색은 O(n)O(n), 이진탐색은 O(log⁡n)O(\log n)이므로 이진탐색이 더 작다.
  • 10을 검색할 때의 비교 횟수: 이진탐색은 23, 11, 10 순으로 세 번 비교하고, 순차탐색은 첫 원소에서 한 번에 찾는다.
  • 정렬된 리스트에서 순차탐색의 평균 시간복잡도: 정렬되어 있어도 차례로 비교하므로 O(1)O(1)이 아니라 O(n)O(n)이다.
문제 4
다음 중 TCP/IP 프로토콜의 인터넷 계층에서 수행하는 프로토콜에 해당하지 않는 것은?
1ICMP
2ARP
3FDDI
4IP
정답 및 해설

인터넷 계층 프로토콜이 아닌 것은 FDDI이다.

FDDI는 광섬유를 이용하는 근거리 통신망 기술로, TCP/IP 모델에서 네트워크 접속 계층(OSI의 물리·데이터 링크 계층)에 해당한다.

  • ICMP: IP 통신의 오류와 제어 메시지를 전달하는 인터넷 계층 프로토콜이다.
  • ARP: IP 주소에 대응하는 물리 주소를 찾는 프로토콜로, 인터넷 계층으로 분류된다.
  • IP: 패킷의 주소 지정과 경로 전달을 맡는 인터넷 계층의 핵심 프로토콜이다.
문제 5
다음 논리회로의 논리식 Y는?
1Y = A+B
2Y = A·B
3Y = A'+B'
4Y = A'·B'
정답 및 해설

이 회로의 논리식은 Y = A·B로, 전체가 AND 게이트와 같은 동작을 한다.

입력 A, B는 각각 NOT 게이트를 거쳐 OR 게이트로 들어가고, OR 출력이 다시 NOT 게이트에서 반전된다. 여기에 드모르간 법칙을 적용하면 식이 정리된다.
Y=A‾+B‾‾=A‾‾⋅B‾‾=A⋅BY = \overline{\overline{A}+\overline{B}} = \overline{\overline{A}}\cdot\overline{\overline{B}} = A\cdot B

  • Y = A+B는 A=1, B=0에서 1이 되지만, 실제 회로는 NOT 출력 0과 1의 OR인 1이 마지막에 반전되어 0을 낸다.
  • Y = A'+B'는 마지막 NOT 게이트를 지나기 전, OR 게이트의 출력에 해당한다.
  • Y = A'·B'는 A=B=0에서 1이 되지만, 실제 회로는 OR 출력 1이 반전되어 0을 낸다.
문제 6
다음 C 프로그램의 결과로 옳은 것은?
#include <stdio.h>
void sub(int x, int *y);
int main(void)
{
int a = 1, b = 5;
sub(a, &b);
printf(“%d, %d\n”, a, b);
}
void sub(int x, int *y)
{
x = x + 2;
*y = *y + x;
}
11, 5
21, 8
33, 5
43, 8
정답 및 해설

프로그램의 출력은 1, 8이다.

x는 값으로 전달되어 a의 복사본이고, y는 b의 주소를 받는 포인터이다.
sub 호출 시: x = 1, y는 b를 가리킴
x = x + 2 실행: x = 3 (a는 1 그대로)
*y = *y + x 실행: b = 5 + 3 = 8

  • 1, 5: 포인터를 통해 바뀐 b의 값을 반영하지 않은 결과이다.
  • 3, 5: a와 b의 변화를 모두 반대로 판단한 결과이다.
  • 3, 8: 값 전달인 x의 변경이 a에 반영된다고 본 결과이다.
문제 7
어느 시스템에 하나의 자원형(resource type)만이 존재하고 이에 5개의 단위자원(resource units)이 있으며, 이 시스템에 p개의 프로세스가 존재한다고 가정할 때, 각 프로세스들이 어느 순간에도 최대 2개까지의 단위자원만을 필요로 한다면 이 시스템에서 교착상태의 발생을 근본적으로 없애기 위한 필요충분조건은?
1p ≤ 2
2p ≤ 3
3p ≤ 4
4p ≤ 5
정답 및 해설

교착상태를 없애는 필요충분조건은 p ≤ 4이다.

최악의 경우는 모든 프로세스가 1개씩 점유한 채 1개를 더 기다리는 상태이다. 이때 자원이 1개라도 남아 있으면 어느 한 프로세스가 2개를 채워 끝내고 자원을 반납하므로 교착상태가 생기지 않는다.

조건식: p(2−1)+1≤5p(2 - 1) + 1 \le 5
정리하면 p≤4p \le 4

  • p ≤ 5: 프로세스가 5개이면 각각 1개씩 점유해 남는 자원이 없으므로 교착상태가 발생할 수 있다.
  • p ≤ 3: 프로세스가 4개일 때도 안전하므로 필요조건이 되지 못한다.
  • p ≤ 2: 마찬가지로 프로세스가 3개나 4개일 때도 안전하므로 필요조건이 되지 못한다.
문제 8
현재 A, B, C 프로그램을 실행 중이며, 이 세 개의 프로그램으로 주메모리가 꽉 차 있는 상태이다. 이 상태에서 새로운 프로그램 D를 실행하려고 시도할 때, 다음 설명 중 가장 옳은 것은?
1메모리 부족으로 인해 프로그램 D는 실행이 거부된다.
2프로그램 D는 주메모리가 확보될 때까지 대기 상태로 유지된다.
3운영체제는 가상메모리를 사용하여 부족한 주메모리를 보완하고 D를 실행한다.
4운영체제는 실행 중인 프로그램 중 가장 오래 전에 사용된 하나를 강제로 종료시킨 후 D를 실행한다.
정답 및 해설

운영체제는 가상메모리를 사용해 부족한 주메모리를 보완하고 D를 실행한다.

가상메모리는 보조기억장치의 일부를 주메모리처럼 활용하는 기법이다. 당장 쓰지 않는 페이지를 스왑 영역으로 내보내고 그 자리에 D에 필요한 페이지를 올린다.

  • 실행 거부: 주메모리가 차 있어도 가상메모리로 실행할 수 있으므로 거부되지 않는다.
  • 주메모리 확보까지 대기: 필요한 페이지를 교체해 바로 올릴 수 있으므로 기다릴 필요가 없다.
  • 오래된 프로그램 강제 종료: 프로그램을 종료하지 않고 일부 페이지만 내보내면 된다.
문제 9
HTTPS가 HTTP보다 안전한 이유에 대한 설명으로 가장 옳은 것은?
1포트 번호가 다르기 때문이다.
2텍스트 파일로 작동하기 때문이다.
3서버의 응답 속도가 더 빠르기 때문이다.
4인증서를 사용하여 암호화된 통신을 제공하기 때문이다.
정답 및 해설

HTTPS가 더 안전한 이유는 인증서를 사용한 암호화 통신을 제공하기 때문이다.

HTTPS는 HTTP를 TLS 위에서 동작시켜 인증서로 서버의 신원을 확인하고, 주고받는 데이터를 암호화해 도청과 위변조를 막는다.

  • 포트 번호의 차이: HTTPS가 다른 기본 포트를 쓰는 것은 사실이지만 포트 자체가 안전성을 주지는 않는다.
  • 텍스트 파일로 작동: 안전성과 관계없는 설명이다.
  • 빠른 응답 속도: 암호화 협상 과정이 더해지므로 HTTP보다 빠르다고 볼 근거가 없다.
문제 10
다음 중 클래스 설계 원칙에 해당하지 않는 것은?
1의존성 역전의 원칙
2인터페이스 통합의 원칙
3개방 폐쇄의 원칙
4리스코프 교체의 원칙
정답 및 해설

클래스 설계 원칙에 해당하지 않는 것은 인터페이스 통합의 원칙이다.

객체지향 설계 원칙(SOLID)의 해당 항목은 인터페이스 분리 원칙으로, 클라이언트가 쓰지 않는 메서드에 의존하지 않도록 큰 인터페이스를 작게 나누라는 뜻이다. 통합은 이와 반대되는 방향이다.

  • 의존성 역전의 원칙: 구체 클래스가 아니라 추상화에 의존하라는 원칙이다.
  • 개방 폐쇄의 원칙: 확장에는 열려 있고 수정에는 닫혀 있어야 한다는 원칙이다.
  • 리스코프 교체의 원칙: 하위 타입은 상위 타입을 대체할 수 있어야 한다는 원칙으로, 리스코프 치환 원칙이라고도 한다.
문제 11
인터럽트(interrupt)에 관한 다음 설명 중 가장 옳지 않은 것은?
1인터럽트가 발생함으로 인하여 문맥 교환(context switching)이 이루어질 수 있다.
2인터럽트가 발생하더라도 CPU에서 실행 중이던 기계어 명령은 끝까지 실행된다.
3인터럽트 핸들러(interrupt handler)의 실행은 커널 모드(kernel mode)에서 진행된다.
4인터럽트 처리가 종료되면 항상 인터럽트 발생 당시 실행 중이던 프로세스가 다시 실행된다.
정답 및 해설

옳지 않은 설명은 인터럽트 처리 후 항상 이전 프로세스가 다시 실행된다는 것이다.

인터럽트 처리가 끝나면 스케줄러가 다음에 실행할 프로세스를 다시 정할 수 있다. 예를 들어 타이머 인터럽트로 시간 할당량이 끝났다면 다른 프로세스가 실행될 수 있다.

  • 문맥 교환의 발생: 인터럽트를 계기로 다른 프로세스로 전환될 수 있으므로 옳다.
  • 실행 중인 기계어 명령의 완료: 외부 인터럽트는 보통 명령 실행이 끝난 뒤 확인하므로 옳다.
  • 핸들러의 실행 모드: 인터럽트 핸들러는 운영체제 코드이므로 커널 모드에서 실행된다.
문제 12
인터넷의 주소 체계에 관한 다음 설명 중 가장 옳지 않은 것은?
1DNS(Domain Name System)는 계층적 이름 체계를 기반으로 IP 주소를 관리한다.
2DNS(Domain Name System)는 IP 주소를 문자로 된 도메인 네임으로 변환하는 역할을 한다.
3IPv4 주소는 32비트 주소 체계로, 네트워크 부분과 호스트 부분의 길이에 따라 A∼E 클래스 구조를 갖는다.
4IPv6 주소는 IPv4의 주소 부족 문제를 해결하기 위해 개발되었으며, 콜론(:)으로 구분된 128비트 주소 체계를 사용한다.
정답 및 해설

옳지 않은 설명은 DNS의 변환 방향을 IP 주소 → 도메인 네임으로 쓴 것이다.

DNS의 기본 역할은 사람이 읽기 쉬운 도메인 네임을 IP 주소로 변환하는 것이다. IP 주소로 이름을 찾는 역방향 조회는 부가 기능이다.

  • DNS의 계층적 이름 체계: 루트, 최상위, 하위 도메인으로 이어지는 계층 구조이므로 옳다.
  • IPv4 주소 체계: 32비트 주소이며 네트워크와 호스트 부분에 따라 A~E 클래스로 나뉘므로 옳다.
  • IPv6 주소 체계: 주소 부족을 해결하기 위한 128비트 체계이며 콜론으로 구분하므로 옳다.
문제 13
다음 프로세스 스케줄링 기법 중 순환 순서 기법(Round Robin)의 설명에 해당하는 것은?
1가장 먼저 들어온 프로세스를 가장 먼저 처리한다.
2자원을 가장 적게 사용하는 프로세스를 가장 먼저 처리한다.
3CPU 실행시간이 가장 짧은 프로세스를 가장 먼저 실행하면서 순서대로 처리한다.
4준비상태에 있는 모든 프로세스에게 CPU 실행시간을 골고루 돌아가면서 나누어 주며 실행한다.
정답 및 해설

Round Robin은 준비 상태의 모든 프로세스에 CPU 시간을 돌아가면서 나누어 주는 기법이다.

각 프로세스는 정해진 시간 할당량만큼 실행하고, 끝나지 않으면 준비 큐의 맨 뒤로 돌아가 다음 차례를 기다린다.

  • 가장 먼저 들어온 프로세스 우선: FCFS(선입선출) 기법의 설명이다.
  • 자원을 가장 적게 쓰는 프로세스 우선: 순서대로 시간을 나누어 주는 방식이 아니므로 Round Robin이 아니다.
  • CPU 실행시간이 가장 짧은 프로세스 우선: SJF 기법의 설명이다.
문제 14
분산 데이터베이스 시스템에서 교착상태 예방(deadlock prevention)을 위하여 wound-wait 기법을 사용한다고 가정할 때, 이 시스템에 트랜잭션 T1과 T2가 존재하고, T1의 우선순위(priority)가 T2보다 높은 경우 T2가 할당받은 자원을 T1이 요청한다면 어떤 결과가 발생하는가?
1T1은 T2가 해당 자원을 반납할 때까지 대기 상태에서 기다린다.
2T2가 할당받고 있는 자원을 선점(preemption)하여 T1에게 할당한다.
3T1의 실행을 취소(abort)하고 이후 재실행(restart)하도록 한다.
4T1으로 하여금 busy-waiting 하면서 해당 자원의 점유를 시도하게 한다.
정답 및 해설

T1은 T2가 할당받은 자원을 선점하여 할당받는다.

wound-wait 기법에서 우선순위가 높은 트랜잭션이 낮은 쪽의 자원을 요청하면 낮은 쪽을 철회(wound)시키고 자원을 빼앗는다. 반대로 우선순위가 낮은 쪽이 요청하면 대기한다.

  • T1의 대기: 우선순위가 낮은 트랜잭션이 요청했을 때의 동작이다.
  • T1의 취소와 재실행: 우선순위가 높은 T1이 아니라 T2가 철회되는 대상이다.
  • T1의 busy-waiting: wound-wait 기법의 동작이 아니다.
문제 15
페이징(paging) 기법을 사용하는 가상 메모리(virtual memory) 시스템에 관한 다음 설명 중 가장 옳지 않은 것은?
1페이지 프레임(page frame) 크기는 페이지(page) 크기와 같다.
2가상 주소(virtual address)를 실 주소(real address)로 변환하는 과정의 성능 개선을 위해 TLB(Translation Lookaside Buffer)를 사용할 수 있다.
3페이지 폴트(page fault)는 문맥 교환(context switching)을 유발시킨다.
4역전 페이지 테이블(inverted page table)을 사용할 경우 주소 변환 시간 측면에서 성능을 개선시킬 수 있다.
정답 및 해설

옳지 않은 설명은 역전 페이지 테이블이 주소 변환 시간을 개선한다는 것이다.

역전 페이지 테이블은 물리 프레임마다 항목을 하나씩 두어 테이블이 차지하는 메모리를 줄이는 기법이다. 대신 원하는 페이지를 찾기 위해 테이블을 탐색해야 하므로 변환 시간 면에서는 불리하다.

  • 프레임과 페이지의 크기: 페이지를 프레임에 그대로 적재하므로 두 크기는 같다.
  • TLB의 사용: 최근 변환 결과를 캐시해 주소 변환을 빠르게 하므로 옳다.
  • 페이지 폴트와 문맥 교환: 디스크 입출력을 기다리는 동안 다른 프로세스로 전환되므로 옳다.
문제 16
다음 설명 중 가장 옳지 않은 것은?
1커널의 역할 중 프로세스 관리는 프로세스에 CPU를 배분하고, 프로세스가 잘 수행하도록 작업공간을 배치하며, 실제 메모리보다 큰 가상공간을 제공한다.
2커널은 단일형 구조 커널, 계층형 구조 커널, 마이크로 구조 커널로 구분할 수 있다.
3운영체제는 커널과 인터페이스로 구성되어 있는데, 인터페이스는 사용자와 응용 프로그램에 인접하여 실행 결과를 사용자와 응용 프로그램에 돌려준다.
4단일형 구조 커널은 초창기 운영체제의 구조로 모듈이 거의 분리되지 않았기 때문에 모듈간의 통신비용이 줄어 효율적인 운영이 가능하다.
정답 및 해설

옳지 않은 설명은 작업공간 배치와 가상공간 제공까지 프로세스 관리로 묶은 것이다.

프로세스 관리는 프로세스에 CPU를 배분하는 역할이고, 작업공간을 배치하고 실제 메모리보다 큰 가상공간을 제공하는 것은 메모리 관리의 역할이다.

  • 커널 구조의 구분: 단일형, 계층형, 마이크로 구조로 나눌 수 있으므로 옳다.
  • 운영체제의 구성: 커널과 인터페이스로 이루어지며 인터페이스가 사용자·응용 프로그램과 맞닿으므로 옳다.
  • 단일형 구조 커널: 모듈이 거의 분리되지 않아 모듈 간 통신비용이 적으므로 옳다.
문제 17
NoSQL은 어떤 데이터 모델로 데이터를 저장하는지에 따라 분류가 가능하다. 다음 설명 중 가장 옳지 않은 것은?
1컬럼 기반 데이터베이스는 컬럼 패밀리와 키의 쌍으로 데이터를 저장하는 형태를 의미한다.
2그래프 기반 데이터베이스는 연관 데이터를 추천해 주거나 소셜 네트워크에서 친구 찾기 질의를 효율적으로 수행하는데 적합한 데이터베이스이다.
3문서 기반 데이터베이스는 컬럼 기반 데이터 모델을 확장한 형태로 JSON, XML 등과 같은 반정형 데이터를 저장한다.
4키-값 데이터베이스는 키와 값의 쌍으로 데이터를 저장하는 구조를 갖는다.
정답 및 해설

옳지 않은 설명은 문서 기반 데이터베이스를 컬럼 기반 모델의 확장이라고 한 것이다.

문서 기반 데이터베이스는 키-값 모델을 확장한 형태로, 값 부분에 JSON·XML 같은 반정형 문서를 저장한다.

  • 컬럼 기반 데이터베이스: 키와 컬럼 패밀리의 쌍으로 데이터를 저장하므로 옳다.
  • 그래프 기반 데이터베이스: 노드와 간선으로 관계를 표현해 추천이나 친구 찾기 질의에 적합하다.
  • 키-값 데이터베이스: 키와 값의 쌍으로 저장하는 가장 단순한 구조이므로 옳다.
문제 18
소프트웨어 아키텍처는 개발할 소프트웨어 구조, 주요 구성요소, 구성 요소간의 관계 및 상호작용을 결정하는 것을 의미한다. 아키텍처 스타일은 기능 분할과 배치 방법 그리고 제어 관계로 구분할 수 있다. 다음 중 기능 분할과 배치 방법에 해당하지 않는 것은?
1데이터 흐름 스타일
2MVC 스타일
3클라이언트-서버 스타일
4계층 스타일
정답 및 해설

기능 분할과 배치 방법에 해당하지 않는 것은 데이터 흐름 스타일이다.

데이터 흐름 스타일은 데이터가 처리 단계를 거쳐 전달되는 방식을 다루므로, 구성요소를 어떻게 나누어 놓느냐보다 제어 관계 쪽에 속한다.

  • MVC 스타일: 모델, 뷰, 컨트롤러로 기능을 나누어 배치하는 방식이다.
  • 클라이언트-서버 스타일: 서비스를 요청하는 쪽과 제공하는 쪽으로 기능을 나누어 배치한다.
  • 계층 스타일: 기능을 수준별 계층으로 나누어 배치하는 방식이다.
문제 19
다음 중 다중 사용자 환경에서 CPU 시간을 일정 간격으로 균등하게 분할한 타임 슬라이스를 각 사용자에게 순차적으로 할당함으로써 마치 각자가 독점적으로 시스템을 사용하는 것처럼 느끼게 하는 운영체제 기법은?
1오버레이(overlay)
2시분할 시스템
3분산 처리 시스템
4실시간 처리 시스템
정답 및 해설

설명에 해당하는 기법은 시분할 시스템이다.

시분할 시스템은 CPU 시간을 타임 슬라이스로 나누어 사용자에게 번갈아 할당한다. 전환이 빠르기 때문에 사용자는 시스템을 혼자 쓰는 것처럼 느낀다.

  • 오버레이: 프로그램을 나누어 필요한 부분만 메모리에 교대로 올리는 메모리 관리 기법이다.
  • 분산 처리 시스템: 여러 컴퓨터가 네트워크로 연결되어 작업을 나누어 처리하는 방식이다.
  • 실시간 처리 시스템: 정해진 시간 안에 응답하는 것을 목표로 데이터를 즉시 처리하는 방식이다.
문제 20
관계 데이터 모델의 제약조건에 관한 다음 설명 중 가장 옳지 않은 것은?
1기본키는 널(null) 값을 가질 수 있다.
2데이터베이스의 상태가 변할 때 항상 무결성은 지켜져야 한다.
3데이터베이스의 일관성이 손상되지 않도록 보장해 주는 수단이다.
4외래키는 참조할 수 없는 값을 가질 수 없다는 규칙은 참조 무결성 제약조건이다.
정답 및 해설

옳지 않은 설명은 기본키가 널 값을 가질 수 있다는 것이다.

개체 무결성 제약조건에 따라 기본키를 구성하는 속성은 널 값을 가질 수 없다. 널을 허용하면 튜플을 유일하게 식별할 수 없기 때문이다.

  • 상태 변화와 무결성: 데이터베이스 상태가 바뀌어도 무결성은 항상 지켜져야 하므로 옳다.
  • 제약조건의 목적: 데이터베이스의 일관성이 손상되지 않도록 보장하는 수단이므로 옳다.
  • 참조 무결성: 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙이므로 옳다.
문제 21
소프트웨어 개발 모델 중 폭포수(Waterfall) 모델과 애자일(Agile) 모델에 관한 다음 설명 중 가장 옳지 않은 것은?
1폭포수 모델은 상위 단계로 쉽게 회귀하며, 변경에 유연하다.
2폭포수 모델은 전체 기능을 사전에 확정하고, 각 단계를 순차적으로 진행한다.
3애자일 모델은 짧은 개발 주기를 통해 빠르게 피드백을 받는다.
4애자일 모델은 변화하는 요구사항을 수용하며, 반복적이고 점진적으로 개발한다.
정답 및 해설

옳지 않은 설명은 폭포수 모델이 변경에 유연하다는 것이다.

폭포수 모델은 단계를 순차적으로 진행하고 앞 단계로 되돌아가기 어려워 요구사항 변경에 취약하다. 유연한 대응은 애자일 모델의 특징이다.

  • 폭포수 모델의 진행 방식: 전체 기능을 먼저 확정하고 단계별로 진행하므로 옳다.
  • 애자일 모델의 개발 주기: 짧은 주기로 만들어 빠르게 피드백을 받으므로 옳다.
  • 애자일 모델의 요구사항 수용: 변화를 받아들이며 반복적·점진적으로 개발하므로 옳다.
문제 22
다음 설명 중 가장 옳지 않은 것은?
1OSI 7의 5계층은 세션 계층으로 응용사이의 연결을 설정․관리․해제하는 통신제어 구조를 제공한다.
2OSI 7의 1계층은 데이터가 전송되는 동안 연결을 유지하거나 해체하는 기계적, 전기적, 기능적, 절차적 특성을 정의한다.
3OSI 7의 3계층은 단말기 사이에 오류수정과 흐름제어를 수행하여 신뢰성 있고 명확한 데이터를 전송하는 계층이다.
4OSI 7 계층은 상위계층과 하위계층으로 구분할 수 있다.
정답 및 해설

옳지 않은 설명은 단말기 간 오류수정과 흐름제어를 3계층의 역할로 쓴 것이다.

단말기 사이의 신뢰성 있는 데이터 전송은 4계층인 전송 계층의 역할이다. 3계층인 네트워크 계층은 경로 설정과 패킷 전달을 맡는다.

  • 5계층 세션 계층: 응용 사이의 연결을 설정·관리·해제하므로 옳다.
  • 1계층 물리 계층: 연결의 기계적·전기적·기능적·절차적 특성을 정의하므로 옳다.
  • 상위와 하위 계층의 구분: 응용에 가까운 쪽과 전송 매체에 가까운 쪽으로 나눌 수 있으므로 옳다.
문제 23
다음 중 하나의 컴퓨터 시스템 하드웨어를 추상화하여 여러 개의 실행 환경(execution environment)이 존재하는 것으로 보이게 하고, 각 실행 환경이 마치 하나의 컴퓨터 시스템인 것으로 보이게 하는 기술에 해당하는 것은?
1병렬처리(parallel processing) 기술
2가상화(virtualization) 기술
3클라우드 컴퓨팅(cloud computing) 기술
4분산 컴퓨팅(distributed computing) 기술
정답 및 해설

설명에 해당하는 기술은 가상화이다.

가상화는 하나의 물리적 하드웨어를 추상화해 여러 개의 독립된 실행 환경을 만들고, 각 환경이 별도의 컴퓨터처럼 보이게 하는 기술이다.

  • 병렬처리 기술: 여러 처리 장치가 작업을 동시에 수행해 속도를 높이는 기술이다.
  • 클라우드 컴퓨팅 기술: 컴퓨팅 자원을 네트워크를 통해 서비스 형태로 제공하는 방식이다.
  • 분산 컴퓨팅 기술: 여러 컴퓨터가 네트워크로 연결되어 하나의 작업을 나누어 처리하는 기술이다.
문제 24
다음 C프로그램의 MAX 값으로 옳은 것은?
#include <stdio.h>
int find_Max(int *a, int len)
{
int maxval = 0;
for(int i = 0; i < len; i = i + 2)
{
if (maxval < a[i])
maxval = a[i];
}
return maxval;
}
void main()
{
int arr[10] = {2, 88, 3, 23, 30, 17, 43, 77, 26, 65};
int max = find_Max(arr, 10);
printf(“MAX = %d \n”, max);
}
188
230
343
477
정답 및 해설

함수가 돌려주는 MAX 값은 43이다.

반복문이 i = i + 2로 증가하므로 짝수 인덱스 원소만 비교한다.
a[0] = 2 → maxval = 2
a[2] = 3 → maxval = 3
a[4] = 30 → maxval = 30
a[6] = 43 → maxval = 43
a[8] = 26 → 변경 없음

  • 88: a[1]의 값으로, 홀수 인덱스라 비교 대상이 아니다.
  • 30: 중간에 maxval이 되지만 a[6]의 43으로 갱신된다.
  • 77: a[7]의 값으로, 홀수 인덱스라 비교 대상이 아니다.
문제 25
관계형 데이터베이스에서의 키(key)에 관한 다음 설명 중 가장 옳지 않은 것은?
1기본키는 한 릴레이션에 1개만 정의된다.
2후보키는 유일성과 최소성을 만족하는 키이다.
3다른 릴레이션의 기본키를 속성으로 갖는 키를 후보키라고 한다.
4후보키 중에서 각 개체를 구별하기 위해 대표로 지정된 키를 기본키라고 한다.
정답 및 해설

옳지 않은 설명은 다른 릴레이션의 기본키를 속성으로 갖는 키를 후보키라고 한 것이다.

다른 릴레이션의 기본키를 참조하는 속성은 외래키이다.

  • 기본키의 개수: 한 릴레이션에 하나만 정의되므로 옳다.
  • 후보키의 조건: 유일성과 최소성을 모두 만족하는 키이므로 옳다.
  • 기본키의 정의: 후보키 중에서 대표로 지정한 키이므로 옳다.