정보처리기사 실기 준비

4과목 프로그래밍 언어 활용

gyk7 2024. 8. 13. 15:49

1. 결합도와 응집도

결합도 : 모듈 간의 공유되는 정도 

응집도 : 모듈 내부의 공유되는 정도

응집도↑, 결합도↓ 좋음.

 

결합도(모듈 간 관계) 내공외제스자(약해지는 순서)

내용결합도-공통결합도-외부결합도-제어결합도-스탬프결합도-자료결합도(데이터결합도)

응집도(모듈 내 관계) 우논시절통순기(강해지는 순서)

우연적응집도-논리적응집도-시간적응집도-절차적응집도-통신적응집도-순차적응집도-기능적응집도

 

(결합도)

내용결합도 : 한 모듈이 내부 기능 및 내부 자료를 직접 참고하거나 수정할 때

공통결합도 : 공유되는 영역 여러 모듈이 사용. 동일한 전역 데이터 접근

외부결합도 : 외부의 다른 모듈에서 참조할 때 결합도

제어결합도 : 제어하기 위한 목적, 권리 전도 현상

스탬프결합도 : 모듈 간 자료 구조가 전달될 때 변화가 생기면 그것을 조회하는 모듈에 영향(두 모율이 동일한 자료구조 조회)

자료결합도 : 자료요소로만 구성, 처리값을 다시 돌려줌(어떤 모듈이 다른 모듈을 호출하면서 매개변수나 인수를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식)

 

(응집도)

우연적 응집도 : 서로 관련 X

논리적 응집도 : 유사 성격이나 특정 형태로 분리되는 처리 요소들로 모듈 형성

시간적 응집도 : 특정 시간에 처리되는 몇 개 기능을 모아 모듈 구성

절차적 응집도 : 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우

통신적 응집도 : 동일 입출력 사용시 서로 다른 기능을 수행하는 구성요소가 모였을 경우

순차적 응집도 : 활동을 통해 나온 출력 데이터를 그 다음 활동 입력 데이터로 활용하는 경우

기능적 응집도 : 모든 기능 요소가 단일 문제와 연관되어 수행될 경우

 

2. IP 주소

IPv4 

- 32bit 주소체계

- 10진수 사용해서 표현(ex) 127.0.0.1

- 대역대별로 클래스가 나뉨(앞자리 기준 0~128 A, 128~192 B, 192~224 C, 224~240 D, 240~255 E)

- 유니/멀티/브로드

- 40 octet

- 헤더 가변적

- 패킷 크기 64Kbyte 고정

IPv6

- 128bit 주소체계

- 자료 전송 속도 빨라짐, 보안성, 확장성(인증성/기밀성/무결성 지원) 뛰어남

- 2^128개의 주소 표현 가능

- 16bit씩 8부분을 16진수로 표현 

- 유니/애니/멀티 

- 헤더 40byte 고정

- 패킷 크기 임의로

 

3. OSI 7계층 (응표세전네데물)

 

ICMP : 오류 관련 패킷 전송

ARP : IP → MAC (논리적 주소 → 물리적 주소)

RARP : MAC → IP (물리적 주소 → 논리적 주소)

 

4. TCP vs UDP

TCP, UDP 모두 트랜스포트 계층에 존재

TCP : 기본 헤더 크기 최소 20byte, 최대 60byte

- 연결형 서비스

- 가상 회선 방식

- 신뢰성 높고, 속도 느림

- 전송 순서 보장

- 데이터 전송 후, ACK 받음

- 스트림 전송 기능 제공

 

UDP

- 비연결형 서비스

- 데이터그램 방식

- 전송 순서 미보장

- 신뢰성 낮고, 속도 빠름(실시간 전송에 유리)

- 단순한 헤더 구조로 오버헤드 적음.

 

5. 쉘과 커널

쉘 : 외부 껍데기 

- 사용자 명령 해석, 커널로 전달

- 반복 명령 프로그램

- 사용자 환경 설정 기능

 

커널 : 내부 알맹이

- 프로세스 종료, 생성

- 기억장치 할당, 회수

- 파일 시스템 관리

- 쉘 프로그램 실행을 위해 프로세스, 메모리 관리 ( 프로세스의 상태 종류 : 제출, 접수, 준비, 실행, 대기 보류, 종료)

- 프로그램과 하드웨어 간의 인터페이스 역할

 

6. 프로세스 스케줄링

SJF(Shortest Job First) : 실행시간 짧은 곳부터

HRN(Highest Response-ration Next) : 실행시간 대비 오래 기다린 곳부터 실행, 단순실행 시간만 보는 SJF의 단점 보완

 

HRN 계산법 : 비선점 스케줄링. SJF 보완 위해

우선가중치 = (대기시간 + 실행시간) / 실행시간

우선순위 가중치 큰 프로세스부터 실행

ex) p1 = 대기 20, 실행 5 / p2 = 대기 30, 실행 10

p1 : (20 + 5) / 5 = 5

p2 : (30 + 10) / 10 = 4

=> p1, p2 순으로 실행

 

7. 페이지 교체 알고리즘

FIFO(First In First Out) : 가장 먼저 들어온 것부터 교체(가장 많이 쓰인 페이지 교체)LRU(Least Recently Used) : 가장 오래 사용되지 않은 것 교체

LFU(Least Frequently Used) : 가장 적게 참조된 페이지를 교체

 

8. 변수명 규칙

- 미리 정의된 키워드 사용 불가(if, else, for, while, continue, true, false)

- 변수 이름 사이 공백 없음.

- 변수 이름 숫자로 시작 불가

 

9. 자바접근 제한자

- public : 모든 접근 허용

- protected : 같은 패키지 또는 자식 클래스에서 사용 가능

- default : 같은 패키지에 속한 클래스에서만

- private : 본인 클래스에서만

 

10. 내부 단편화

15kb, 23kb, 30kb가 있고 20kb가 들어갈 때 best-fit 기준

내부 단편화 크기는? 3kb

best-fit은 요구치보다 작지 않으면서 가장 핏한거 사용, 그러고 남는 규격

 

15kb, 23kb, 30kb가 있고 20kb가 들어갈 때 worst-fit 기준

내부 단편화 크기는? 10kb

worst-fit은 무조건 큰거 사용, 그러고 남는 규격

 

11. IP 프로토콜 주요 특징

- 패킷 Length는 IP 헤더를 제외한 패킷 전체 길이. 최대크기 : 2^16 - 1 비트

- 헤더 길이 : 32비트 워드 단위로 표시

- 데이터 체크섬 제공 X, 헤더 체크섬 제공 O (체크섬 : 검사합으로 간단하게 오류를 검출하는 방법. 데이터의 무결성을 검사할 수 있음)

- 비연결형 서비스 제공

- 패킷을 분할, 병합하는 기능 수행

 

12. 파이썬 자료구조 형태

시퀀스 - 리스트 - 순서있고 가변

시퀀스 - 튜플 - 순서있고 불변

셋 - 셋 - 순서 X, 중복 X

맵 - 딕셔너리 - 순서 X. key-value

(순서 X = 인덱스 사용 X)

 

13. 대표적 빌드 도구 : Ant, Maven, Gradle

 

14. 스크립트 언어응용소프트웨어(애플리케이션)을 제어하는 용도로 사용되는 프로그래밍 언어ex) Javascript, Jsp, PHP, Python, Ruby