[계리직 컴퓨터일반] 08년 1회차
계리직 컴퓨터일반 기출문제

08년 1회차

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

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

08년 1회차

총 20문항 · 객관식 · 정답·해설 포함
문제 1
UNIX 명령어 ls -l을 수행했을 때의 결과에 대한 설명으로 알맞지않은 것은?
1peter라는 사용자는 aaash 파일을 수정할 수 있다.
2staff 그룹 사용자는 aaash 파일을 실행할 수 있다.
3aaash 파일은 심볼릭 링크(symbolic link)가 2개 있다.
4다른 사용자도 이 파일의 내용을 볼 수 있다.
문제 2
리눅스 운영체제에 대한 설명으로 알맞지 않은 것은?
1리눅스는 마이크로커널(microkernel) 방식으로 구현되었으며 커널 코드의 임의의 기능들을 동적으로 적재(load)하여 사용할 수 있다.
2리눅스 커널 2.6 버전의 스케줄러는 임의의 프로세스를 선점할 수 있으며 우선순위 기반 알고리즘이다.
3리눅스 운영체제는 윈도우 파일 시스템인 NTFS와 저널링 파일 시스템인 JFFS를 지원한다.
4리눅스는 다중 사용자와 다중 프로세서를 지원하는 다중 작업형 운영체제이다.
정답 및 해설

리눅스는 모놀리식(monolithic) 커널 구조이므로, 마이크로커널 방식으로 구현되었다는 설명이 옳지 않다.

리눅스는 커널 기능 대부분이 하나의 커널 공간에서 동작하며, 대신 적재 가능 커널 모듈(LKM)로 장치 드라이버 등을 실행 중에 동적으로 올리고 내릴 수 있다. 동적 적재 기능이 있다고 해서 마이크로커널이 되는 것은 아니다.

  • 커널 2.6의 스케줄러: 커널 선점을 지원하는 우선순위 기반 스케줄러로 옳은 설명이다.
  • 파일 시스템 지원: NTFS 와 플래시용 저널링 파일 시스템인 JFFS 를 지원하므로 옳다.
  • 다중 사용자·다중 프로세서를 지원하는 다중 작업 운영체제라는 설명은 옳다.
문제 3
다음 중 객체지향 언어의 특징으로 알맞지 않은 것은?
1상속성
2다형성
3구조화
4추상화
정답 및 해설

구조화는 구조적(절차적) 프로그래밍의 특징이며 객체지향 언어의 특징이 아니다.

객체지향의 대표 특징은 캡슐화·상속성·다형성·추상화이다.

  • 상속성: 상위 클래스의 속성과 메서드를 하위 클래스가 물려받아 재사용한다.
  • 다형성: 같은 메시지(메서드 이름)에 객체마다 다르게 반응한다(오버로딩·오버라이딩).
  • 추상화: 문제의 핵심 속성과 동작만 뽑아 클래스로 모델링한다.
문제 4
다음 중 시스템 소프트웨어로 알맞지 않은 것은?
1윈도우 XP
2리눅스
3워드프로세서
4컴파일러
정답 및 해설

워드프로세서는 문서 작성이라는 특정 업무를 위한 응용 소프트웨어이다.

시스템 소프트웨어는 하드웨어를 관리하고 다른 프로그램의 실행·개발 환경을 제공하는 소프트웨어로, 운영체제와 언어 번역 프로그램 등이 해당한다.

  • 윈도우 XP: 운영체제이므로 시스템 소프트웨어이다.
  • 리눅스: 운영체제이므로 시스템 소프트웨어이다.
  • 컴파일러: 원시 프로그램을 목적 프로그램으로 번역하는 언어 번역기로 시스템 소프트웨어이다.
문제 5
운영체제에서 교착상태(deadlock)가 발생할 필요 조건으로 알맞지 않은 것은?
1환형 대기(circular wait) 조건으로 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있다.
2선점(preemption) 조건으로 프로세스가 소유하고 있는 자원은 다른 프로세스에 의해 선점될 수 있다.
3점유하며 대기(hold and wait) 조건으로 프로세스는 할당된 자원을 가진 상태에서 다른 자원을 기다린다.
4상호 배제(mutual exclusion) 조건으로 프로세스들은 필요로 하는 자원에 대해 배타적인 통제권을 갖는다.
정답 및 해설

교착상태의 필요 조건은 비선점(no preemption)이므로, 자원이 다른 프로세스에 의해 선점될 수 있다는 선점 조건은 옳지 않다.

교착상태는 상호 배제·점유와 대기·비선점·환형 대기 네 조건이 동시에 성립할 때 발생할 수 있다. 자원을 강제로 빼앗을 수 있다면 오히려 교착상태가 풀린다.

  • 환형 대기: 프로세스들이 원형으로 서로가 가진 자원을 기다리는 조건으로 옳다.
  • 점유하며 대기: 자원을 가진 채 다른 자원을 기다리는 조건으로 옳다.
  • 상호 배제: 자원을 한 번에 한 프로세스만 배타적으로 사용하는 조건으로 옳다.
문제 6
자신을 타인이나 다른 시스템에게 속이는 행위를 의미하며 침입하고자 하는 호스트의 IP 주소를 바꾸어서 해킹하는 기법을 가리키는 것은?
1Spoofing
2Sniffing
3Phishing
4DoS 공격
정답 및 해설

자신을 다른 주체로 속이고 IP 주소 등을 위조해 침입하는 기법은 스푸핑(Spoofing)이다.

스푸핑은 IP·ARP·DNS·MAC 주소 등을 위조해 신뢰 관계를 악용하며, 그중 IP 주소를 바꾸는 것이 IP 스푸핑이다.

  • Sniffing: 네트워크를 지나는 패킷을 몰래 엿듣는(도청) 기법이다.
  • Phishing: 가짜 웹사이트·메일로 개인정보나 금융정보를 낚는 기법이다.
  • DoS 공격: 대량 요청으로 시스템 자원을 고갈시켜 서비스를 마비시키는 공격이다.
문제 7
RAID(Redundant Array of Inexpensive Disks)에 대한 설명으로 알맞지 않은 것은?
1RAID-0는 디스크 스트라이핑(disk striping) 방식으로 중복 저장과 오류 검출 및 교정이 없는 방식이다.
2RAID-1은 디스크 미러링(disk mirroring) 방식이며 높은 신뢰도를 갖는 방식이다.
3RAID-4는 데이터를 비트 단위로 여러 디스크에 분할하여 저장하며 별도의 패리티 디스크를 사용한다.
4RAID-5는 패리티 블록들을 여러 디스크에 분산 저장하는 방식이며 단일 오류 검출 및 교정이 가능한 방식이다.
정답 및 해설

RAID-4는 데이터를 블록 단위로 분산 저장하고 별도 패리티 디스크를 쓰므로, 비트 단위로 분할한다는 설명이 옳지 않다.

비트(또는 바이트) 단위 스트라이핑에 전용 패리티 디스크를 쓰는 방식은 RAID-3(비트 단위 해밍 코드는 RAID-2)이다.

  • RAID-0: 스트라이핑만 하며 중복 저장·오류 교정이 없어 옳은 설명이다.
  • RAID-1: 같은 데이터를 두 디스크에 복제하는 미러링으로 신뢰도가 높아 옳다.
  • RAID-5: 패리티를 모든 디스크에 분산 저장하고 단일 디스크 오류를 복구할 수 있어 옳다.
문제 8
캐시 기억 장치(cache memory)에 대한 설명으로 알맞지 않은 것은?
1직접 사상(direct mapping) 방식은 주기억장치의 임의의 블록들이 어떠한 슬롯으로든 사상될 수 있는 방식이다.
2세트-연관 사상(set-associative mapping) 방식은 직접 사상 방식과 연관사상(associative mapping) 방식을 혼합한 방식이다.
3슬롯의 수가 128개인 4-way 연관 사상 방식인 경우 슬롯을 공유하는 주기억 장치 블록들이 4개의 슬롯으로 적재될 수 있는 방식이다.
4캐시 쓰기 정책(cache write policy)은 write through 방식과 write back 방식 등이 있다.
정답 및 해설

직접 사상은 주기억장치의 각 블록이 정해진 하나의 슬롯에만 사상되므로, 어떤 슬롯으로든 사상될 수 있다는 설명이 옳지 않다.

임의의 슬롯에 자유롭게 들어갈 수 있는 방식은 연관 사상(완전 연관 사상)이다.

  • 세트-연관 사상: 블록이 정해진 세트로 가고(직접 사상) 세트 안에서는 아무 슬롯에나 들어가는(연관 사상) 혼합 방식으로 옳다.
  • 4-way 세트-연관 사상: 같은 세트를 공유하는 블록들이 그 세트의 4개 슬롯 중 하나에 적재될 수 있어 옳다.
  • 캐시 쓰기 정책: 즉시 주기억장치에도 쓰는 write through 와 교체 시에 쓰는 write back 이 있어 옳다.
문제 9
데이터통신 흐름 제어 방식인 Go-Back-N ARQ에서 6번 프레임까지 전송을 하였는데 수신측에서 3번 프레임에 오류가 있다고 재전송을 요청해 왔을 경우 재전송되는 프레임의 수는?
11개
22개
33개
44개
정답 및 해설

Go-Back-N ARQ 에서는 오류 프레임부터 그 뒤에 보낸 프레임까지 모두 재전송하므로 4개가 재전송된다.

프레임 6까지 보낸 상태에서 프레임 3에 오류가 나면 프레임 3·4·5·6을 다시 보낸다.

오류 프레임 하나만 다시 보내는 방식은 Selective Repeat ARQ이며, 이 경우라면 1개만 재전송된다.

문제 10
MS Access의 데이터베이스를 이용한 성적 테이블에서 적어도 2명 이상이 수강하는 과목에 대해 등록한 학생수와 평균점수를 구하기 위한 SQL 질의문을 작성할 경우 빈칸에 적절한 표현은?

<테이블명 : 성적>

학번과목성적점수
100자료구조A90
100운영체제A95
200운영체제B85
300프로그래밍A90
300데이터베이스C75
300자료구조A95
SELECT 과목, COUNT(*) AS 학생수, AVG(점수) AS 평균점수
FROM 성적
GROUP BY 과목 ________
1WHERE SUM(학번) >= 2
2WHERE COUNT(학번) >= 2
3HAVING SUM(학번) >= 2
4HAVING COUNT(학번) >= 2
정답 및 해설

그룹화한 결과에 조건을 거는 절은 HAVING이고, 수강 인원은 COUNT(학번)으로 센다.

GROUP BY 과목으로 묶은 뒤 HAVING COUNT(학번) >= 2 를 붙이면 2명이 수강한 자료구조·운영체제만 학생수와 평균점수가 출력된다.

  • WHERE COUNT(학번) >= 2: WHERE 는 그룹화 전 개별 행을 거르는 절이라 집계 함수를 조건으로 쓸 수 없다.
  • WHERE SUM(학번) >= 2: WHERE 에 집계 함수를 쓸 수 없고, 학번의 합계는 인원 수와도 무관하다.
  • HAVING SUM(학번) >= 2: 절은 맞지만 SUM 은 학번 값을 더할 뿐 학생 수를 세지 못한다.
문제 11
<그림>의 순서도를 표현하는 문장 형식으로 알맞은 것은?
1for문-while문-case문-do~while문
2do~while문-for문-중첩조건문-조건문
3for문-do~while문-중첩조건문-조건문
4do~while문-조건문-case문-while문
정답 및 해설

순서도는 차례대로 for문 – while문 – case문 – do~while문을 나타낸다.

첫 구조는 조건식이 참이면 명령문과 증감연산을 실행하고 되돌아가므로 for문이고, 두 번째는 증감연산 없이 조건을 먼저 판정한 뒤 명령문을 반복하므로 while문이다. 세 번째는 조건식을 차례로 검사해 여러 명령문 중 하나로 갈라지는 다중 선택(case문)이며, 마지막은 명령문을 먼저 실행하고 조건이 참이면 되풀이하므로 do~while문이다.

  • do~while문-for문-중첩조건문-조건문: 첫 구조는 조건을 먼저 검사하고 증감연산을 포함하므로 사후 판정 반복(do~while문)이 아니다.
  • for문-do~while문-중첩조건문-조건문: 두 번째 구조는 조건을 먼저 판정하므로 while문이고, 마지막 구조는 명령문을 되풀이하는 반복문이지 조건문이 아니다.
  • do~while문-조건문-case문-while문: 첫 구조는 증감연산을 갖춘 for문이고, 마지막 구조는 명령문을 먼저 실행한 뒤 조건을 판정하므로 while문이 아니라 do~while문이다.
문제 12
주어진 연도가 윤년인지를 판단하고자 한다. 연도가 400으로 나누어 떨어지거나, 4로 나누어떨어지면서 100으로 나누어 떨어지지 않은면 윤년이다. C언어에서 윤년을 계산하는 조건식으로 알맞은 것은?
1연도%4!=0 &&연도%100==0 || 연도%400!=0
2연도%4==0 &&연도%100!=0 || 연도%400==0
3연도%4!=0 &&연도%100==0 &&연도%400!=0
4연도%4==0 &&연도%100!=0 &&연도%400==0
정답 및 해설

윤년 조건은 (4의 배수이면서 100의 배수가 아님) 또는 400의 배수이므로 연도%4==0 && 연도%100!=0 || 연도%400==0 이 알맞다.

C언어에서 && 가 || 보다 우선순위가 높아 앞의 두 조건이 먼저 묶인 뒤 400의 배수 조건과 OR 로 결합된다.

  • 연도%4!=0 && 연도%100==0 || 연도%400!=0: 앞의 두 조건은 동시에 성립할 수 없어 사실상 400의 배수가 아닌 해를 고르므로 2001년 같은 평년까지 참이 되어 틀린다.
  • 연도%4!=0 && 연도%100==0 && 연도%400!=0: 4의 배수가 아니면서 100의 배수인 수는 없으므로 항상 거짓이다.
  • 연도%4==0 && 연도%100!=0 && 연도%400==0: 400의 배수이면서 100의 배수가 아니어야 하므로 성립하는 연도가 없어 틀린다.
문제 13
10진수 461(10)을 16진수로 나타낸 값으로 맞는 것은?
119A(16)
21CD(16)
31DB(16)
42DF(16)
정답 및 해설

461을 16진수로 바꾸면 1CD161\mathrm{CD}_{16}이다.

16으로 계속 나누어 나머지를 거꾸로 읽는다.
461÷16=28⋯13 (D)461 \div 16 = 28 \cdots 13\,(\mathrm{D})
28÷16=1⋯12 (C)28 \div 16 = 1 \cdots 12\,(\mathrm{C})
1÷16=0⋯11 \div 16 = 0 \cdots 1

검산: 1×256+12×16+13=4611 \times 256 + 12 \times 16 + 13 = 461 이다.

  • 19A1619\mathrm{A}_{16}은 410이다.
  • 1DB161\mathrm{DB}_{16}은 475이다.
  • 2DF162\mathrm{DF}_{16}은 735이다.
문제 14
임의의 자료에서 최소값 또는 최대값을 구할 경우 가장 적합한 자료구조는?
1이진탐색트리
2스택(stack)
3힙(heap)
4해쉬(hash)
정답 및 해설

최소값이나 최대값을 구하는 데 가장 적합한 자료구조는 힙(heap)이다.

힙은 완전 이진 트리로 루트에 항상 최소값(최소 힙) 또는 최대값(최대 힙)이 있어 O(1)O(1)에 꺼내 볼 수 있고, 삭제·삽입도 O(log⁡n)O(\log n)이다.

  • 이진탐색트리: 가장 왼쪽·오른쪽 노드를 찾아가야 하며 편향되면 O(n)O(n)까지 걸린다.
  • 스택: 후입선출 구조로 최소·최대값을 찾으려면 전체를 훑어야 한다.
  • 해쉬: 키로 바로 찾는 탐색용이며 값의 크기 순서를 유지하지 않는다.
문제 15
OSI 참조 모델에서 송수신지의 IP 주소를 헤더에 포함하여 전송하는 논리주소 지정 기능과 송신지에서 수신지까지 데이터가 전송될 수 있도록 최단 전송 경로를 선택하는 라우팅 기능 등을 수행하는 계층으로 옳은 것은?
1데이터링크 계층
2네트워크 계층
3전송 계층
4세션 계층
정답 및 해설

IP 주소를 이용한 논리 주소 지정과 경로 선택(라우팅)은 네트워크 계층의 기능이다.

네트워크 계층(3계층)은 패킷을 송신지에서 최종 수신지까지 여러 네트워크를 거쳐 전달하며, 대표 프로토콜은 IP, 대표 장비는 라우터이다.

  • 데이터링크 계층: MAC 주소로 인접 노드 간 프레임 전송과 오류·흐름 제어를 담당한다.
  • 전송 계층: 포트 번호로 종단 간(프로세스 간) 신뢰성 있는 전송을 담당한다(TCP·UDP).
  • 세션 계층: 통신 세션의 설정·유지·동기화를 담당한다.
문제 16
인터넷에서는 도메인 주소를 IP 주소로 변환시켜주는 컴퓨터가 있어야 하는데 이러한 컴퓨터의 이름으로 알맞은 것은?
1PROXY 서버
2DHCP 서버
3WEB 서버
4DNS 서버
정답 및 해설

도메인 주소를 IP 주소로 변환해 주는 서버는 DNS(Domain Name System) 서버이다.

사용자가 도메인 이름을 입력하면 DNS 서버가 이를 IP 주소로 바꿔 알려 주어 해당 호스트에 접속할 수 있게 한다.

  • PROXY 서버: 클라이언트 대신 외부 서버에 접속해 주는 중계 서버로 캐싱·접근 제어에 쓰인다.
  • DHCP 서버: 호스트에 IP 주소 등 네트워크 설정을 자동으로 할당한다.
  • WEB 서버: HTTP 요청을 받아 웹 페이지를 제공한다.
문제 17
컴퓨터 네트워크상에서 음성 데이터를 IP 데이터 패킷으로 변환하여 전화 통화와 같이 음성 통화를 가능케 해 주는 기술로 알맞은 것은?
1VPN
2IPSec
3IPv6
4VoIP
정답 및 해설

음성을 IP 패킷으로 바꾸어 인터넷으로 통화하게 하는 기술은 VoIP(Voice over IP)이다.

VoIP 는 음성 신호를 디지털화·압축해 IP 망으로 전송하므로 인터넷 전화의 기반 기술이다.

  • VPN: 공중망 위에 암호화된 터널을 만들어 전용망처럼 쓰는 가상 사설망이다.
  • IPSec: 네트워크 계층에서 IP 패킷을 암호화·인증하는 보안 프로토콜이다.
  • IPv6: 128비트 주소 체계를 쓰는 차세대 인터넷 프로토콜이다.
문제 18
오디오 CD에 있는 100초 분량의 노래를 MP3 음질의 압축되지 않은 WAV 데이터로 변환하여 저장하고자 한다. 변환시 WAV 파일의 크기는 대략 얼마인가? (단, MP3 음질은 샘플링율이 44.1KHz, 샘플당 비트수는 16bit이고 스테레오이다. 1K = 1,000으로 계산함)
1141.1KB
28.8MB
317.6MB
470.5MB
정답 및 해설

비압축 WAV 크기는 샘플링율 × 샘플당 비트 수 × 채널 수 × 시간으로 구하며, 결과는 약 17.6MB이다.

44,100×16×2×100=141,120,000 bit44{,}100 \times 16 \times 2 \times 100 = 141{,}120{,}000\ \mathrm{bit}
141,120,000÷8=17,640,000 B≈17.6 MB141{,}120{,}000 \div 8 = 17{,}640{,}000\ \mathrm{B} \approx 17.6\ \mathrm{MB}

  • 141.1KB 는 계산값보다 훨씬 작아 100초 분량이 될 수 없다.
  • 8.8MB 는 모노(1채널)로 계산한 값이다.
  • 70.5MB 는 계산값의 4배로 실제보다 크다.
문제 19
<그림>은 전자계산기(Calculator)를 객체지향적으로 분석한 다이어그램이다. 어떤 다이어그램인가?
1Usecase Diagram
2Sequence Diagram
3State Diagram
4Class Diagram
정답 및 해설

사용자(액터)와 시스템 기능(타원)을 연결한 그림은 Usecase Diagram이다.

사람 모양의 액터 '전자계산기 사용자'가 '전원을 켠다', '버튼을 누른다', '전원을 끈다'라는 유스케이스(타원)와 연결되어, 사용자 관점에서 시스템이 제공하는 기능을 보여 준다.

  • Sequence Diagram: 객체 사이 메시지를 시간 순서로 나타내며 생명선과 메시지 화살표로 그린다.
  • State Diagram: 객체의 상태와 이벤트에 따른 상태 전이를 나타낸다.
  • Class Diagram: 클래스의 속성·연산과 클래스 간 관계를 나타내는 정적 구조도이다.
문제 20
MS Excel의 워크시트에서 D4셀에 =RIGHT(C4,LEN(C4)-4)&"****"을 입력했을 때 결과 값으로 알맞은 것은?
ABC
1이름학번연락처
2김철수208-4101010-2109-8765
3이영희208-4102011-3456-7890
4홍길동208-4103019-2119-9019
1****2119-9019
2019-2119-****
3019-****-9019
42119-9019****
정답 및 해설

수식의 결과는 2119-9019****이다.

C4 값 019-2119-9019 는 13글자이므로 LEN(C4)-4 = 9 가 되고, RIGHT(C4, 9)는 오른쪽 9글자 2119-9019 를 돌려준다. 여기에 & 연산자로 "****"를 뒤에 이어 붙인다.

  • ****2119-9019: 별표는 & 뒤에 있으므로 앞이 아니라 뒤에 붙는다.
  • 019-2119-****: 오른쪽 9글자를 남기는 수식이라 앞의 019- 는 잘려 나간다.
  • 019-****-9019: 가운데를 바꾸려면 REPLACE 같은 함수가 필요하며, 이 수식은 문자열을 뒤에 덧붙일 뿐이다.
계리직 컴퓨터일반 기출문제모두CBT · moducbt.com
08년 1회차
총 20문항 · 객관식 · 정답·해설 포함
문제 1
UNIX 명령어 ls -l을 수행했을 때의 결과에 대한 설명으로 알맞지않은 것은?
1peter라는 사용자는 aaash 파일을 수정할 수 있다.
2staff 그룹 사용자는 aaash 파일을 실행할 수 있다.
3aaash 파일은 심볼릭 링크(symbolic link)가 2개 있다.
4다른 사용자도 이 파일의 내용을 볼 수 있다.
문제 2
리눅스 운영체제에 대한 설명으로 알맞지 않은 것은?
1리눅스는 마이크로커널(microkernel) 방식으로 구현되었으며 커널 코드의 임의의 기능들을 동적으로 적재(load)하여 사용할 수 있다.
2리눅스 커널 2.6 버전의 스케줄러는 임의의 프로세스를 선점할 수 있으며 우선순위 기반 알고리즘이다.
3리눅스 운영체제는 윈도우 파일 시스템인 NTFS와 저널링 파일 시스템인 JFFS를 지원한다.
4리눅스는 다중 사용자와 다중 프로세서를 지원하는 다중 작업형 운영체제이다.
정답 및 해설

리눅스는 모놀리식(monolithic) 커널 구조이므로, 마이크로커널 방식으로 구현되었다는 설명이 옳지 않다.

리눅스는 커널 기능 대부분이 하나의 커널 공간에서 동작하며, 대신 적재 가능 커널 모듈(LKM)로 장치 드라이버 등을 실행 중에 동적으로 올리고 내릴 수 있다. 동적 적재 기능이 있다고 해서 마이크로커널이 되는 것은 아니다.

  • 커널 2.6의 스케줄러: 커널 선점을 지원하는 우선순위 기반 스케줄러로 옳은 설명이다.
  • 파일 시스템 지원: NTFS 와 플래시용 저널링 파일 시스템인 JFFS 를 지원하므로 옳다.
  • 다중 사용자·다중 프로세서를 지원하는 다중 작업 운영체제라는 설명은 옳다.
문제 3
다음 중 객체지향 언어의 특징으로 알맞지 않은 것은?
1상속성
2다형성
3구조화
4추상화
정답 및 해설

구조화는 구조적(절차적) 프로그래밍의 특징이며 객체지향 언어의 특징이 아니다.

객체지향의 대표 특징은 캡슐화·상속성·다형성·추상화이다.

  • 상속성: 상위 클래스의 속성과 메서드를 하위 클래스가 물려받아 재사용한다.
  • 다형성: 같은 메시지(메서드 이름)에 객체마다 다르게 반응한다(오버로딩·오버라이딩).
  • 추상화: 문제의 핵심 속성과 동작만 뽑아 클래스로 모델링한다.
문제 4
다음 중 시스템 소프트웨어로 알맞지 않은 것은?
1윈도우 XP
2리눅스
3워드프로세서
4컴파일러
정답 및 해설

워드프로세서는 문서 작성이라는 특정 업무를 위한 응용 소프트웨어이다.

시스템 소프트웨어는 하드웨어를 관리하고 다른 프로그램의 실행·개발 환경을 제공하는 소프트웨어로, 운영체제와 언어 번역 프로그램 등이 해당한다.

  • 윈도우 XP: 운영체제이므로 시스템 소프트웨어이다.
  • 리눅스: 운영체제이므로 시스템 소프트웨어이다.
  • 컴파일러: 원시 프로그램을 목적 프로그램으로 번역하는 언어 번역기로 시스템 소프트웨어이다.
문제 5
운영체제에서 교착상태(deadlock)가 발생할 필요 조건으로 알맞지 않은 것은?
1환형 대기(circular wait) 조건으로 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있다.
2선점(preemption) 조건으로 프로세스가 소유하고 있는 자원은 다른 프로세스에 의해 선점될 수 있다.
3점유하며 대기(hold and wait) 조건으로 프로세스는 할당된 자원을 가진 상태에서 다른 자원을 기다린다.
4상호 배제(mutual exclusion) 조건으로 프로세스들은 필요로 하는 자원에 대해 배타적인 통제권을 갖는다.
정답 및 해설

교착상태의 필요 조건은 비선점(no preemption)이므로, 자원이 다른 프로세스에 의해 선점될 수 있다는 선점 조건은 옳지 않다.

교착상태는 상호 배제·점유와 대기·비선점·환형 대기 네 조건이 동시에 성립할 때 발생할 수 있다. 자원을 강제로 빼앗을 수 있다면 오히려 교착상태가 풀린다.

  • 환형 대기: 프로세스들이 원형으로 서로가 가진 자원을 기다리는 조건으로 옳다.
  • 점유하며 대기: 자원을 가진 채 다른 자원을 기다리는 조건으로 옳다.
  • 상호 배제: 자원을 한 번에 한 프로세스만 배타적으로 사용하는 조건으로 옳다.
문제 6
자신을 타인이나 다른 시스템에게 속이는 행위를 의미하며 침입하고자 하는 호스트의 IP 주소를 바꾸어서 해킹하는 기법을 가리키는 것은?
1Spoofing
2Sniffing
3Phishing
4DoS 공격
정답 및 해설

자신을 다른 주체로 속이고 IP 주소 등을 위조해 침입하는 기법은 스푸핑(Spoofing)이다.

스푸핑은 IP·ARP·DNS·MAC 주소 등을 위조해 신뢰 관계를 악용하며, 그중 IP 주소를 바꾸는 것이 IP 스푸핑이다.

  • Sniffing: 네트워크를 지나는 패킷을 몰래 엿듣는(도청) 기법이다.
  • Phishing: 가짜 웹사이트·메일로 개인정보나 금융정보를 낚는 기법이다.
  • DoS 공격: 대량 요청으로 시스템 자원을 고갈시켜 서비스를 마비시키는 공격이다.
문제 7
RAID(Redundant Array of Inexpensive Disks)에 대한 설명으로 알맞지 않은 것은?
1RAID-0는 디스크 스트라이핑(disk striping) 방식으로 중복 저장과 오류 검출 및 교정이 없는 방식이다.
2RAID-1은 디스크 미러링(disk mirroring) 방식이며 높은 신뢰도를 갖는 방식이다.
3RAID-4는 데이터를 비트 단위로 여러 디스크에 분할하여 저장하며 별도의 패리티 디스크를 사용한다.
4RAID-5는 패리티 블록들을 여러 디스크에 분산 저장하는 방식이며 단일 오류 검출 및 교정이 가능한 방식이다.
정답 및 해설

RAID-4는 데이터를 블록 단위로 분산 저장하고 별도 패리티 디스크를 쓰므로, 비트 단위로 분할한다는 설명이 옳지 않다.

비트(또는 바이트) 단위 스트라이핑에 전용 패리티 디스크를 쓰는 방식은 RAID-3(비트 단위 해밍 코드는 RAID-2)이다.

  • RAID-0: 스트라이핑만 하며 중복 저장·오류 교정이 없어 옳은 설명이다.
  • RAID-1: 같은 데이터를 두 디스크에 복제하는 미러링으로 신뢰도가 높아 옳다.
  • RAID-5: 패리티를 모든 디스크에 분산 저장하고 단일 디스크 오류를 복구할 수 있어 옳다.
문제 8
캐시 기억 장치(cache memory)에 대한 설명으로 알맞지 않은 것은?
1직접 사상(direct mapping) 방식은 주기억장치의 임의의 블록들이 어떠한 슬롯으로든 사상될 수 있는 방식이다.
2세트-연관 사상(set-associative mapping) 방식은 직접 사상 방식과 연관사상(associative mapping) 방식을 혼합한 방식이다.
3슬롯의 수가 128개인 4-way 연관 사상 방식인 경우 슬롯을 공유하는 주기억 장치 블록들이 4개의 슬롯으로 적재될 수 있는 방식이다.
4캐시 쓰기 정책(cache write policy)은 write through 방식과 write back 방식 등이 있다.
정답 및 해설

직접 사상은 주기억장치의 각 블록이 정해진 하나의 슬롯에만 사상되므로, 어떤 슬롯으로든 사상될 수 있다는 설명이 옳지 않다.

임의의 슬롯에 자유롭게 들어갈 수 있는 방식은 연관 사상(완전 연관 사상)이다.

  • 세트-연관 사상: 블록이 정해진 세트로 가고(직접 사상) 세트 안에서는 아무 슬롯에나 들어가는(연관 사상) 혼합 방식으로 옳다.
  • 4-way 세트-연관 사상: 같은 세트를 공유하는 블록들이 그 세트의 4개 슬롯 중 하나에 적재될 수 있어 옳다.
  • 캐시 쓰기 정책: 즉시 주기억장치에도 쓰는 write through 와 교체 시에 쓰는 write back 이 있어 옳다.
문제 9
데이터통신 흐름 제어 방식인 Go-Back-N ARQ에서 6번 프레임까지 전송을 하였는데 수신측에서 3번 프레임에 오류가 있다고 재전송을 요청해 왔을 경우 재전송되는 프레임의 수는?
11개
22개
33개
44개
정답 및 해설

Go-Back-N ARQ 에서는 오류 프레임부터 그 뒤에 보낸 프레임까지 모두 재전송하므로 4개가 재전송된다.

프레임 6까지 보낸 상태에서 프레임 3에 오류가 나면 프레임 3·4·5·6을 다시 보낸다.

오류 프레임 하나만 다시 보내는 방식은 Selective Repeat ARQ이며, 이 경우라면 1개만 재전송된다.

문제 10
MS Access의 데이터베이스를 이용한 성적 테이블에서 적어도 2명 이상이 수강하는 과목에 대해 등록한 학생수와 평균점수를 구하기 위한 SQL 질의문을 작성할 경우 빈칸에 적절한 표현은?

<테이블명 : 성적>

학번과목성적점수
100자료구조A90
100운영체제A95
200운영체제B85
300프로그래밍A90
300데이터베이스C75
300자료구조A95
SELECT 과목, COUNT(*) AS 학생수, AVG(점수) AS 평균점수
FROM 성적
GROUP BY 과목 ________
1WHERE SUM(학번) >= 2
2WHERE COUNT(학번) >= 2
3HAVING SUM(학번) >= 2
4HAVING COUNT(학번) >= 2
정답 및 해설

그룹화한 결과에 조건을 거는 절은 HAVING이고, 수강 인원은 COUNT(학번)으로 센다.

GROUP BY 과목으로 묶은 뒤 HAVING COUNT(학번) >= 2 를 붙이면 2명이 수강한 자료구조·운영체제만 학생수와 평균점수가 출력된다.

  • WHERE COUNT(학번) >= 2: WHERE 는 그룹화 전 개별 행을 거르는 절이라 집계 함수를 조건으로 쓸 수 없다.
  • WHERE SUM(학번) >= 2: WHERE 에 집계 함수를 쓸 수 없고, 학번의 합계는 인원 수와도 무관하다.
  • HAVING SUM(학번) >= 2: 절은 맞지만 SUM 은 학번 값을 더할 뿐 학생 수를 세지 못한다.
문제 11
<그림>의 순서도를 표현하는 문장 형식으로 알맞은 것은?
1for문-while문-case문-do~while문
2do~while문-for문-중첩조건문-조건문
3for문-do~while문-중첩조건문-조건문
4do~while문-조건문-case문-while문
정답 및 해설

순서도는 차례대로 for문 – while문 – case문 – do~while문을 나타낸다.

첫 구조는 조건식이 참이면 명령문과 증감연산을 실행하고 되돌아가므로 for문이고, 두 번째는 증감연산 없이 조건을 먼저 판정한 뒤 명령문을 반복하므로 while문이다. 세 번째는 조건식을 차례로 검사해 여러 명령문 중 하나로 갈라지는 다중 선택(case문)이며, 마지막은 명령문을 먼저 실행하고 조건이 참이면 되풀이하므로 do~while문이다.

  • do~while문-for문-중첩조건문-조건문: 첫 구조는 조건을 먼저 검사하고 증감연산을 포함하므로 사후 판정 반복(do~while문)이 아니다.
  • for문-do~while문-중첩조건문-조건문: 두 번째 구조는 조건을 먼저 판정하므로 while문이고, 마지막 구조는 명령문을 되풀이하는 반복문이지 조건문이 아니다.
  • do~while문-조건문-case문-while문: 첫 구조는 증감연산을 갖춘 for문이고, 마지막 구조는 명령문을 먼저 실행한 뒤 조건을 판정하므로 while문이 아니라 do~while문이다.
문제 12
주어진 연도가 윤년인지를 판단하고자 한다. 연도가 400으로 나누어 떨어지거나, 4로 나누어떨어지면서 100으로 나누어 떨어지지 않은면 윤년이다. C언어에서 윤년을 계산하는 조건식으로 알맞은 것은?
1연도%4!=0 &&연도%100==0 || 연도%400!=0
2연도%4==0 &&연도%100!=0 || 연도%400==0
3연도%4!=0 &&연도%100==0 &&연도%400!=0
4연도%4==0 &&연도%100!=0 &&연도%400==0
정답 및 해설

윤년 조건은 (4의 배수이면서 100의 배수가 아님) 또는 400의 배수이므로 연도%4==0 && 연도%100!=0 || 연도%400==0 이 알맞다.

C언어에서 && 가 || 보다 우선순위가 높아 앞의 두 조건이 먼저 묶인 뒤 400의 배수 조건과 OR 로 결합된다.

  • 연도%4!=0 && 연도%100==0 || 연도%400!=0: 앞의 두 조건은 동시에 성립할 수 없어 사실상 400의 배수가 아닌 해를 고르므로 2001년 같은 평년까지 참이 되어 틀린다.
  • 연도%4!=0 && 연도%100==0 && 연도%400!=0: 4의 배수가 아니면서 100의 배수인 수는 없으므로 항상 거짓이다.
  • 연도%4==0 && 연도%100!=0 && 연도%400==0: 400의 배수이면서 100의 배수가 아니어야 하므로 성립하는 연도가 없어 틀린다.
문제 13
10진수 461(10)을 16진수로 나타낸 값으로 맞는 것은?
119A(16)
21CD(16)
31DB(16)
42DF(16)
정답 및 해설

461을 16진수로 바꾸면 1CD161\mathrm{CD}_{16}이다.

16으로 계속 나누어 나머지를 거꾸로 읽는다.
461÷16=28⋯13 (D)461 \div 16 = 28 \cdots 13\,(\mathrm{D})
28÷16=1⋯12 (C)28 \div 16 = 1 \cdots 12\,(\mathrm{C})
1÷16=0⋯11 \div 16 = 0 \cdots 1

검산: 1×256+12×16+13=4611 \times 256 + 12 \times 16 + 13 = 461 이다.

  • 19A1619\mathrm{A}_{16}은 410이다.
  • 1DB161\mathrm{DB}_{16}은 475이다.
  • 2DF162\mathrm{DF}_{16}은 735이다.
문제 14
임의의 자료에서 최소값 또는 최대값을 구할 경우 가장 적합한 자료구조는?
1이진탐색트리
2스택(stack)
3힙(heap)
4해쉬(hash)
정답 및 해설

최소값이나 최대값을 구하는 데 가장 적합한 자료구조는 힙(heap)이다.

힙은 완전 이진 트리로 루트에 항상 최소값(최소 힙) 또는 최대값(최대 힙)이 있어 O(1)O(1)에 꺼내 볼 수 있고, 삭제·삽입도 O(log⁡n)O(\log n)이다.

  • 이진탐색트리: 가장 왼쪽·오른쪽 노드를 찾아가야 하며 편향되면 O(n)O(n)까지 걸린다.
  • 스택: 후입선출 구조로 최소·최대값을 찾으려면 전체를 훑어야 한다.
  • 해쉬: 키로 바로 찾는 탐색용이며 값의 크기 순서를 유지하지 않는다.
문제 15
OSI 참조 모델에서 송수신지의 IP 주소를 헤더에 포함하여 전송하는 논리주소 지정 기능과 송신지에서 수신지까지 데이터가 전송될 수 있도록 최단 전송 경로를 선택하는 라우팅 기능 등을 수행하는 계층으로 옳은 것은?
1데이터링크 계층
2네트워크 계층
3전송 계층
4세션 계층
정답 및 해설

IP 주소를 이용한 논리 주소 지정과 경로 선택(라우팅)은 네트워크 계층의 기능이다.

네트워크 계층(3계층)은 패킷을 송신지에서 최종 수신지까지 여러 네트워크를 거쳐 전달하며, 대표 프로토콜은 IP, 대표 장비는 라우터이다.

  • 데이터링크 계층: MAC 주소로 인접 노드 간 프레임 전송과 오류·흐름 제어를 담당한다.
  • 전송 계층: 포트 번호로 종단 간(프로세스 간) 신뢰성 있는 전송을 담당한다(TCP·UDP).
  • 세션 계층: 통신 세션의 설정·유지·동기화를 담당한다.
문제 16
인터넷에서는 도메인 주소를 IP 주소로 변환시켜주는 컴퓨터가 있어야 하는데 이러한 컴퓨터의 이름으로 알맞은 것은?
1PROXY 서버
2DHCP 서버
3WEB 서버
4DNS 서버
정답 및 해설

도메인 주소를 IP 주소로 변환해 주는 서버는 DNS(Domain Name System) 서버이다.

사용자가 도메인 이름을 입력하면 DNS 서버가 이를 IP 주소로 바꿔 알려 주어 해당 호스트에 접속할 수 있게 한다.

  • PROXY 서버: 클라이언트 대신 외부 서버에 접속해 주는 중계 서버로 캐싱·접근 제어에 쓰인다.
  • DHCP 서버: 호스트에 IP 주소 등 네트워크 설정을 자동으로 할당한다.
  • WEB 서버: HTTP 요청을 받아 웹 페이지를 제공한다.
문제 17
컴퓨터 네트워크상에서 음성 데이터를 IP 데이터 패킷으로 변환하여 전화 통화와 같이 음성 통화를 가능케 해 주는 기술로 알맞은 것은?
1VPN
2IPSec
3IPv6
4VoIP
정답 및 해설

음성을 IP 패킷으로 바꾸어 인터넷으로 통화하게 하는 기술은 VoIP(Voice over IP)이다.

VoIP 는 음성 신호를 디지털화·압축해 IP 망으로 전송하므로 인터넷 전화의 기반 기술이다.

  • VPN: 공중망 위에 암호화된 터널을 만들어 전용망처럼 쓰는 가상 사설망이다.
  • IPSec: 네트워크 계층에서 IP 패킷을 암호화·인증하는 보안 프로토콜이다.
  • IPv6: 128비트 주소 체계를 쓰는 차세대 인터넷 프로토콜이다.
문제 18
오디오 CD에 있는 100초 분량의 노래를 MP3 음질의 압축되지 않은 WAV 데이터로 변환하여 저장하고자 한다. 변환시 WAV 파일의 크기는 대략 얼마인가? (단, MP3 음질은 샘플링율이 44.1KHz, 샘플당 비트수는 16bit이고 스테레오이다. 1K = 1,000으로 계산함)
1141.1KB
28.8MB
317.6MB
470.5MB
정답 및 해설

비압축 WAV 크기는 샘플링율 × 샘플당 비트 수 × 채널 수 × 시간으로 구하며, 결과는 약 17.6MB이다.

44,100×16×2×100=141,120,000 bit44{,}100 \times 16 \times 2 \times 100 = 141{,}120{,}000\ \mathrm{bit}
141,120,000÷8=17,640,000 B≈17.6 MB141{,}120{,}000 \div 8 = 17{,}640{,}000\ \mathrm{B} \approx 17.6\ \mathrm{MB}

  • 141.1KB 는 계산값보다 훨씬 작아 100초 분량이 될 수 없다.
  • 8.8MB 는 모노(1채널)로 계산한 값이다.
  • 70.5MB 는 계산값의 4배로 실제보다 크다.
문제 19
<그림>은 전자계산기(Calculator)를 객체지향적으로 분석한 다이어그램이다. 어떤 다이어그램인가?
1Usecase Diagram
2Sequence Diagram
3State Diagram
4Class Diagram
정답 및 해설

사용자(액터)와 시스템 기능(타원)을 연결한 그림은 Usecase Diagram이다.

사람 모양의 액터 '전자계산기 사용자'가 '전원을 켠다', '버튼을 누른다', '전원을 끈다'라는 유스케이스(타원)와 연결되어, 사용자 관점에서 시스템이 제공하는 기능을 보여 준다.

  • Sequence Diagram: 객체 사이 메시지를 시간 순서로 나타내며 생명선과 메시지 화살표로 그린다.
  • State Diagram: 객체의 상태와 이벤트에 따른 상태 전이를 나타낸다.
  • Class Diagram: 클래스의 속성·연산과 클래스 간 관계를 나타내는 정적 구조도이다.
문제 20
MS Excel의 워크시트에서 D4셀에 =RIGHT(C4,LEN(C4)-4)&"****"을 입력했을 때 결과 값으로 알맞은 것은?
ABC
1이름학번연락처
2김철수208-4101010-2109-8765
3이영희208-4102011-3456-7890
4홍길동208-4103019-2119-9019
1****2119-9019
2019-2119-****
3019-****-9019
42119-9019****
정답 및 해설

수식의 결과는 2119-9019****이다.

C4 값 019-2119-9019 는 13글자이므로 LEN(C4)-4 = 9 가 되고, RIGHT(C4, 9)는 오른쪽 9글자 2119-9019 를 돌려준다. 여기에 & 연산자로 "****"를 뒤에 이어 붙인다.

  • ****2119-9019: 별표는 & 뒤에 있으므로 앞이 아니라 뒤에 붙는다.
  • 019-2119-****: 오른쪽 9글자를 남기는 수식이라 앞의 019- 는 잘려 나간다.
  • 019-****-9019: 가운데를 바꾸려면 REPLACE 같은 함수가 필요하며, 이 수식은 문자열을 뒤에 덧붙일 뿐이다.