
정답병행성(concurrency)은 ACID의 구성 요소가 아닙니다.
핵심 개념
트랜잭션의 ACID 특성
데이터베이스 트랜잭션이 신뢰성 있게 처리되기 위해 보장해야 하는 네 가지 성질을 ACID라고 합니다. Atomicity(원자성)는 트랜잭션의 연산들이 모두 반영되거나 전혀 반영되지 않아야 함을, Consistency(일관성)는 실행 전후로 데이터베이스가 일관된 상태를 유지해야 함을, Isolation(고립성/격리성)은 동시에 실행되는 트랜잭션이 서로 간섭하지 않아야 함을, Durability(지속성/영속성)는 완료된 트랜잭션의 결과가 영구히 보존되어야 함을 의미합니다. 병행성(concurrency)은 여러 트랜잭션을 동시에 처리하는 실행 환경을 가리키는 개념일 뿐 ACID 구성 요소가 아닙니다.
선지별 해설
①원자성(Atomicity)은 ACID의 A에 해당하는 정당한 특성입니다. 트랜잭션의 연산이 전부 수행되거나 전혀 수행되지 않아야 함을 보장합니다.
②고립성(Isolation)은 ACID의 I에 해당합니다. 동시에 수행되는 트랜잭션들이 서로의 중간 결과에 영향을 주지 않도록 격리함을 뜻합니다.
③지속성(Durability)은 ACID의 D에 해당합니다. 완료(commit)된 트랜잭션의 결과는 시스템 장애가 발생해도 영구히 유지되어야 합니다.
④병행성(concurrency)은 ACID에 포함되지 않습니다. ACID의 나머지 하나는 일관성(Consistency)이며, 병행성은 트랜잭션들을 동시에 실행·관리하는 개념일 뿐입니다. 따라서 이 선지가 정답입니다.

정답ㄱ과 ㄹ이 옳은 설명입니다.
핵심 개념
운영체제의 핵심 개념(스풀링·스케줄링·가상메모리)
운영체제는 CPU, 주기억장치, 보조기억장치, 주변장치 등 컴퓨터 자원을 할당·관리하는 시스템 소프트웨어입니다. 스풀링(spooling)은 CPU와 저속 입출력장치의 속도 차이를 완화하기 위해 디스크(보조기억장치)를 버퍼처럼 사용하는 기법이라는 점, 비선점(non-preemptive) 방식은 실행 중인 프로세스가 스스로 CPU를 반납할 때까지 뺏지 않는 방식이라는 점, 가상메모리는 보조기억장치를 이용해 실제 물리 메모리보다 큰 주소 공간을 제공한다는 점을 정확히 구분하는 것이 핵심입니다.
선지별 해설
①ㄱ은 옳지만 ㄴ이 틀렸습니다. 스풀링은 주기억장치가 아니라 디스크(보조기억장치)를 버퍼로 사용하는 기법입니다. 주기억장치 일부를 완충 공간으로 쓰는 것은 버퍼링에 대한 설명입니다.
②ㄱ은 옳지만 ㄷ이 틀렸습니다. 대표 예로 든 RR(Round Robin)은 시간 할당량(time quantum)이 지나면 CPU를 회수하는 대표적인 선점(preemptive) 기법이므로 비선점 방식의 예가 될 수 없습니다.
③ㄱ(운영체제의 자원 관리 정의)과 ㄹ(가상메모리가 보조기억장치를 이용해 물리 공간보다 큰 주소 공간 제공)은 모두 옳은 설명이므로 이 선지가 정답입니다.
④ㄷ과 ㄹ 모두 옳은 것은 아닙니다. ㄹ은 옳지만 ㄷ은 RR을 비선점의 예로 든 점에서 틀렸으므로 이 조합은 정답이 될 수 없습니다.