공부

정보처리기사 필기 공부하기 - [4과목] 프로그래밍 언어 활용

besomilk 2023. 7. 8. 11:59

IP 프로토콜

- 비연결형 서비스

- 헤더 체크섬 제공

- Best Effort 원칙에 따른 전송 기능 제공

Header Length : 4바이트 = 32비트

Packet Length : 2바이트 = 16비트 단위, 최대 크기는 2^16 - 1 비트

Time To Live : 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것

Version Number : IP 프로토콜의 버전번호

 

IPv4

- 유니캐스트, 멀티캐스트, 브로드캐스

IPv6

- 유니캐스트, 멀티캐스팅, 애니캐스트

- 보안과 인증 확장 헤더 사용

- 애니캐스트: 하나의 호스트에서 가장 가까운 곳의 수신자에게 전달

- 128비트 주소체계

 

UDP 프로토콜

- 비연결형 서비스 제공

- 흐름 제어가 없어 전송 속도 빠름- 수신된 데이터의 순서 재조정 기능 X- 복구 기능 X

 

TCP

- 연결형 서비스

 

 

 

RIP 라우팅 프로토콜

최단 경로 탐색에는 벨만 포드 알고리즘 사용

hop count (거리 값) 으로 경로 선택 → 최적의 경로가 아닌 경우 多

각 라우터는 이웃 라우터로부터 수신한 정보를 이용해 라우팅 표 갱신

IGP에 해당

 

IGP

거리 방향 - RIP, IGRP

연결 상태 - EIGRP, OSPF

EGP - BGP

 

 

OSI 7계층

응용

- HTTP, FTP, SMTP, POP3, IMAP, Telnet 등의 프로토콜

- 소프트웨어 UI, 사용자 입출력 부분

 

표현

- 코드 간 번여 담당

- 인코딩 바꾸기 

 

세션

- 세션 설정, 유지, 종료

- 전송 중단시 복구

- TCP/IP 세션을 만들고 없애는 책임

- 통신을 위한 세션 확립/유지/중단 운영체제가 해줌

 

전송

- 패킷 생성

- 연결 기반. 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷은 다시 전송

- TCP 프로토콜

  신뢰적인 전송 보장

- UDP 프로토콜

  비연결성, 신뢰성 없음, 순서화되지 않은 데이터그램 서비스

  실시간 응용 및 멀티캐스팅 가능

  헤더가 단순해 헤더 처리에 시간과 노력 적음

 

네트워크

- 라우팅: 데이터 목적지까지 전달

- 경로에 따라 패킷 전달

- 세그맨테이션, 오류제어, 흐름제어,  인터네트워킹

- IP 프로토콜

  IP 주소 부여, 비연결형 데이터그램 방식

  오류제어, 흐름제어 기능이 없음 -> Best Effort Service

  TCP와 같은 트랜스포트 계층에 의존해 신뢰성 확보 가능

 

데이터 링크

- 정보 전달, 프레임 단위

- 한 노드로부터 다른 노드로 프레임을 전송하는 책임

- 브리지, 스위치

- 맥 주소

- 포인트 투 포인트, CRC 기반 오류 제어와 흐름 제어

- 이더넷, HDLC, ADCCP

 

물리 계층

 

세션 하이재킹

: 클라이언트의 세션을 가로채는 것

 

세션하이재킹 탐지 방법
- 비동기화 탐지: 서버와 시퀀스 넘버를 주기적으로 탐지, 비동기 상태 탐지
- Ack Storm 탐지: 급격한 ACK 비율 증가시 탐지
- 패킷의 유실 및 재전송 증가 탐지: 공격자가 중간에 끼어서 작동하므로 패킷의 유실과 서버와의 응답이 길어짐

 

 

 

프로세스 스케줄링

SJF (최소 작업 우선) : 기아상태의 약점 존

HRN (Highest Response Ratio Next) : SJF 보완

- (대기시간 + 실행시간) / 실행시간

RR (Round Robin) :우선순위를 두지 않고 순서대로 시간 할당

MQ : 멀티 큐, 큐 스케줄링이 필요

 

 

페이징

페이지 크기가 작은 경우

- 내부 단편화 감소

- 더 많은 페이징 사상테이블 필요

- 기억장소 이용 효율 증가

- 총 입출력 시간 늘어남

페이지 크기가 크면

- 주기억 장치 공간 절약

- 테이블이 복잡하지 않아 관리 용이

 

페이지 교체 기법

FIFO

LRU (Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지를 교체 (변동 시 결함 발생)

OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체

LFU - Least Frequently Used : 참조 횟수가 가장 작은 페이지 교체
MFU - Most Frequently used : 참조 횟수가 가장 많은 페이지 교체
NUR - Not Used Recently : 최근에 사용하지 않은 페이지 교체

 

 

 

운영체제

UNIX

- time sharing system을 위해 설계된 대화식 운영체제

- multi-user

- c언어로 작성됨. 이식성, 장치간 호환성 높음

- Linux, Mac, Android(리눅스 기반)

 

Windows

- single user

 

스레드

각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링 가능

 

커널 수준

- 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요 없어 성능 높일 수 있음

- 동시에 여러 스레드가 커널에 접근할 수 있음. 시스템 호출을 동시에 사용 가능

 

사용자 수준

- 커널 모드로의 전환없이 스레드 교환이 가능, 오버헤드가 줄어

 

 

모듈화

모듈의 독립성

독립성이 높을수록 품질 좋음

 

결합도

: 의존 정도, 낮을 수록 독립성 높음

자스제외공내

자료 : 매개변수

스탬프(검인) : 매개변수로 자료구조 넘겨줄 때

제어

외부

공통(공유) : 동일한 전역 데이터 접근

내용 : 내부 기능 및 내부 자료 참조

 

응집도

: 하나의 기능을 수행하는 요소들간의 연관성 척도, 높을 수록 독립성 높음

기능

순차

교환(통신)

절차

시간

논리

우연

 

C 언어

printf

%d 정수형

%u 주소값

 

&n 변수의 주소값

*pt 포인터가 가리키고 있는 주소에 저장된 값

*&pt 포인터의 주소가 가리키고 있는 주소에 저장된 

 

Python 언어

- 튜플: 순서에 따라 저장, 불변형

 

java 언어

조건문 ? a : b

조건문이 참일 경우 a, 아니면 b

 

javascript

객체 기반

클래스 지원

프로토타입 개념 존재