전원이 끊겨도 내용이 유지되면서 전기적으로 다시 쓸 수 있는 메모리는 플래시 메모리이다.
플래시 메모리는 EEPROM 계열의 비휘발성 반도체 메모리로, 작고 충격에 강해 카메라·휴대전화·MP3 플레이어 등 휴대 기기의 저장 장치로 널리 쓰인다.
- 캐시 메모리: CPU와 주기억장치의 속도 차이를 줄이는 고속 메모리로, SRAM 기반이라 전원이 끊기면 내용이 사라진다.
- 버퍼 메모리: 장치 간 속도 차이를 완충하려고 데이터를 잠시 담아 두는 임시 기억 공간이다.
- 블루레이 디스크: 레이저로 읽고 쓰는 광학 저장 매체로, 반도체 메모리가 아니다.
BIOS가 콜드 부팅 과정에서 자동으로 수행하는 일이 아닌 것은 CMOS 셋업이다.
CMOS 셋업은 사용자가 부팅 중 특정 키를 눌러 들어가 하드웨어 설정값을 바꾸는 설정 유틸리티로, 부팅 절차 자체에 포함된 작업이 아니다.
- POST: 전원을 켜면 BIOS가 CPU·메모리·주변장치 등 하드웨어 이상 유무를 먼저 자가 진단한다.
- 시스템 초기화: 진단 후 각 장치와 인터럽트 등을 사용할 수 있는 상태로 초기화한다.
- 부트스트랩 로더 로드: 부팅 장치의 부트 섹터에서 부트스트랩 로더를 메모리에 올려 운영체제 적재를 넘긴다.

NAND 게이트 4개로 구성된 이 회로는 XOR(배타적 논리합) 회로이므로 출력은 F = A⊕B이다.
첫 NAND의 출력을 N = (AB)′이라 하면, 위쪽 NAND는 (A·N)′, 아래쪽 NAND는 (B·N)′을 낸다. 마지막 NAND는 드모르간 법칙에 의해 A·N + B·N = A(A′+B′) + B(A′+B′) = AB′ + A′B를 출력하며, 이는 XOR의 정의와 같다.
- A+B(OR): 두 입력이 모두 1이면 OR는 1이지만, 이 회로는 N = 0이 되어 F = 0이 된다.
- A⋅B(AND): 한 입력만 1일 때 AND는 0이지만, 이 회로는 F = 1이 된다.
- A⋅B′: B만 1인 경우(A = 0, B = 1)에도 이 회로는 1을 출력하므로 맞지 않는다.
옳지 않은 설명은 간접 주소지정 방식을 PC 값과 더해 유효주소를 정한다고 한 것이다.
명령어 주소 부분에 PC 값을 더해 유효주소를 구하는 방식은 상대 주소지정 방식이다. 간접 주소지정은 주소 부분이 가리키는 기억장소에 저장된 값을 다시 유효주소로 사용한다.
- 묵시적 주소지정: 스택 연산처럼 오퍼랜드가 명령어에 명시되지 않고 묵시적으로 정해진다.
- 직접 주소지정: 주소 부분의 값이 곧 실제 데이터가 있는 주소이다.
- 레지스터 주소지정: 오퍼랜드가 CPU 내부 레지스터에 들어 있어 메모리 접근 없이 빠르다.
옳지 않은 설명은 FireWire(IEEE 1394)가 USB 1.1보다 느리다는 것이다.
USB 1.1의 최대 속도는 12Mbps 수준인 반면, IEEE 1394는 처음부터 수백 Mbps급으로 설계되어 USB 1.1보다 훨씬 빠르다.
- PCI: 여러 주변 장치 카드를 마더보드에 연결하는 병렬 버스 규격이다.
- SATA: 병렬 ATA를 대체한 직렬 방식의 하드디스크 연결 규격이다.
- USB: 다양한 주변장치를 연결하는 범용 직렬 버스 표준이다.
+*/A↑BCDE
전위식 +*/A↑BCDE는 중위식 ((A / B↑C) * D) + E이므로 후위표기는 ABC↑/D*E+이다.
전위식은 연산자 뒤에 피연산자 두 개가 오므로 안쪽부터 묶는다. ↑BC → B↑C, /A(B↑C) → A/(B↑C), *(…)D → (A/(B↑C))*D, +(…)E → 전체 식이 된다. 이를 피연산자-피연산자-연산자 순으로 바꾸면 A B C ↑ / D * E + 이다.
- AB↑C/D*E+: (A↑B)/C를 먼저 계산하는 식이 되어 제곱의 피연산자가 달라진다.
- A↑BC/D*E+: 연산자 ↑ 앞에 피연산자가 하나뿐이라 올바른 후위식이 아니다.
- ABCD↑/*E+: C↑D를 계산한 뒤 B/(C↑D), A*(…)로 이어지는 식이어서 원래 식과 다르다.
옳지 않은 설명은 역공학으로 시스템을 재구성해 기능을 추가한다고 한 내용이다.
역공학은 원시코드를 분석해 설계 수준의 추상화된 표현을 복구·이해하는 과정일 뿐이다. 변경이 쉽도록 구조를 다시 만들거나 기능을 개선하는 것은 재공학(재구성)의 영역이다.
- 변경된 환경에 맞도록 소프트웨어를 고치는 것은 적응 유지보수에 해당한다.
- 유지보수 요청은 요청서를 통해 공식적·표준화된 절차로 처리해야 한다.
- 결과물의 변경을 식별·통제·기록하며 체계적으로 관리하는 활동이 소프트웨어 형상관리이다.
암호화 알고리즘이 아닌 것은 SSL이다.
SSL은 웹 통신 구간을 보호하는 보안 프로토콜로, 내부에서 여러 암호화 알고리즘을 조합해 사용할 뿐 그 자체가 알고리즘은 아니다.
- DES: 56비트 키를 쓰는 대칭키 블록 암호 알고리즘이다.
- RSA: 큰 수의 소인수분해 난제에 기반한 공개키 암호 알고리즘이다.
- SEED: 국내(KISA)에서 개발한 128비트 대칭키 블록 암호 알고리즘이다.
#include <stdio.h>
void main()
{
int A = 10, B;
int *C = &B;
B = A--;
B += 20;
printf("%d", *C);
}
포인터 C가 B를 가리키므로 *C는 B의 값이며, 최종 B는 30이 출력된다.
B = A--는 후위 감소이므로 A의 현재 값 10을 먼저 B에 대입한 뒤 A를 9로 줄인다. 이어서 B += 20으로 B는 30이 되고, *C는 B를 역참조하므로 30이다.
- 28: B에 20을 더한 뒤 값을 줄이는 연산이 코드에 없으므로 나올 수 없다.
- 29: 감소된 A 값 9에 20을 더한 경우로, 후위 감소를 전위 감소처럼 처리한 값이다.
- 31: B에 1을 더하는 연산이 없으므로 나올 수 없다.
옳지 않은 것은 생성자의 리턴 타입이 void라는 설명이다.
자바 생성자는 리턴 타입을 아예 선언하지 않는다. void를 붙이면 생성자가 아니라 클래스와 이름이 같은 일반 메소드로 취급된다.
- 생성자의 이름은 클래스 이름과 같아야 한다.
- new로 객체가 만들어질 때 자동으로 호출된다.
- 생성자를 하나도 정의하지 않으면 컴파일러가 매개변수 없는 기본 생성자를 자동으로 만든다.
옳지 않은 설명은 와이브로를 이동 방송 서비스라고 한 것이다.
와이브로(WiBro)는 이동 중에도 고속으로 인터넷에 접속할 수 있게 하는 휴대 인터넷(무선 광대역 인터넷) 서비스로, 방송 서비스가 아니다.
- IPTV: 인터넷 프로토콜 망을 이용해 방송 프로그램을 제공하는 디지털 TV 서비스이다.
- VoIP: 음성을 패킷으로 바꿔 IP 기반 패킷망으로 전송하는 기술이다.
- DMB: 디지털 방송 기술로 이동 중에도 멀티미디어 방송을 받는 통신·방송 융합 서비스이다.
각 서브넷에서 사용할 수 있는 주소는 특수주소를 포함해 1,024개이다.
클래스 B는 네트워크 16비트, 호스트 16비트이다. 64개 서브넷을 만들려면 이므로 호스트 부분에서 6비트를 서브넷 비트로 빌린다.
남는 호스트 비트:
서브넷당 주소 수:
옳지 않은 설명은 IPv4가 64비트로 주소를 표현한다는 것이다.
IPv4 주소는 32비트(8비트씩 4개 옥텟)이며, 주소 고갈 문제를 해결하려고 만든 IPv6가 128비트를 사용한다.
- TCP는 연결지향형 프로토콜로, 데이터 전송 전 3-way 핸드셰이킹으로 연결을 수립한다.
- TCP는 슬라이딩 윈도우로 흐름 제어를 하며 여러 세그먼트를 연속 전송한다.
- 정해진 시간 안에 ACK가 오지 않으면 타임아웃 후 해당 세그먼트를 재전송한다.
모든 프로세스들이 임계지역(critical section)에 진입할 때 다른 프로세스가 같은 임계지역에 진입하는 일이 발생하지 않도록 하는 것으로 둘 이상의 프로세스가 동시에 하나의 임계지역에 진입하지 않게 된다.
둘 이상의 프로세스가 동시에 같은 임계지역에 들어가지 못하게 하는 것은 상호 배제(mutual exclusion)이다.
상호 배제는 공유 자원을 다루는 임계지역에 한 번에 하나의 프로세스만 진입하도록 보장해 경쟁 상태를 막는 원칙이다.
- 교착상태 회피: 은행원 알고리즘처럼 자원 할당 시 안전 상태를 유지하도록 판단하는 기법이다.
- 교착상태 예방: 교착상태의 네 가지 필요조건 중 하나 이상을 원천적으로 제거하는 기법이다.
- 프로세스 대기: 프로세스가 자원이나 사건을 기다리는 상태를 뜻할 뿐 임계지역 진입 제어 원칙이 아니다.
옳은 설명은 대기상태는 원하는 자원을 할당받지 못해 기다리는 상태라는 것이다.
대기(블록) 상태의 프로세스는 입출력 완료나 자원 확보 같은 사건을 기다리며, 그 사건이 일어나면 준비 상태로 옮겨간다.
- 모든 자원을 받고 프로세서 할당만 기다리는 상태는 종료 상태가 아니라 준비 상태이다.
- 작업이 커널에 등록되어 PCB가 만들어진 상태는 실행 상태가 아니라 생성 상태이다.
- 프로세스 수행이 끝난 상태는 준비 상태가 아니라 종료 상태이다.
| 영역번호 | 사용 가능 크기 |
|---|---|
| 1 | 40 K |
| 2 | 사용 중 |
| 3 | 145 K |
| 4 | 사용 중 |
| 5 | 300 K |
| 6 | 사용 중 |
| 7 | 15 K |
최악적합은 요청을 수용할 수 있는 빈 영역 중 가장 큰 영역에 배당하므로, 300 K인 영역 5에 배당된다.
사용 가능한 영역은 40 K, 145 K, 300 K, 15 K이며 모두 15 K 요청을 수용할 수 있다. 이 중 가장 큰 것이 300 K이므로 영역 5가 선택된다.
- 영역 1(40 K): 크기가 가장 큰 영역이 아니므로 최악적합에서 선택되지 않는다.
- 영역 3(145 K): 두 번째로 큰 영역일 뿐이다.
- 영역 7(15 K): 요청과 크기가 같아 최적적합(best-fit)이라면 선택될 영역이다.
옳지 않은 설명은 뷰를 DELETE 문으로 제거한다는 것이다.
뷰는 CREATE VIEW로 정의하고 DROP VIEW로 제거한다. DELETE는 테이블(또는 뷰)의 행 데이터를 삭제하는 DML 문으로, 뷰 정의 자체를 없애지 못한다.
- 뷰는 기본 테이블에서 유도된 가상 테이블로, 물리적으로 저장되지 않는다.
- 필요한 데이터만 뷰로 정의해 다루므로 관리와 사용이 간편하다.
- 사용자에게 뷰만 공개하면 나머지 데이터를 숨길 수 있어 보안에 도움이 된다.
옳지 않은 설명은 헌법·법률·시사보도 등이 저작권 보호를 받는다는 것이다.
저작권법은 헌법·법률·조례·규칙, 사실 전달에 불과한 시사보도, 국회·지방의회의 공개 연설 등을 보호받지 못하는 저작물로 규정한다. 누구나 자유롭게 이용하도록 하기 위해서다.
- 컴퓨터프로그램·음악·사진·어문 저작물은 모두 저작권법의 보호 대상이다.
- 디지털 워터마크와 핑거프린팅은 저작물에 식별 정보를 삽입해 불법 복제를 추적하는 보호 기술이다.
- 학교 교육 목적의 이용은 저작재산권 제한 사유로 인정되어 일정 범위에서 허락 없이 이용할 수 있다.
CPU의 간섭 없이 장치와 메모리 사이에서 블록 단위로 직접 데이터를 옮기는 기법은 DMA이다.
DMA 제어기가 버스를 넘겨받아 전송을 처리하고, 블록 전송이 끝나면 인터럽트로 CPU에 알린다. 그래서 대용량 전송에서 CPU 부담이 크게 준다.
- 인터럽트: 장치가 사건 발생을 CPU에 알리는 방식으로, 데이터 전송은 여전히 CPU가 맡는다.
- 핸드셰이킹: 송수신 측이 제어 신호를 주고받아 전송 시점을 맞추는 동기화 방식이다.
- 스풀링: 느린 출력 장치용 데이터를 디스크에 모아 두었다가 차례로 내보내는 기법이다.
옳지 않은 설명은 POP을 원격지 서버 접속 프로토콜이라고 한 것이다.
POP(Post Office Protocol)은 메일 서버에 도착한 이메일을 클라이언트로 내려받는 메일 수신 프로토콜이다. 원격지 서버에 접속해 작업하게 해 주는 것은 Telnet이나 SSH 같은 원격 접속 프로토콜이다.
- HTTP: 웹 서버와 브라우저가 하이퍼텍스트 문서를 주고받는 프로토콜이다.
- SMTP: 이메일 송신과 서버 간 메일 전달을 담당한다.
- DHCP: 호스트에 IP 주소를 자동(동적)으로, 또는 관리자가 지정한 고정 주소로 할당한다.