[9급 국가직 컴퓨터일반] 17년 2회차 기출문제 정답·해설 페이지

[9급 국가직 컴퓨터일반] 17년 2회차
    1[9급 국가직 컴퓨터일반] 17년 2회차
    TCP(Transmission Control Protocol)와 IP(Internet Protocol)에 대한 설명으로 옳지 않은 것은?
    1
    TCP는 호스트 사이에 신뢰성 있는 스트림(stream) 전송 서비스를 제공한다.
    2
    IP는 수신 측 IP 주소를 바탕으로 라우팅 테이블을 갱신한다.
    3
    TCP는 연결 지향형 프로토콜로서 실제 데이터를 전송하기 전에 연결을 설정한다.
    4
    IP는 신뢰성을 보장하지 않는 비연결 지향형 프로토콜이다.
    해설

    옳지 않은 설명은 IP가 수신 측 IP 주소를 바탕으로 라우팅 테이블을 갱신한다는 것이다.

    IP는 패킷의 목적지 주소로 라우팅 테이블을 조회해 다음 경로를 정할 뿐이고, 라우팅 테이블의 갱신은 RIP·OSPF 같은 라우팅 프로토콜이 담당한다.

    • TCP가 호스트 사이에 신뢰성 있는 스트림 전송 서비스를 제공한다는 설명은 옳다(순서 번호·확인 응답·재전송).
    • TCP가 연결 지향형으로 데이터 전송 전에 연결(3-way handshake)을 설정한다는 설명은 옳다.
    • IP가 신뢰성을 보장하지 않는 비연결형 프로토콜이라는 설명은 옳다(최선형 전달).

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    2[9급 국가직 컴퓨터일반] 17년 2회차
    IPv4 주소를 클래스별로 분류했을 때, C 클래스에 해당하는 것은?
    1
    12.34.56.78
    2
    111.11.11.11
    3
    123.12.31.12
    4
    222.22.22.22
    해설

    C 클래스에 해당하는 주소는 222.22.22.22이다.

    IPv4 클래스는 첫 옥텟으로 구분하며, A 클래스는 1~126, B 클래스는 128~191, C 클래스는 192~223이다.

    • 12.34.56.78은 첫 옥텟이 12이므로 A 클래스이다.
    • 111.11.11.11은 첫 옥텟이 111이므로 A 클래스이다.
    • 123.12.31.12는 첫 옥텟이 123이므로 A 클래스이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    3[9급 국가직 컴퓨터일반] 17년 2회차
    운영체제의 스케줄링 기법에 대한 설명으로 옳지 않은 것은?
    1
    FCFS(First-Come-First-Served) 스케줄링은 비선점(nonpreemptive)방식으로 실행 중인 프로세스가 종료하면 준비큐에서 가장 오래 대기한 프로세스를 다음 실행 프로세스로 선정한다.
    2
    RR(Round-Robin) 스케줄링은 선점(preemptive) 방식으로 프로세스를 정해진 시간 할당량만큼 실행 후 종료하지 못하면 준비 큐로 이동시킨다.
    3
    비선점 SJF(Shortest-Job-First) 스케줄링은 준비 큐에서 예상 전체 실행시간이 가장 짧은 프로세스를 다음 실행프로세스로 선정한다.
    4
    선점 SJF 스케줄링은 SRTF(Shortest-Remaining-Time-First)스케줄링이라고 불리며 비선점 SJF 스케줄링에서 발생할 수 있는 기아상태(starvation) 문제를 해결한다.
    해설

    옳지 않은 설명은 선점 SJF(SRTF)가 기아 상태 문제를 해결한다는 것이다.

    SRTF는 남은 실행시간이 짧은 프로세스가 계속 도착하면 실행시간이 긴 프로세스가 끝없이 밀릴 수 있어 기아 상태가 여전히 발생한다. 기아 해결에는 에이징(aging) 같은 기법이 필요하다.

    • FCFS가 비선점 방식으로 준비 큐에서 가장 오래 대기한 프로세스를 선정한다는 설명은 옳다.
    • RR이 선점 방식으로 시간 할당량만큼 실행 후 끝나지 않으면 준비 큐로 보낸다는 설명은 옳다.
    • 비선점 SJF가 예상 실행시간이 가장 짧은 프로세스를 다음으로 선정한다는 설명은 옳다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    4[9급 국가직 컴퓨터일반] 17년 2회차
    가상 객체와 실세계를 접목하여 현실감 있는 정보를 제공하는 기술은?
    1
    지리정보 시스템(geographical information system)
    2
    증강현실(augmented reality)
    3
    생체인식(biometrics)
    4
    사물인터넷(Internet of Things)
    해설

    가상 객체를 실제 환경에 겹쳐 보여 주는 기술은 증강현실(augmented reality)이다.

    증강현실은 카메라로 보는 현실 세계 위에 가상 정보를 합성해 현실감 있는 부가 정보를 제공한다.

    • 지리정보 시스템은 지리 공간 데이터를 수집·저장·분석·표시하는 시스템이다.
    • 생체인식은 지문·홍채·얼굴 등 신체 특징으로 개인을 인증하는 기술이다.
    • 사물인터넷은 사물에 센서와 통신 기능을 넣어 인터넷으로 연결하는 기술이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    5[9급 국가직 컴퓨터일반] 17년 2회차
    10진수 -11을 5비트 2진수로 표현한 것은? (단, 부호 있는(signed)2진수는 2의 보수로 표현된다)
    1
    10101
    2
    11101
    3
    01101
    4
    10100
    해설

    10진수 -11의 5비트 2의 보수 표현은 10101이다.

    +11을 5비트로 쓰면 01011이다.
    각 비트를 반전하면 10100(1의 보수)이다.
    여기에 1을 더하면 10101이 된다.

    검산: 최상위 비트 가중치를 음수로 보면 −16+4+1=−11-16 + 4 + 1 = -11이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    6[9급 국가직 컴퓨터일반] 17년 2회차
    다음 그래프의 정점 A에서부터 깊이 우선 탐색(DFS: Depth First Search)과 너비 우선 탐색(BFS: Breadth First Search)을 수행할 때, 방문 순서를 옳게 짝지은 것은? (단, 방문하지 않은 인접 정점이 2개 이상인 경우 알파벳 오름차순으로 방문한다)
    문제 이미지
    1
    DFS : A-B-D-G-F-C-E 
    BFS : A-B-C-D-E-F-G
    2
    DFS : A-B-D-G-F-C-E 
    BFS : A-B-C-D-E-G-F
    3
    DFS : A-B-D-G-E-C-F 
    BFS : A-B-C-D-E-F-G
    4
    DFS : A-B-D-G-E-C-F 
    BFS : A-B-C-D-E-G-F
    해설

    방문 순서는 DFS : A-B-D-G-E-C-F, BFS : A-B-C-D-E-G-F이다.

    그래프의 간선은 A-B, A-C, B-D, B-E, C-E, D-G, E-G, F-G이다.
    DFS(스택·재귀): A → B → D → G에서 미방문 인접 정점 E·F 중 E → E에서 C → C는 더 갈 곳이 없어 E, G 순으로 되돌아온 뒤 G에서 F를 방문한다.

    BFS(큐): A의 인접 B, C → B의 인접 D, E → C의 인접은 모두 방문됨 → D의 인접 G → G의 인접 F 순으로 방문해 G가 F보다 먼저 나온다.

    • DFS를 A-B-D-G-F-C-E로 본 짝은 G에서 알파벳 순으로 E보다 F를 먼저 간 것이라 틀리다.
    • BFS를 A-B-C-D-E-F-G로 본 짝은 F가 G를 통해서만 연결되어 G보다 먼저 방문될 수 없으므로 틀리다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    7[9급 국가직 컴퓨터일반] 17년 2회차
    다음 후위(postfix) 표기식을 전위(prefix) 표기식으로 바꾼 것은? (단, 표기식에서 +, -, *, /는 연산자이고 A, B, C, D, E는 피연산자이다)
    A B C * D / + E -
    1
    - + A * / B C D E
    2
    - / * + A B C D E
    3
    + / * - A B C D E
    4
    - + A / * B C D E
    해설

    전위 표기식은 - + A / * B C D E이다.

    후위식을 왼쪽부터 읽어 피연산자는 스택에 넣고 연산자를 만나면 두 개를 꺼내 묶는다.
    B C * → (B*C)
    (B*C) D / → ((B*C)/D)
    A ((B*C)/D) + → (A+((B*C)/D))
    마지막 E - → ((A+((B*C)/D))-E)

    각 괄호의 연산자를 앞으로 옮기면 - + A / * B C D E가 된다.

    • - + A * / B C D E는 A+((B/C)*D)-E로, 곱셈과 나눗셈 순서가 바뀌었다.
    • - / * + A B C D E는 ((A+B)*C)/D-E로, 덧셈이 먼저 묶였다.
    • + / * - A B C D E는 ((A-B)*C)/D+E로, 연산자 위치가 전혀 다르다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    8[9급 국가직 컴퓨터일반] 17년 2회차
    가상 기억장치 기술에 대한 설명으로 옳지 않은 것은?
    1
    가상 주소(virtual address)에서 물리 주소(physical address)로의 주소 변환(address translation)이 이루어진다.
    2
    가상 주소와 물리 주소의 비트 수가 서로 다를 수 있다.
    3
    다중 프로그래밍 정도(degree of multiprogramming)가 높아짐에 따라 CPU 이용률(utilization)은 계속 높아진다.
    4
    서로 다른 프로세스가 동일한 물리 기억장치 영역을 공유할 수 있다.
    해설

    옳지 않은 설명은 다중 프로그래밍 정도가 높아질수록 CPU 이용률이 계속 높아진다는 것이다.

    다중 프로그래밍 정도가 일정 수준을 넘으면 프로세스마다 확보한 프레임이 부족해져 페이지 부재가 폭증하는 스래싱(thrashing)이 일어나고, CPU 이용률은 오히려 급격히 떨어진다.

    • 가상 주소에서 물리 주소로 주소 변환이 이루어진다는 설명은 옳다(MMU·페이지 테이블).
    • 가상 주소와 물리 주소의 비트 수가 다를 수 있다는 설명은 옳다.
    • 서로 다른 프로세스가 같은 물리 메모리 영역을 공유할 수 있다는 설명은 옳다(공유 페이지·공유 라이브러리).

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    9[9급 국가직 컴퓨터일반] 17년 2회차
    다음 2진 표현이 나타내는 IEEE 754 표준 단정도(single precision) 부동소수점 수의 값은?
    11000001110101010000000000000000
    1
    +5.3125(10)
    2
    -26.625(10)
    3
    +21.25(10)
    4
    -13.3125(10)
    해설

    이 값은 -26.625이다.

    32비트를 부호 1비트·지수 8비트·가수 23비트로 나누면 1 | 10000011 | 10101010000…0이다.
    부호 비트가 1이므로 음수이다.

    지수: 100000112=13110000011_2 = 131, 바이어스 127을 빼면 131−127=4131 - 127 = 4
    가수: 숨은 1을 붙여 1.101010121.1010101_2

    1.10101012×24=11010.1012=16+8+2+0.5+0.125=26.6251.1010101_2 \times 2^4 = 11010.101_2 = 16 + 8 + 2 + 0.5 + 0.125 = 26.625이므로 값은 −26.625-26.625이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    10[9급 국가직 컴퓨터일반] 17년 2회차
    UNIX에서의 프로세스 간 통신(interprocess communication)에 대한 설명으로 옳지 않은 것은?
    1
    세마포어(semaphore) 동작은 중단될 수 없는 원자성을 가진다.
    2
    시그널(signal)은 커널 혹은 프로세스가 다른 프로세스에게 비동기적으로 특정 사건을 통지하는 데 사용된다.
    3
    지명 파이프(named pipe)를 통해 통신하는 프로세스 간에는 부모?자식 관계가 요구된다.
    4
    공유메모리(shared memory)에 대한 상호 배제(mutual exclusion)는 운영체제가 보장하지 않는다.
    해설

    옳지 않은 설명은 지명 파이프로 통신하는 프로세스 사이에 부모-자식 관계가 필요하다는 것이다.

    이름 없는 파이프(pipe)는 부모-자식처럼 관련된 프로세스 사이에서만 쓸 수 있지만, 지명 파이프(FIFO)는 파일 시스템에 이름이 있어 관련 없는 프로세스끼리도 통신할 수 있다.

    • 세마포어 연산이 중단될 수 없는 원자성을 가진다는 설명은 옳다.
    • 시그널이 커널이나 프로세스가 다른 프로세스에 비동기적으로 사건을 알리는 데 쓰인다는 설명은 옳다.
    • 공유 메모리의 상호 배제를 운영체제가 보장하지 않는다는 설명은 옳다(세마포어 등으로 직접 동기화해야 한다).

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    11[9급 국가직 컴퓨터일반] 17년 2회차
    폭포수(waterfall) 모델의 변형으로 산출물보다는 각 개발 단계의 테스트에 중점을 두며, 테스트 활동이 분석 및 설계와 어떻게 관련되어 있는지 보여 주는 소프트웨어 개발 모델은?
    1
    나선형(spiral) 모델
    2
    단계적 개발(phased development) 모델
    3
    원형(prototyping) 모델
    4
    V 모델
    해설

    테스트 활동과 분석·설계 단계의 대응 관계를 보여 주는 폭포수 변형 모델은 V 모델이다.

    V 모델은 왼쪽의 요구 분석·설계 단계와 오른쪽의 인수·시스템·통합·단위 테스트를 짝지어 각 단계의 검증을 강조한다.

    • 나선형 모델은 계획·위험 분석·개발·평가를 반복하며 위험 관리에 중점을 둔다.
    • 단계적 개발 모델은 시스템을 여러 부분으로 나누어 점진적으로 개발·인도한다.
    • 원형 모델은 시제품을 만들어 사용자 요구를 확인하는 데 중점을 둔다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    12[9급 국가직 컴퓨터일반] 17년 2회차
    중앙처리장치와 주기억장치 사이에 있는 기억장치로서, 둘 사이의 속도 차이로 인한 컴퓨터 시스템 성능 저하를 경감하기 위한 것은?
    1
    캐시 기억장치
    2
    보조 기억장치
    3
    ROM
    4
    레지스터
    해설

    CPU와 주기억장치 사이에서 속도 차이를 줄이는 기억장치는 캐시 기억장치이다.

    캐시는 주기억장치보다 빠른 소용량 메모리에 자주 쓰는 데이터를 두어 평균 접근 시간을 단축한다.

    • 보조 기억장치는 주기억장치보다 느린 대용량 저장장치로 CPU와 주기억장치 사이에 있지 않다.
    • ROM은 내용을 영구 보존하는 읽기 전용 메모리로 속도 차이 완화가 목적이 아니다.
    • 레지스터는 CPU 내부의 고속 기억장치로 CPU와 주기억장치 사이에 위치하는 계층이 아니다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    13[9급 국가직 컴퓨터일반] 17년 2회차
    관계형 데이터베이스 언어인 SQL에 대한 설명으로 옳은 것은?
    1
    데이터 정의어(DDL)를 이용하여 데이터를 검색한다.
    2
    데이터 조작어(DML)를 이용하여 권한을 부여하거나 취소한다.
    3
    DELETE 문은 테이블을 삭제하는 데 사용한다.
    4
    SELECT 문에서 FROM 절은 필수 항목이고, WHERE 절은 선택 항목이다.
    해설

    옳은 설명은 SELECT 문에서 FROM 절은 필수이고 WHERE 절은 선택이라는 것이다.

    SELECT 문은 조회할 테이블을 지정하는 FROM 절이 있어야 하며, 조건을 거는 WHERE 절은 필요할 때만 쓴다.

    • 데이터 검색은 DDL이 아니라 DML(SELECT)로 한다. DDL은 CREATE·ALTER·DROP처럼 구조를 정의한다.
    • 권한 부여·취소(GRANT·REVOKE)는 DML이 아니라 DCL(데이터 제어어)로 한다.
    • DELETE 문은 테이블의 행(튜플)을 삭제하며, 테이블 자체를 삭제하는 것은 DROP 문이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    14[9급 국가직 컴퓨터일반] 17년 2회차
    삽입 정렬을 사용하여 자료를 오름차순으로 정렬한다. 초기 및 2회전 후의 자료가 다음과 같다면 4회전 후의 결과는?
    초기 자료 : 69, 30, 10, 2, 16, 8, 31, 22
    2회전 후의 자료 : 10, 30, 69, 2, 16, 8, 31, 22
    1
    2, 10, 16, 30, 69, 8, 31, 22
    2
    8, 2, 10, 30, 16, 69, 22, 31
    3
    16, 2, 10, 30, 69, 8, 22, 31
    4
    2, 10, 30, 69, 16, 8, 31, 22
    해설

    4회전 후의 결과는 2, 10, 16, 30, 69, 8, 31, 22이다.

    삽입 정렬은 회전마다 다음 원소 하나를 앞쪽 정렬된 부분의 알맞은 위치에 끼워 넣는다. 2회전 후 앞의 세 원소 10, 30, 69가 정렬되어 있다.

    3회전: 2를 삽입 → 2, 10, 30, 69, 16, 8, 31, 22
    4회전: 16을 10과 30 사이에 삽입 → 2, 10, 16, 30, 69, 8, 31, 22

    • 8, 2, 10, 30, 16, 69, 22, 31과 16, 2, 10, 30, 69, 8, 22, 31은 앞부분이 정렬되어 있지 않아 삽입 정렬의 중간 결과가 될 수 없다.
    • 2, 10, 30, 69, 16, 8, 31, 22는 3회전 후의 결과이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    15[9급 국가직 컴퓨터일반] 17년 2회차
    다음 Java 언어로 작성한 프로그램의 실행 결과는?
    public class Test {
      public static void main(String[] args) {
        int ar[] = {10, 20, 30, 40, 50};
        int sum = 0, a = 100, b = 0;
        try {
          for(int i = 0 i < ar.length i++) {
          sum += ar[i];
          }
          System.out.println(sum);
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("Array Index Out Of Bounds Exception");
          }
        try {
          float z = a / b
          System.out.println(z);
        } catch (ArithmeticException e) {
            System.out.println("Arithmetic Exception");
          }
      }
    }
    1
    100 
    0.0
    2
    100 
    Array Index Out Of Bounds Exception
    3
    150 
    Arithmetic Exception
    4
    150 
    / by zero at Test.main(Test.java:14)
    해설

    실행 결과는 150과 Arithmetic Exception이 차례로 출력되는 것이다.

    첫 try: i가 0부터 ar.length-1(4)까지만 돌아 배열 범위를 벗어나지 않는다.
    sum = 10 + 20 + 30 + 40 + 50 = 150이 출력되고 catch 블록은 실행되지 않는다.

    두 번째 try: a와 b가 int이므로 a / b는 정수 나눗셈으로 먼저 계산되고, 0으로 나누어 ArithmeticException이 발생한다. 결과를 float에 대입하더라도 0.0이 되지 않으며, catch 블록이 "Arithmetic Exception"을 출력한다.

    • 100과 0.0은 배열 합과 나눗셈 예외를 모두 잘못 본 결과이다.
    • Array Index Out Of Bounds Exception은 반복 조건이 i < ar.length라 발생하지 않는다.
    • / by zero at Test.main(…) 형태의 기본 예외 메시지는 예외를 catch로 처리했으므로 출력되지 않는다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    16[9급 국가직 컴퓨터일반] 17년 2회차
    TCP 헤더에 포함된 필드에 대한 설명으로 옳은 것만을 모두 고른 것은?

    ㄱ. 송신지(source) 포트 번호는 송신지 응용 프로그램에 할당된 포트 번호이다.

    ㄴ. 확인 응답 번호(acknowledgment number)는 성공적으로 수신한 데이터의 첫 바이트에 부여된 순서 번호(sequence number)이다.

    ㄷ. 플래그(flags)는 TCP 동작 제어를 위해 사용되는 1비트 크기의 SYN, ACK 등으로 이루어진다.

    ㄹ. 윈도우 크기(window size)는 송신 측에서 송신할 수 있는 비트 단위의 최대 데이터 크기를 나타낸다.

    1
    ㄱ, ㄴ
    2
    ㄱ, ㄷ
    3
    ㄷ, ㄹ
    4
    ㄴ, ㄹ
    해설

    옳은 설명은 송신지 포트 번호에 대한 설명과 1비트 플래그에 대한 설명이다.

    송신지 포트 번호는 세그먼트를 보낸 응용 프로그램(프로세스)을 식별하는 번호이고, 플래그는 SYN·ACK·FIN·RST 등 각 1비트로 연결 설정·해제 같은 TCP 동작을 제어한다.

    • 확인 응답 번호는 수신한 데이터의 첫 바이트 번호가 아니라 다음에 받기를 기대하는 바이트의 순서 번호(마지막으로 받은 바이트 번호 + 1)이므로 틀리다.
    • 윈도우 크기는 비트 단위가 아니라 바이트 단위이며, 수신 측이 현재 받을 수 있는 데이터 양을 송신 측에 알리는 값이므로 틀리다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    17[9급 국가직 컴퓨터일반] 17년 2회차
    함수 수행을 위한 정보가 저장되는 프로세스 메모리 영역은?
    1
    데이터(data) 영역
    2
    힙(heap) 영역
    3
    스택(stack) 영역
    4
    텍스트(text) 영역
    해설

    함수 수행을 위한 정보가 저장되는 영역은 스택(stack) 영역이다.

    함수가 호출될 때마다 매개변수·지역 변수·복귀 주소 등을 담은 스택 프레임이 쌓이고, 함수가 끝나면 제거된다.

    • 데이터 영역은 전역 변수와 정적 변수를 저장한다.
    • 힙 영역은 실행 중 동적으로 할당하는 메모리(malloc, new)를 저장한다.
    • 텍스트 영역은 실행할 프로그램 코드(기계어 명령)를 저장한다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    18[9급 국가직 컴퓨터일반] 17년 2회차
    전가산기(FA: Full Adder)는 두 입력 A, B 및 입력캐리 Ci를 더해서 합 S와 출력캐리 Co를 만들어 내는 회로이다. 4개의 전가산기를 사용한 다음 연산기에서 오버플로우(overflow)가 발생한 경우가 아닌 것은?
    문제 이미지
    1
    M = 0, Cout = 1, 부호 없는(unsigned) 연산으로 해석
    2
    M = 1, Cout = 1, 부호 없는 연산으로 해석
    3
    M = 0, V = 1, 2의 보수를 사용하는 부호 있는(signed) 연산으로 해석
    4
    M = 1, V = 1, 2의 보수를 사용하는 부호 있는 연산으로 해석
    해설

    오버플로가 아닌 경우는 M = 1, Cout\mathrm{C}_{out} = 1을 부호 없는 연산으로 해석할 때이다.

    그림에서 M은 각 Bi\mathrm{B}_{i}와 XOR되고 최하위 캐리 입력 Cin\mathrm{C}_{in}으로도 들어간다. M = 0이면 A + B, M = 1이면 B를 반전하고 1을 더해 A + B̄ + 1 = A − B를 계산한다. V는 C4\mathrm{C}_{4}와 C3\mathrm{C}_{3}의 XOR이다.

    부호 없는 뺄셈에서 Cout\mathrm{C}_{out} = 1은 A ≥ B여서 빌림이 없다는 뜻이므로 결과가 정상이며, 범위를 벗어나는 경우는 Cout\mathrm{C}_{out} = 0(빌림 발생)일 때이다.

    • M = 0, Cout\mathrm{C}_{out} = 1인 부호 없는 덧셈은 합이 4비트로 표현할 수 있는 범위를 넘은 것이므로 오버플로이다.
    • M = 0, V = 1인 부호 있는 덧셈은 최상위 비트로 들어온 캐리와 나간 캐리가 달라 2의 보수 범위를 벗어난 것이므로 오버플로이다.
    • M = 1, V = 1인 부호 있는 뺄셈도 같은 이유로 오버플로이다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    19[9급 국가직 컴퓨터일반] 17년 2회차
    다음 C 프로그램의 실행 결과는?
    #include  <stdio.h>
    int func(int n) {
         if(n <= 1)
             return(n);
         else
             return(func(n - 1) + func(n - 2));
    }
    int main(void) {
      int n = 7;
      int i;
      int result = 0;
      for(i = 0 i < n i++)
            result += func(i)
      printf("%d", result);
      return(0);
    }
    1
    0
    2
    12
    3
    19
    4
    20
    해설

    실행 결과는 20이다.

    func(n)은 n ≤ 1이면 n을, 아니면 func(n−1) + func(n−2)를 반환하는 피보나치 수 함수이다.
    func(0) = 0, func(1) = 1, func(2) = 1, func(3) = 2, func(4) = 3, func(5) = 5, func(6) = 8

    반복문은 i = 0부터 6까지 돌며 result에 누적한다.
    result = 0 + 1 + 1 + 2 + 3 + 5 + 8 = 20

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.
    20[9급 국가직 컴퓨터일반] 17년 2회차
    운영체제가 프로세스(process)를 생성하는 과정을 순서대로 바르게 나열한 것은?

    ㄱ. 새로운 프로세스를 위한 프로세스 식별자를 할당한다.

    ㄴ. 새로운 프로세스를 스케줄링 큐의 준비 또는 준비/보류 리스트에 연결한다.

    ㄷ. 새로운 프로세스를 위한 주소 공간과 프로세스 제어블록 (process control block)을 할당한다.

    ㄹ. 새로운 프로세스의 프로세스 제어블록을 초기화한다.

    1
    ㄱ→ㄴ→ㄷ→ㄹ
    2
    ㄱ→ㄷ→ㄹ→ㄴ
    3
    ㄷ→ㄹ→ㄱ→ㄴ
    4
    ㄷ→ㄹ→ㄴ→ㄱ
    해설

    프로세스 생성 순서는 식별자 할당 → 주소 공간과 PCB 할당 → PCB 초기화 → 준비(준비/보류) 리스트 연결이다.

    먼저 고유한 프로세스 식별자를 정하고, 그 프로세스가 쓸 주소 공간과 PCB를 확보해야 PCB에 식별자·상태·레지스터 값 등을 채워 넣을 수 있다. 초기화가 끝난 프로세스만 스케줄링 큐에 연결되어 실행 대상이 된다.

    • 준비 큐 연결을 PCB 할당·초기화보다 앞에 두는 순서는 아직 없는 PCB를 큐에 넣는 셈이라 틀리다.
    • 주소 공간·PCB 할당을 식별자 할당보다 먼저 두고 큐 연결 뒤에 식별자를 할당하는 순서는 식별되지 않은 프로세스를 스케줄링하게 되어 틀리다.
    • 주소 공간·PCB 할당과 초기화를 식별자 할당보다 먼저 하는 순서도 초기화 시점에 PCB에 기록할 식별자가 없으므로 틀리다.

    오류나 개정된 내용이 보이면 알려주세요

    메모
    아직 메모가 없어요. 위 버튼으로 첫 메모를 남겨보세요.

[9급 국가직 컴퓨터일반] 17년 2회차 시험지 PDF 다운로드·인쇄 →

전 회차를 한 권으로 — 9급 국가직 컴퓨터일반 기출문제 PDF 전자책(문제집·정답해설집) →

[9급 국가직 컴퓨터일반] 17년 2회차 정답과 해설은 무료인가요?

이 페이지의 20문항 정답과 해설은 로그인 없이 무료로 볼 수 있습니다. 무제한 풀이·실전 모의고사·PDF 출력·전자책 다운로드는 베이직 플랜에 포함됩니다.

이 회차를 CBT 로 직접 풀어볼 수 있나요?

9급 국가직 컴퓨터일반 기출문제 암기장에서 이 회차를 회차별·랜덤으로 풀고 오답노트에 자동으로 모을 수 있습니다. 9급 국가직 컴퓨터일반 기출문제 풀러 가기 →

시험지 PDF 나 전자책으로도 볼 수 있나요?

이 회차의 인쇄용 시험지 PDF 와, 전 회차를 문제집·정답해설집으로 묶은 PDF 전자책을 제공합니다. 9급 국가직 컴퓨터일반 기출문제 PDF 전자책 보기 →

[9급 국가직 컴퓨터일반] 17년 2회차 문항별 상세 페이지 전체 보기