본문 바로가기
Certificate/정보처리기사

[정보처리기사] 2021년 3회차 (4)프로그래밍 언어 활용

by HJ0216 2023. 7. 11.

정보처리기사

응집도

: 모듈 내부의 기능적인 집중 정도

  1. 우연적(Coincidental): 모듈 내부의 각 구성요소들이 연관이 없을 경우
  2. 논리적(Logical): 유사한 성격을 갖는 요소들이 한 모듈에서 처리
  3. 시간적(Temporal): 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리
  4. 절차적(Procedural): 모듈 안의 구성요소들이 그 기능을 순차적으로 수행
  5. 통신적(Communicational): 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우
  6. 순차적(Sequential): 모듈 내에서 한 활동으로 부터 나온 출력값을 다른 활동이 사용할 경우
  7. 기능적(Functional): 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우

결합도

: 모듈과 모듈간의 상호 의존 정도

  1. 자료(Data): 모듈간의 인터페이스 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우
  2. 스탬프(Stamp): 모듈간의 인터페이스로 배열이나 오브젝트, 스트럭쳐등이 전달되는 경우
  3. 제어: 단순히 처리를 해야할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달
  4. 외부(External): 어떤 모듈에서 반환한 값을 다른 모듈에서 참조해서 사용하는 경우
  5. 공통(Common): 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우
  6. 내용(Content): 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우

 

프로세스 상태

process_state

 

ARQ(자동반복 요청방식)

  • Stop-and-Wait ARQ
    : 수신측으로부터 ACK을 받을 때까지 대기하다가 전송하는 방법
  • Go-back-N ARQ
    : 오류가 난 지점부터 전송한 지점까지 모두 재전송 하는 기법
  • Selective Repeat ARQ
    : 오류가 난 부분만 재 전송하는 기법
  • Adaptive ARQ
    : 전송 효율을 최대한 높이기 위해 데이터 프레임의 길이를 동적으로 변경하여 전송

 

IP Class

A Class: 0
B Class: 10
C Class: 110

 

TCP Header

tcp_header

  • Source Port: 세그먼트의 출발지를 나타내는 전송 포트
  • Destination Port: 세그먼트의 목적지를 나타내는 수신 포트
  • Sequence Number: 전송하는 데이터 순서, 수신 측에서 Sequence Number로 순서를 파악해서 다시 올바른 순서로 재조립
  • Acknowledge Number: 다음에 수신될 것으로 예상되는 세그먼트의 번호
  • Header Length(4): HLEN, 데이터가 시작되는 위치가 어디인지를 나타내서 이 값을 통해 데이터의 시작 위치를 알 수 있음
  • Reserve(6): 미래를 위해 남겨놓는 필드
  • Flag Bits(6): 데이터를 관리하거나 제어
    • URG 플래그: Urgent, 이 포인터가 가리키는 긴급한 데이터는 제일 먼저 처리
    • ACK 플래그: Acknowledgment number, 요청에 대한 응답 시 사용
    • PSH 플래그: TCP 버퍼가 일정한 크기만큼 쌓여야 전송을 하는데 버퍼를 채우지 않고 바로 전송을 수행(push) 하는 플래그
    • RST 플래그: 이미 TCP 연결이 되어 있을 때 이 연결을 강제로 해제하기 위해 사용
    • SYN 플래그: 상대방과 연결을 생성할 때, 시퀀스 번호의 동기화를 맞추기 위하여 사용
    • FIN 플래그: 연결 종료(전송할 데이터가 없음)를 의미
  • Window Size(16): 자신의 수신 버퍼 여유용량 크기를 통보해 얼만큼의 데이터를 받을 수 있는지 상대방에게 알려주어 흐름제어
  • Checksum: 데이터를 송신하는 중에 발생할 수 있는 오류를 검출
  • Urgent Pointer: 이 포인터가 가리키는 데이터는 긴급한 데이터로 처리되어 제일 먼저 처리

 

페이지 교체 알고리즘

: 운영체제에서 필요한 페이지가 주기억장치에 적재되지 않았을 시(= 페이징 부재) 어떤 페이지 프레임을 선택해 교체할 것인지 결정하는 방법

  1. FIFO(first in first out)
    : 가장 간단한 알고리즘, 메모리에 올라온 지 가장 오래된 페이지를 교체
  2. SCR(Second Chance Replacement)
    : FIFO에서 한 번 더 기회를 주고 교체
  3. 최적(Optimal)
    : 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체 - 구현 불가능
  4. LRU(least-recently-used)
    : 가장 오래 사용되지 않은 페이지를 교체
  5. NUR(Not Used Recently)
    : 최근에 사용하지 않은 페이지 교체
  6. LFU(least-frequently-used)
    : 참조 횟수가 가장 작은 페이지를 교체
  7. MFU(most-frequently-used)
    : 참조 횟수가 가장 많은 페이지를 교체

 

 

 

참고 자료

 

흥달쌤

흥달쌤과 함께하는 IT 채널입니다. 정보처리기사 자격증 관련된 강의 및 실무 노하우, 프로그래밍 언어(JAVA, C언어, Python) 특강 등이 진행됩니다. 앞으로 진행 예정인 동영상은 IT 관련된 이야기

www.youtube.com

 

📋 관계 대수 & 관계 해석 표현법 💯 총정리

관계 대수 (Relation Algebra) 관계 대수식이란 기존 릴레이션(테이블)들로부터 새로운 릴레이션을 생성하는 절차적 언어 문법이라고 보면 된다. 릴레이션에 대해 기본적인 연산자들을 적용하여 보

inpa.tistory.com

 

ARQ(Automatic Repeat Request) 종류 및 정리

ARQ : Automatic Repeat Request의 약자로, 자동 반복 요청을 의미. 에러가 발생한 경우 재전송을 요구하는 방식 Go-back-N ARQ와 Selective Repeat ARQ는 모두 전송층(Transport Layer)의 프로토콜이며 이 두가지를 혼

www.uname.in