[정보처리기사] 프로그래밍 언어 활용
4과목 : 프로그래밍 언어 활용
IPv4
- 32비트 주소
- 유니캐스트/멀티캐스트/브로드캐스트 사용
IPv6
- 128비트 주소
- 기존 IPv4의 주소 부족 문제를 해결하기 개발
- 인증성/기밀성/무결성 지원 (=보안성 강화)
- 유니캐스트, 애니캐스트, 멀티캐스트 사용
OSI 7계층
- 1계층 - 물리계층(Physical Layer) : Coax, Fiber, Wireless
- 2계층 - 데이터 링크계층(DataLink Layer) : Ethernet, SLIP, PPP, FDDI, HDLC
- 3계층 - 네트워크 계층(Network Layer) : IP, IPSec, ICMP, IGMP
- 4계층 - 전송 계층(Transport Layer) : TCP, UDP, ECN, SCTP, DCCP
- 5계층 - 세션 계층(Session Layer) : VARIOUS API;S, SOCKETS
- 6계층 - 표현 계층(Presentation Layer) : SSL, FTP, IMAP, SSH
- 7계층 - 응용 계층(Application Layer) : HTTP, FTP, IRC, SSH, DNS
상호배제 기법
- 데커의 알고리즘
- 프로세스가 두개일때 상호 배제를 보장하는 최초의 알고리즘
- flag와 turn 변수를 사용하여 조정
- 프로세스가 두개일때 상호 배제를 보장하는 최초의 알고리즘
- 램퍼드 알고리즘
- 프로세스 n개의 상호 배제 문제를 해결한 알고리즘
- 프로세스에게 고유한 번호를 부여하고, 번호를 기준으로 우선순위를 정하여 우선순위가 높은 프로세스가 먼저 임계구역에 진입하도록 구현.
- 프로세스 n개의 상호 배제 문제를 해결한 알고리즘
- 피터슨 알고리즘
- 프로세스가 두개일때 상호 배제를 보장, 데커의 알고리즘과 유사하지만 상대방에게 진입 기회를 양보한다는 차이가 있고 보다 더 간단하게 구현됨
- 프로세스가 두개일때 상호 배제를 보장, 데커의 알고리즘과 유사하지만 상대방에게 진입 기회를 양보한다는 차이가 있고 보다 더 간단하게 구현됨
- 세마포어
- 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌(동기화 대상이 하나 이상)
- 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌(동기화 대상이 하나 이상)
내부단편화
- First Fit: 들어갈 수 있는 첫 번째 공간에 넣음
- Best Fit: 내부 단편화(자투리)가 가장 적게 남는 공간에 넣음
- Worst Fit: 가장 큰 공간에 넣음
자동반복 요청방식
- Stop-and-Wait ARQ(정지-대기 ARQ) : 송신 측이 하나의 블록을 전송한 후 수신 측에서 에러의 발생을 점검한 다음, 에러 발생 유무 신호를 보내올 때까지 기다리는 방식
- Go-Back-N ARQ : 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록부터 모두 재 전송
- Selective-Repeat ARQ(선택적 재전송 ARQ) : 여러 블록을 연속적으로 전송하고, 수신측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록만을 재전송
- Adaptive ARQ(적응적 ARQ) : 전송 효율을 최대로 하기 위해서 데이터 블록의 길이를 채널의 상태에 따라 동적으로 변경하는 방식
IP adress
- A class ip 주소 범위 : 0.0.0.0 ~ 127.255.255.255
- B class ip 주소 범위 : 128.0.0.0 ~ 191.255.255.255
- C class에 속하는 ip : 192.0.0.0 ~ 223.255.255.255
D class와 E class는 각각 멀티캐스트용, 연구용으로 사용됨
- D class ip 주소 범위: 224.0.0.0 ~ 239.255.255.255
- E class ip 주소 범위: 240.0.0.0 ~ 255.255.255.255
페이지 교체 알고리즘의 종류
- OPT(Optimal) : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체
- FIFO(First In First Out)
- LRU(Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지 교체
- LFU(Least Frequently Used) : 참조 횟수가 가장 작은 페이지 교체
- MFU(Most Frequently used) : 참조 횟수가 가장 많은 페이지 교체
- NUR(Not Used Recently) : 최근에 사용하지 않은 페이지 교체
구성요소 응집도
- Logical Cohension(논리적 응집도): 모듈 내 구성 요소들이 같은 범주에 속하는 기능끼리 묶인 경우(ex. 새글, 불러오기, 저장하기, 다른이름으로 저장하기)
- Coincidental Cohension(우연적 응집도): 모듈 내 구성 요소들이 뚜렷한 관계없이 묶인 경우
- Sequential Cohension(순차적 응집도): 모듈 내 구성 요소들이 이전의 명령어로부터 나온 출력결과를 그 다음 명령어의 입력자료로 사용하는 경우(ex. 총점과 평균의 관계)
결합도 순서
내용(content) > 공통(common) > 외부(external) > 제어(control) > 스템프(stamp) > 자료(data)
응집도 순서
기능적(Functional) 응집도 > 순차적(Sequential) 응집도 > 교환적(Communication) 응집도 > 절차적(Procedural) 응집도 > 시간적 응집도(Temporal) > 논리적(Logical) 응집도 > 우연적(Coincidental)응집도
교착상태발생의 필요 충분 조건
- 상호배체
- 점유와 대기
- 환형 대기
- 비선점
소프트웨어 프레임워크의 특징
- 모듈화
- 재사용성
- 확장성
- 제어의 역 흐름
프로세스의 상태 종류
- 보류 (pending)
- 접수 (fold)
- 준비 (ready)
- 실행 (running)
- 대기 (blocked)
- 블록 (block)
- 교착 (deadlock)
- 완료 (terminated)
- 종료(Terminated, Exit)
교착상태의 해결 방법
- Prevention(예방) : 교착 상태의 원인이 되는 조건 중 하나를 제거
- 상호배제
- 점유와대기
- 비선점
- 환형대기
- 상호배제
- Avoidance(회피) : 은행가 알고리즘
- Detection(탐지) : 자원 할당 그래프
- Recovery(복구) : 자원 선점/프로세스 종료
PHP 사용가능 연산자
- @ : 에러 제어 연산자
- < > : 관계 연산자
- === : 관계 연산자