옳지 않은 설명은 CISC 구조가 RISC 구조에 비해 명령어 종류가 적고 고정 명령어 형식을 취한다는 것이다.
CISC는 명령어 종류가 많고 가변 길이 형식을 쓰며, 명령어 종류가 적고 고정 길이 형식을 쓰는 쪽은 RISC이다. 즉 두 구조의 특징을 뒤바꾼 설명이다.
- 프로그램 내장 방식은 프로그램 코드와 데이터를 함께 내부기억장치에 저장해 실행하는 폰노이만 구조의 핵심이므로 옳다.
- SIMD는 하나의 명령어로 여러 처리장치가 여러 데이터를 동시에 처리하는 병렬처리 방식이므로 옳다.
- 파이프라인은 명령어 처리를 여러 단계로 나눠 중첩 실행해 처리율을 높이므로 옳다.
ㄱ. 명령어 실행 시 필요한 데이터를 일시적으로 보관한다.
ㄴ. CPU가 메모리에 접근하기 위해 참조하려는 명령어의 주소 혹은 데이터의 주소를 보관한다.
ㄷ. 다음에 인출할 명령어의 주소를 보관한다.
ㄹ. 가장 최근에 인출한 명령어를 보관한다.
순서대로 PC는 다음에 인출할 명령어의 주소, IR은 가장 최근에 인출한 명령어, MAR은 접근하려는 메모리 주소, AC는 실행 중 필요한 데이터를 보관하므로 ㄷ, ㄹ, ㄴ, ㄱ이다.
PC(프로그램 카운터)는 다음에 인출할 명령어의 주소를 가리키고, IR(명령어 레지스터)은 인출한 명령어를 해독을 위해 보관한다.
MAR(메모리 주소 레지스터)은 CPU가 읽거나 쓸 명령어·데이터의 메모리 주소를, AC(누산기)는 연산에 쓰이는 데이터와 중간 결과를 일시적으로 보관한다.
commit 되거나 abort 시 rollback 되어 '전부 수행 아니면 전혀 수행 안 함'을 보장하는 성질은 원자성(atomicity)이다.
원자성은 트랜잭션의 연산이 모두 반영되거나(commit) 하나도 반영되지 않아야(rollback) 한다는 성질이다.
- 일관성은 트랜잭션 실행 전후에 데이터베이스가 무결성 제약을 만족하는 일관된 상태를 유지하는 성질이다.
- 격리성은 동시에 실행되는 트랜잭션이 서로의 중간 결과에 간섭하지 않는 성질이다.
- 영속성은 commit 된 결과가 장애가 나도 영구히 보존되는 성질이다.
(가) 다양한 기기 간에 무선으로 데이터 통신을 할 수 있도록 만든 기술로 에릭슨이 IBM, 노키아, 도시바와 함께 개발하였으며, IEEE 802.15.1 규격으로 발표되었다.
(나) 약 10 cm 정도로 가까운 거리에서 장치 간에 양방향 무선 통신을 가능하게 해주는 기술로 모바일 결제 서비스에 많이 활용된다.
(다) IEEE 802.15.4 기반 PAN기술로 낮은 전력을 소모하면서 저가의 센서 네트워크 구현에 최적의 방안을 제공하는 기술이다.
(가)는 Bluetooth, (나)는 NFC, (다)는 ZigBee이다.
Bluetooth는 에릭슨 등이 개발해 IEEE 802.15.1로 표준화된 근거리 무선 기술이고, NFC는 약 10 cm 이내의 매우 가까운 거리에서 양방향 통신을 하여 모바일 결제에 널리 쓰인다.
ZigBee는 IEEE 802.15.4를 기반으로 한 저전력·저가형 기술로 센서 네트워크에 적합하다. RFID는 태그의 정보를 리더가 읽는 인식 기술로, 위 설명 어디에도 해당하지 않는다.
C-SCAN으로 처리하면 마지막으로 서비스 받는 트랙은 63이다.
헤드가 55에서 0 방향으로 이동하며 50 → 47 → 30 → 25를 차례로 처리한다.
C-SCAN은 0 쪽 끝에 닿으면 요청을 처리하지 않고 반대쪽 끝으로 복귀한 뒤 같은 방향(0 방향)으로 다시 이동하므로 100 → 75 → 63 순으로 처리하고, 63이 마지막이 된다.

옳은 설명은 ⓒ는 데이터 흐름, ⓖ는 제어 흐름이라는 것이다.
그림에서 제어장치에서 각 장치로 뻗는 한 방향 화살표(ⓐ, ⓓ, ⓖ, ⓗ 등)는 제어 신호이고, 입력장치→주기억장치(ⓑ), 연산장치↔주기억장치(ⓒ), 주기억장치↔보조기억장치(ⓕ)처럼 장치 사이에 실제 값이 오가는 선은 데이터 흐름이다.
- ⓐ와 ⓕ가 모두 제어 흐름이라는 설명은 틀렸다. ⓕ는 주기억장치와 보조기억장치 사이의 데이터 흐름이다.
- ⓑ와 ⓖ가 모두 데이터 흐름이라는 설명은 틀렸다. ⓖ는 제어장치가 주기억장치로 보내는 제어 흐름이다.
- ⓗ가 데이터 흐름이라는 설명은 틀렸다. ⓗ는 제어장치가 보조기억장치로 보내는 제어 흐름이다.
거짓인 식은 = 이다.
이므로 2진수로는 이고, 은 이다.
- 20 은 이므로 524보다 크다(참).
- 은 8이고 도 8이므로 같다(참).
- 은 이므로 보다 크다(참).
'회원등록'을 수행할 때 '실명확인'이 반드시 함께 수행되어야 하므로 두 유스케이스는 포함(include) 관계이다.
포함 관계는 기본 유스케이스가 실행될 때 포함되는 유스케이스가 항상 실행되는 관계이다.
- 확장(extend) 관계는 특정 조건을 만족할 때만 선택적으로 추가 기능이 수행되는 관계이다.
- 일반화 관계는 상위 유스케이스와 이를 구체화한 하위 유스케이스 사이의 관계이다.
- 연관 관계는 액터와 유스케이스 사이의 상호작용을 나타낸다.

C->prev = A
C->prev = B->prev;
B->next->prev = B->prev;
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를 기준으로 앞뒤 노드를 연결하는 표준 삭제 코드로 올바르다.
옳지 않은 설명은 MANET이 액세스 포인트(AP) 같은 중재자를 필요로 한다는 것이다.
MANET은 AP나 기지국 같은 기반 시설 없이 이동 노드끼리 스스로 망을 구성하는 비기반(infrastructure-less) 네트워크이다.
- 무선 매체와 이동 단말 특성상 전송 거리와 대역폭에 제약을 받는다.
- 각 노드가 호스트이면서 다른 노드의 패킷을 중계하는 라우터 역할을 함께 한다.
- 중앙 관리자가 없으므로 보안과 라우팅이 노드 간 협력으로 분산 운영된다.
옳지 않은 설명은 철수가 자신의 공개키로 평문을 암호화한다는 것이다.
기밀성을 위한 공개키 암호화에서 송신자 철수는 수신자 영희의 공개키로 암호화하고, 영희만 가진 개인키로 복호화한다.
- 공개키는 이름 그대로 누구에게나 공개된다.
- 공개키가 실제 소유자의 것임을 보증하고 위조를 막기 위해 인증기관이 인증서를 발급한다.
- 영희가 자신의 개인키로 암호문을 복호화하는 것은 옳은 절차이다.
옳지 않은 설명은 트리형을 고리처럼 순환형으로 구성된 형태라고 한 것이다.
고리처럼 순환형으로 연결된 구조는 링(ring)형이고, 트리형은 중앙 노드에서 계층적으로 가지를 뻗어 나가는 구조이다.
- 메시형은 모든 노드가 점 대 점으로 연결되어 노드 수가 늘수록 회선 수가 급격히 증가한다.
- 스타형은 중앙 허브에 모든 노드가 연결되어 중앙노드 고장 시 전체 네트워크가 영향을 받는다.
- 버스형은 하나의 선형 회선에 여러 노드가 연결된 형태이다.
공격자는 여러 대의 좀비 컴퓨터를 분산 배치하여 가상의 접속자를 만든 후 처리할 수 없을 정도로 매우 많은 양의 패킷을 동시에 발생시켜 시스템을 공격한다. 공격받은 컴퓨터는 사용자가 정상적으로 접속할 수 없다.
설명하는 공격은 DDoS(Distributed Denial of Service)이다.
여러 대의 좀비 컴퓨터(봇)를 분산 배치해 대량의 패킷을 동시에 보내 대상 시스템의 자원을 고갈시키고, 정상 사용자가 서비스를 이용하지 못하게 하는 분산 서비스 거부 공격이다.
- 키로거는 사용자의 키보드 입력을 몰래 기록해 계정 정보 등을 탈취한다.
- XSS는 웹 페이지에 악성 스크립트를 삽입해 다른 사용자의 브라우저에서 실행되게 하는 공격이다.
- 스파이웨어는 사용자 몰래 설치되어 개인정보를 수집·전송하는 악성 프로그램이다.
옳지 않은 설명은 개체관계 모델에 관한 것으로, 개체관계(E-R) 모델은 논리적 데이터 모델이 아니라 개념적 데이터 모델이다.
E-R 모델은 현실 세계를 개체·속성·관계로 표현하는 개념적 설계 도구이며, 이를 관계형·네트워크·계층 모델 같은 논리적 데이터 모델로 변환한다.
- 관계형 모델은 대표적인 논리적 데이터 모델이다.
- SQL은 관계형 DBMS의 표준 데이터 언어이다.
- 네트워크 모델과 계층 모델은 관계형 이전의 모델로 레거시 데이터 모델이라고도 불린다.
○ 애자일 방법론의 하나로 소프트웨어 개발 프로세스가 문서화하는 데 지나치게 많은 시간과 노력이 소모되는 단점을 보완하기 위해 개발되었다.
○ 의사소통, 단순함, 피드백, 용기, 존중의 5가지 가치에 기초하여 ‘고객에게 최고의 가치를 가장 빨리’ 전달 하도록 하는 방법론으로 켄트 벡이 고안하였다.
설명하는 방법론은 익스트림 프로그래밍(XP)이다.
XP는 켄트 벡이 고안한 애자일 방법론으로 의사소통·단순함·피드백·용기·존중의 5가지 가치를 바탕으로 짧은 반복 개발, 짝 프로그래밍, 테스트 주도 개발 등을 실천한다.
- 통합 프로세스(UP)는 도입·정련·구축·전이 단계로 진행하는 반복적·점진적 프로세스로, 애자일의 5가지 가치와 켄트 벡이 제시한 방법론이 아니다.
- 스크럼은 스프린트·백로그·스크럼 마스터 등을 중심으로 하는 애자일 프로젝트 관리 프레임워크이다.
- 나선형 모델은 위험 분석을 중심으로 반복 개발하는 전통적 생명주기 모델이다.
| 프로세스 | 버스트 시간(밀리초) |
|---|---|
| P1 | 20 |
| P2 | 3 |
| P3 | 4 |
라운드 로빈(시간 할당량 4밀리초)으로 실행하면 총 대기시간은 18밀리초이다.
실행 순서는 P1(0~4) → P2(4~7) → P3(7~11) → P1(11~27)이다. P2와 P3는 할당량 안에 끝나고, 남은 프로세스가 P1뿐이므로 P1이 끝까지 실행된다.
대기시간은 다음과 같다.
따라서 7 + 4 + 7 = 18이다.
#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++);
}num = 0, count = 1
num = 1, count = 1
num = 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이 출력된다.
| 페이지번호(논리) | 프레임번호(물리) |
|---|---|
| 0 | 7 |
| 1 | 3 |
| 2 | 5 |
| 3 | 0 |
| 4 | 8 |
옳게 짝지어진 것은 논리주소 2,500 → 물리주소 6,500이다.
논리주소를 페이지 크기로 나눈 몫이 페이지 번호, 나머지가 오프셋이고, 물리주소는 프레임 번호 × 2,000 + 오프셋이다.
- 논리주소 4,300은 페이지 2(오프셋 300)이고 프레임 5에 있으므로 물리주소는 10,300이다.
- 논리주소 3,600은 페이지 1(오프셋 1,600)이고 프레임 3에 있으므로 물리주소는 7,600이다.
- 논리주소 900은 페이지 0(오프셋 900)이고 프레임 7에 있으므로 물리주소는 14,900이다.
옳지 않은 설명은 HTML5가 디바이스에 접근할 수 없다는 것이다.
HTML5는 위치 정보(Geolocation), 카메라·센서 등 디바이스 접근 API를 제공하므로 오히려 개인정보 보호와 보안에 주의가 필요하다.
- video·audio 요소로 플러그인 없이 음악과 동영상을 재생할 수 있다.
- 웹소켓 등 쌍방향 통신을 지원해 실시간 채팅이나 온라인 게임을 만들 수 있다.
- HTML5 기반 웹앱·하이브리드 앱으로 스마트폰 응용프로그램을 개발할 수 있다.
옳지 않은 설명은 포트란·코볼 같은 고급 언어가 제3세대(집적회로)부터 사용되었다는 것이다.
포트란과 코볼은 1950년대 후반에 등장해 트랜지스터를 쓴 제2세대 컴퓨터에서 이미 사용되었다.
- 애플사는 1970년대 중후반에 Apple I·Apple II 등 개인용 컴퓨터를 출시하였다.
- IBM PC는 1980년대 초에 출시되었다.
- 1990년대 월드와이드웹이 보급되면서 인터넷 사용자가 폭발적으로 늘었다.