20200811 정처기 필기 오답노트

야유로봇·2020년 8월 11일
0

20200820 정처기 필기

데이터베이스

관계해석 '모든 것에 대해서' 의 의미를 나타내는 기호?

  1. ∀ (거꾸로 A, all)
  2. A ∈ B A가 B에 속함
  3. U 합집합

터미널 노드란?

자식 노드가 없는 노드

순수 관계연산자에서 릴레이션의 일부 속성만 추출해 중복 튜플은 제거하고 새 릴레이션 생성하는 연산자는?

  1. Select: 릴레이션에 존재하는 튜플 중 선택조건을 만족하는 튜플의 부분집합으로 새 릴레이션
  2. Project: 주어진 릴레이션에서 속성 List에 제시된 어트리뷰트만 추출
  3. Join: 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐 새 릴레이션
  4. Division: 조인한 후 부모 릴레이션에서 자식을 제외한 속성만 구하는 연산

한 릴레이션의 기본 키를 구성하는 어떤 속성도 Null이나 중복일 수 없음을 의미하는 것은?

  1. 개체 무결성 제약 조건
  2. 참조 무결성 제약 조건: 외래키 값은 null이나 참조 릴레이션의 기본키와 동일해야 함
  3. 도메인 무결성 제약 조건: 특정 속성의 값이 그 도메인에 맞는 값이어야 함(number인데 문자 x)
  4. 키 무결성 제약 조건 (함정): 없음

순서가 A, B, C, D로 정해진 자료를 스택에 넣었다 출력한 결과로 틀린 것

순서는 무조건 ABCD이며 push pop 순서는 상관없이 나올 수 없는 결과값만 찾아라

제 2 정규형에서 제 3 정규형이 되기 위한 조건은?

비정규 릴레이션 -> (도메인 원자값) -> 1정규형 ->
(부분적 함수 종속 제거) -> 2정규형 ->
(이행적 함수 종속 제거) -> 3정규형 ->
(결정자이며 후보키 아닌 것 제거) -> BC정규형 ->
(다치 종속 제거) -> 4정규형 ->
(조인 속성사용) -> 5정규형

다음의 관계 대수식을 SQL 질의로 옳게 표현한 것?

πA (σP (r1|X|r2))
πA: select A
σP: where P
r1|X|r2: r1 join r2 , from r1,r2

스택의 삭제 알고리즘

if (top === 0) {
return; = underflow;
} else {
remove s(top);
top -= 1;
}
현재 포인터가 0이면 함수를 종료

관계 데이터베이스에 있어 관계 대수 연산이 아닌 것은?

  1. division
  2. project
  3. join
  4. fork
    관계대수연산: select, project, join, division

전자 계산기 구조

PE(procession element) 연산기 사용해 동기적 병렬 처리 수행하는 것은?

동기적 병렬처리 수행은 array processor: vector라 불리는 다수의 데이터를 동시 처리
답 Vector processor

반가산기에서 입력을 X,Y 라 할 떄 출력 부분의 캐리값은?

  • 캐리 값: 자리 올림값
  • 캐리값은 입력값 X와 Y가 모두 1이어야 1이 된다. 즉, X*Y
  • 답은 XY

연산자수 구하기

  • 2^연산자비트수

캐시 엑세스 시간 11초, 주기억장치 엑세스 시간이 20초 캐시 적중률이 90%일 때 기억장치 평균 엑세스 시간은?

  • 캐시 엑세스 시간 + 주기억장치 엑세스 시간 * {(100 - 캐시 적중률)/100}
  • 11 + 20 * 0.1 = 13

Flynn의 컴퓨터 시스템 분류 제안 중 하나의 데이터 흐름이 다수 프로세서로 전달되며, 각 프로세서는 서로 다른 명령어를 실행하는 구조는?

  • 다중 명령어, 단일 데이터 흐름

전가산기를 구성하기 위해 필요한 소자는?

  • 두 개의 반가산기, 한 개의 OR 게이트(암기)

프로그램 제어와 가장 밀접한 관계가 있는 레지스터는?

  1. memory address register: 기억장치를 출입하는 데이터 번지(포인터)를 기억하는 레지스터
  2. index register: 주소의 변경, 서브루틴 연결 및 프로그램에서 반복 연산의 횟수를 세는 레지스터, 내용 변경 가능
  3. accumulator: 누산기, 연산된 결과를 일시적으로 저장, 연산의 핵심
  4. status resigter: 상태 레지스터, 오버플로우, 언더플로우, 자리올림, 계산상태, 인터럽트 등 psw를 저장, 프로그램 제어와 밀접한 관계

DMA 제어기가 한 번에 한 데이터 워드를 전송하고, 버스의 제어를 CPU에게 돌려주는 방법은?

  1. DMA 대량 전송
  2. 데이지체인
  3. 사이클 스틸링: CPU가 어떤 명령과 다음 명령을 수행하는 사이 하나의 데이터 워드를 직접 전송, CPU와 입출력 장치가 동시에 주기억장치에 접근할 때 주기억장치의 사이클타임을 CPU에서 뺏어와(스틸링) CPU는 주기억장치에 접근 불가
  4. 핸드쉐이킹

레지스터 A와 B에 8진수 7000과 2345가 저장됐을 때, 두 레지스터의 AND 연산값은?

  • 7000과 2345 2진수 변환후 AND 연산
  • 7000: 111 000 000 000
  • 2345: 010 011 100 101
  • 결과: 010 000 000 000 -> 2 0 0 0

운영체제(중요)

파일 구조 중 순차편성에 대한 설명으로 옳지 않은 것은?

  1. 특정 레코드를 검색할 때, 순차적 검색 하므로 검색효율이 높다. -> list와 map의 차이와 비슷
  2. 어떠한 기억매체에서도 실현 가능하다.
  3. 주기적으로 처리한 경우에 시간적, 처리시간, 비용이 적다.
  4. 순차적으로 실제 데이터만 저장되므로 기억공간 활용률이 높다.

파일 디스크립터에 관한 설명으로 옳지 않은 것은?

  1. 사용자가 직접 참조할 수 있다. -> 파일 디스크립터는 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없다.
  2. 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있다.
  3. 대개 보조기억장치에 저장되어 있다가 해당 파일이 열릴(Open) 때 주기억장치로 이동한다.
  4. 파일을 관리하기 위해 시스템(운영체제)이 필요로 하는 파일에 대한 정보를 갖고 있는 제어블록(FCB)이다.

지역성에 대한 설명으로 옳지 않은 것은?

  1. 프로세서들은 기억장치 내의 정보를 균일하게 접근하는 것이 아니라. 어느 한 순간에 특정부분을 집중적으로 참조한다.
  2. 시간 지역성의 예로 순환, 부프로그램, 스택 등이 있다.
  3. 공간 지역성은 하나의 기억장소가 가까운 장래에도 참조될 가능성이 높음을 의미한다. -> 시간 지역성에 대한 설졍
  4. 공간 지역성의 대표적인 예로 순차적 코드의 실행이 있다.
  • 공간 지역성: 프로세서 실행 시 일정 위치 페이지 집중적 엑세스

스레드에 관한 설명으로 옳지 않은 것은?

  1. 하드웨어, 운영체제의 성능과 응용프로그램의 처리율을 향상시킬 수 있다.
  2. 스레드는 그들이 속한 프로세스의 자원과 메모리를 공유한다.
  3. 다중 프로세스 구조에서 각 스레드는 다른 프로세스에서 병렬로 실행될 수 있다.
  4. 스레드는 동일 프로세스 환경에서 서로 다른 독립적인 다중수행이 불가능하다. -> 스레드 간 독립적인 수행 가능

SJF(Short Job First) 스케줄링에서 평균 반환시간과 평균 대기시간

  • SJF: 실행시간이 가장 짧은 프로세스에 먼저 CPU를 할당하는 기법
  • 반환시간: 작업을 마치고 결과값을 가져오는 시간
  • 대기시간: 이전 작업을 처리할 떄 까지 기다리는 시간

파일 디스트립터 정보에 포함되지 않은 것은?

  1. 파일 구조
  2. 파일 유형
  3. 파일 작성자
  4. 파일 크기
  • 파일 디스크립터는 시스템에서 관리하는 정보, 작성자는 굳이?

세그먼트 테이블과 실제 주소(단 가상주소는 S=(2, 100))

  • S=(세그먼트 번호, 실제 주소)
  • 세그먼트 번호의 시작주소 + 실제 주소

공유자원을 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 하며, 다른 프로세스가 공유자원에 대해 접근하지 못하게 제어하는 기법은?

  1. mutual exclusion: 상호 배제, 특정 프로세스가 공유 자원을 쓰고 있으면 다른 프로세스가 못 쓰게 제어하는 기법
  2. critical section: 임계 구역, 여러 개 프로세스가 공유하는 데이터에 대해 어느 한 시점에는 하나의 프로세스만 사용하도록 제어
  3. deadlock: 교착 상태, 두 개 이상 작업이 서로 끝나길 기다려 아무것도 완료되지 않는 상태
  4. scatter loading

블록의크기가 1KB(kilo byte)이고 각 블럭마다 총 256개의 블럭 주소를 담을 수 있다고 할 때, 파일의 크기가 1MB(mega byte)라면 몇 단계의 간접 인덱싱이 필요한가? (단, UNIX에서 i-node를 사용하여 간접 인덱싱을 한다고 가정한다.)

  1. 1 단계
  2. 2 단계
  3. 3 단계
  4. 4 단계
  • 1 단계: 256 * 1kb
  • 2 단계: 256 256 1kb
  • n 단계: 256^n * 블록 크기

다음 설명에 해당하는 디렉토리 구조는?

  • 부 디렉토리의 공동사용 가능
  • 디스크, 공간 절약
  • 하나의 파일이나 디렉토리가 여러 경로 가능
  • 공유하고 있는 파일 제거시 떨어진 포인터 문제 발생
  1. 비순환 그래프 디렉토리 시스템: 하위 파일이나 디렉토리 공동 사용가능하며 사이클 허용되지 않음, 공유파일 삭제 시 떨어진 포인터 문제 발생
  2. 트리구조 디렉토리 시스템: 하나의 루트와 여러 개의 서브 디렉토리, 동일한 이름 파일이나 디렉토리 가능
  3. 1단계 디렉토리 시스템: 모든 파일이 하나의 디렉토리 내 위치, 제일 간단, 파일 많아지면 복잡
  4. 2단계 디렉토리 시스템: 중앙에 마스터, 아래에 사용자 별 다른 파일 디렉토리 있는 2계층 구조, 다른 디렉토리에서만 같은 파일명 가능

다음 중 교착상태가 발생할 수 있는 필요충분조건은?

  1. 중단 조건
  2. 환형 대기
  3. 기아 상태
  4. 동기화
  • 교착상태의 필요충분조건
    • 상호배제: 한 번에 한 프로세스만 자원 사용
    • 점유와 대기: 다른 자원이 할당되기 기다리는 동안 확보한 자원 계속 보유
    • 비선점: 강제로 빼앗을 수 없다
    • 환형대기: 서로간 요구관계가 회전

FCFS 알고리즘 사용할 때, 임의의 작업 순서로 얻을 수 있는 최대 평균 반환시간 - 최소 평균 반환 시간

  • FCFS는 대기시간이 긴 프로세스부터 처리(SJF와 반대)
  • 짧은 순으로 오면 최소 평균
  • 긴 순으로 오면 최대 평균

완전연결형 분산처리 시스템에 관한 설명으로 옳지 않은 것은?

  1. 각 사이트들이 시스템 내의 다른 모든 사이트들과 직접 연결된 구조이다.
  2. 하나의 링크가 고장 나더라도 다른 링크를 이용할 수 있다.
  3. 사이트 수가 n개이면 링크 연결 수는 n-1개이다. -> n(n-1)/2개 사이트가 모두 연결돼 있음
  4. 기본비용은 많이 들지만 통신비용은 적게 들고, 신뢰성이 높다.

소프트웨어 공학

NS차트(Nassi-Schneiderman chart)에 대한 설명으로 가장 옳지 않은 것은?

  1. 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
  2. 이해하기 쉽고 코드 변환이 용이하다.
  3. 화살표나 GOTO를 사용하여 이해하기 쉽다.
  4. 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
  • NS 차트는 화살표가 없고, 입구 출구는 하나, GOTO는 사용 불가

일정 계획과 가장 관계가 없는 것은?

  1. 프로그램 - 명세서
  2. 작업 분해
  3. CPM 네트워크
  4. 간트 차트(Cant Chart)
  • 일정 계획 기법: 작업 분해 - PERT/CPM - 간트 차트

소프트웨어 재공학은 어떤 유지보수 측면에서 소프트웨어 위기를 해결하기 위한 방법인가?

  1. Preventive maintenance: 장래의 유지보수성, 신뢰성 개선이나 오류발생에 대비해 예방 수단을 강구하는 활동, 소프트웨어 재공학
  2. Corrective maintenance: 시스템을 운영하면서 수정 교정 정정 하자보수
  3. Perfective maintenance: 본래 기능에 새 기능 추가하거나 성능 개선위해 소프트웨어 확장하는 활동
  4. Adaptive maintenance:
  • maintenance: 유지보수

자료흐름도(DFD)의 작성 지침이라고 볼 수 없는 것은?

  1. 자료는 처리를 거쳐 변환될 때마다 새로운 명칭을 부여해야 한다.
  2. 자료흐름도의 최하위 처리(process)는 소단위명세서를 갖는다.
  3. 배경도(context diagram)에도 명칭과 번호를 부여해야 한다.
  4. 어떤 처리(process)가 출력자료를 산출하기 위해서는 필요한 자료가 반드시 입력되어야 한다.
  • 배경도에는 명칭과 번호를 부여하지 않는다.

소프트웨어 비용 산정 기법 중 산정 요원과 조정자에 의해 산정하는 방법은?

  1. 기능 점수 기법: 기능의 갯수로 개발 규모 측정
  2. LOC 기법: line of code, 코드 라인 수로 측정
  3. COCOMO 기법: loc와 동일
  4. 델파이 기법: 산정 요원과 조정자에 의해 산성(통계의 델파이, 여러 사람이 같이)

자료사전에서 자료의 연결(“and")을 나타내는 기호는?

  1. +: AND
  2. =: 정의
  3. ( ): 생략가능
  4. { }: 반복

다음 중 가장 높은 응집도(Cohesion)에 해당하는 것은?

  1. 순서적 응집도(Sequential Cohesion)
  2. 시간적 응집도(Temporal Cohesion)
  3. 논리적 응집도(Logical Cohesion)
  4. 절차적 응집도(Procedural Cohesion)
  • 응집도는 논리적 -> 시간적 -> 절차적 -> 순서적 순으로 응집도가 높다. 결합도가 낮을 수록 응집도는 높다.

다음 중 독립적인 모듈이 되기 위해서 가장 좋은 결합도 상태는?

  1. control coupling
  2. stamp coupling
  3. common coupling
  4. content coupling
  • 결합도는 자료 결합도 - 스탬프 결합도 - 제어 - 외부 - 공통 - 내용 순으로 높다.
  • 결합도가 낮을 수록 응집력과 독립성이 커진다.

DFD(Data Flow Diagram)에 대한 설명으로 거리가 먼 것은?

  1. 단말(Terminator)은 원으로 표기한다. -> 사각형으로 표시
  2. 구조적 분석 기법에 이용된다.
  3. 자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화된다.
  4. 자료 흐름 그래프 또는 버플(Bubble)차트라고도 한다.
profile
덤벼라, 이 쓸모없는 쓰레기야

0개의 댓글