본문 바로가기

안녕하세요!

자격증 준비/정보처리기사

[ 정보처리기사 ] 실기 / 2020년 1회 - 11~20번

OSI 7계층 중 다음에서 설명하는 계층은?

전송에 필요한 두 장치 간의 실제 접속과 절단 등
기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다.
단위(PUD)는 '비트'를 사용한다.
물리 계층
1계층은 물리계층(Physical layer)이며, 물리적인 장치의 전기적, 전자적 연결에 대한 명세이다.
이 계층에서는 디지털 데이터를 아날로그적인 전기적 신호로 변환하여 물리적인 전송을 가능케 한다.
또한 주소 개념이 없으며 물리적으로 연결된 노드 간에 신호를 주고 받는다.

2계층은 데이터링크 계층(Data link layer)이다.
인접한 노드 간의 신뢰성 있는 데이터(단위: 프레임) 전송을 제어(Nod-To Delivery)한다.
그리고 네트워크 카드의 MAC(Media Access Control) 주소를 통해 목적지를 찾아간다.
또한 신뢰성 있는 전송을 위해 흐름 제어, 오류 제어, 회선 제어를 수행한다.

3계층은 네트워크 계층(Network layer)이며
종단간 전송을 위한 경로를 설정한다. (End-To-End / Host-To-Host Delivery)
호스트로 도달하기 위한 최적의 경로를 라우팅 알고리즘을 통해 선택하고 제어하며,
종단 간의 전송을 위한 주소로 IP 주소를 사용한다.

4계층은 전송 계층(Transport layer)이다. (End-To-End Reliable Delivery)
종단간 신뢰성 있는 데이터 전송을 담당한다.
종단(Host)의 구체적인 목적지(Process)까지 데이터가 도달할 수 있도록 하며,
(Process-To-Process Communication)
Process를 특정하기 위한 주소로 Port Number를 이용한다.

5계층은 세션 계층(Session layer)이며,
응용 프로그램 간의 논리적인 연결(세션) 생성 및 제어를 담당한다.

6계층은 표현 계층(Presentation layer)이다.
이 계층에서는 데이터 표현 방식, 상이한 부호체계 간의 변화에 대해 규정한다.
인코딩/디코딩, 압축/해제, 암호화/복호화 등의 역할을 수행한다.

마지막으로 7계층은 응용 계층(Application layer)이다.
HTTP라는 응용 계층 프로토콜은 응용 프로그램인 웹 브라우저에 필요한 데이터를 송수신한다.

 

LoC 기법으로 개발을 해야 하는 프로젝트의 총 라인이 30000 라인이고, 개발자가 5명, 그리고 인당 월평균 300라인의 개발이 가능할 때, 개발하는 데에 소요될 것으로 예상되는 시간의 계산식과 그 결과를 작성하시오.

30000 / (300 * 5 ) = 20개월

 

아래는 애플리케이션 성능을 측정하기 위한 요소들이다. (가), (나), (다)에 들어갈 단어를 적으시오.

속성 설명
(가) 일정 시간 내에 애플리케이션이 처리하는 일의 양
(나) 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
(다) 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
자원 사용률 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량, 네트워크 사용량 등
(가) 처리량(Throughput)
(나) 응답시간(Response Time)
(다) 경과시간(Turnaround Time)

 

다음은 소프트웨어 모듈화에 관한 설명이다. (가), (나)에 들어갈 단어를 각각 적으시오.

모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의마하는 것으로,
모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용을 배제함으로써 이루어진다.
모듈의 독립성을 높이기 위해서는 (가)는 약하게, (나)는 강하게 만들어야 한다.
(가) 결합도
(나) 응집도

 

데이터베이스 성능 개선과 관련하여 '데이터베이스 반정규화'란 무엇인지 설명하시오.

반정규화(Denormalization)란 데이터베이스 성능 향상 등을 위해
정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위이다.
주요 기법에는 테이블 합병, 중복 칼럼 추가, 계산된 칼럼 추가, 코드 명칭 칼럼 추가 등이 있다.

 

다음의 시스템 구조도에서 팬인(Fan-in)이 2 이상인 것은 무엇인가?

데이터가 2개 이상 들어오고 있는 것은
F와 J이다.

 

다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include 
void align(int a[ ]) {
int temp;
for (int i = 0; i < 4; i++) {
  for (int j=0; j < 4 - i; j++)  {
    if (a[j]> a[j+1]) {
      temp = a[j];
      a[j] = a[j+1];
      a[j+1] = temp;
    }
  }
}

main( ) {
    int a[ ] = { 85, 75, 50, 100, 95 };
    align(a);
     for (int i = 0; i < 5; i++) printf("%d ", a[i]);
50 75 85 95 100

 

다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오.(단, 출력문의 출력 서식을 준수하시오.)

#include 
main( ) {
   int c = 1;
   switch (3) {
      case 1: c += 3;
      case 2: c++;
      case 3: c = 0;
      case 4: c += 3;
      case 5: c -= 10;
      default: c--;
   }
   printf("%d", c);
}
-8

 

다음은 Java 언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오.(단, 출력문의 출력서식을 준수하시오.)

public class Test {
   static int[ ] arr( ) {
     int a[ ] = new int[4];
     int b = a.length;
     for(int i = 0; i < b; i++)
        a[i] = i;
     return a;
  }

  public static void main(String[ ] args) {
     int a[ ] = arr( );
     for(int i = 0; i < a.length; i++)
        System.out.print(a[i] + " ");
  }
}
0 1 2 3

 

학생 테이블에 전기과 학생이 50명, 전산과 학생이 100명, 전자과 학생이 50명이 있다고 할 때, 다음 SQL문 1), 2), 3)의 실행 결과로 표시되는 튜플의 수를 쓰시오.(단, DEPT 필드는 학과를 의미)

1) SELECT DEPT FROM EMPLOYEE;
2) SELECT DISTINCT DEPT FROM EMPLOYTEE;
3) SELECT COUNT(DISTINCT DEPT) FROM EMPLOYEE WHERE DEPT='전산과';
1) 200
2) 3
3) 1
반응형

 

728x90
반응형

loading