정보처리기사

[정보처리기사] 2020년 1회, 2회 프로그래밍 언어 활용 정리

jaeheon0520 2024. 7. 23. 02:26

IPv4 vs IPv6

구분 IPv4 IPv6
주소길이 32bit 128bit
표시방법 8bit씩 4부분
ex) 192.168.10.120
16비트씩 8부분 (16진수)
주소개수 약 43억개 약 31조개
주소할당 A, B, C, D, E 클래스 단위
비 순차적 할당
네트워크 규모 및 단말기 수에 따라 순차할당
품질제어 품질보장 곤란 품질보장 용이
헤더크기 용이 가변
전송방식 MultiCast (group chat)
UniCast (1:1)
BroadCast (불특정 다수)
MultiCast (group chat)
UniCast (1:1)
AnyCast (불특정 다수)

 

비트연산자

연산자 연산내용
& 두 비트가 모두 참이면 참
| 두 비트 중 하나만 참이면 참
^(xOR) 두 비트가 서로 다르면 참
~ 비트 반전

 

TCP/IP 프로토콜, OSI-7 계층

 

모듈 사이의 결합도

결합도 내용
자료 결합도 (가장 좋다) 모듈간의 자료(값)를 통해서만 모듈 상호 작용 발생
스탬프 결합도 모듈간의 배열이나 오브젝트, 스트럭쳐 등이 전달되는 경우
제어 결합도 값만 전달되는게 아니라, 제어 요소가 전달 되는 경우
외부 결합도 모듈에서 외부로 선언한 변수를 다른 모듈에서 참조
공통 결합도 전역변수를 참조
내용 결합도 (가장 구리다) 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용

 

공식: '테''스'형 '제' '외' 저래 '공'유랑 '내'가 닮았대

 

모듈 사이의 응집도

응집도 내용
기능적 응집도 (가장 좋음) 모듈 내부의 모든 기능이 단일한 목적을 위해 수행
순차적 응집도 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용
통신적 응집도 동일한 입력과 출력을 사용하여 다른 기능을 수행
절자적 응집도 모듈 안의 구성 요소들이 기능을 순차적으로 수행하는 경우
시간적 응집도 특정 시간에 처리되어야 하는 활동을 한 모듈에서 처리
논리적 응집도 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 한 모듈에서 처리
우연적 응집도 (가장 구림) 모듈 내부의 각 구성 요소들이 연관이 없는 경우

 

암기 공식: '우'리 '놀'던 '시''절'에 먹었던 '통'통한 '순'대 '기'가막혔다.

교착상태의 필요충분조건

상호배제(Mutal Exclusion): 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없음

점유와 대기(Hold & Wait): 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기

비선점(Non-Preemption): 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능, 만약에 선점이라면 뺏어버리면 됨

환형대기(Circular wait): 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태

 

프로세스 상태의 종류

 

비선점 스케줄링(이미 사용하고 있으면 선점할 수 없다)

- 우선순위 스케줄링: 우선순위가 높은것 먼저 처

- 기한부 스케줄링: 점유 가능한 시간을 정해둠

- 선입선출 스케줄링(FIFO) : 먼저 온거 먼저 처리

- 최단 프로세스 우선 스케줄링(SJF): 적게 걸리는거 먼저 처리

- 최고 응답률 우선 스케줄링(HRN): 경로 우대 사상, 오래 기다린 거에 우선순위 부여

 

선점 스케줄링(이미 사용하고 있어도 선점할 수 있다)

- 라운드 로빈 스케줄링(RR): 일정 시간씩 끊어서 돌림

- 최소잔여 시간 스케줄링(SRT): 실행시간 빠른거(적게 걸리는거) 먼저 집어넣음

- 멀티레벨 큐(MLQ): 여러개의 큐를 만들어서 프로세스에 따라 다른 우선순위의 큐에 배치

- 다단계 피드백 큐(MFQ): 일단 큐에 집어넣은 다음, 큐를 일정 시간마다 돌아디님

 

스크립트 언어

컴파일 언어(번역)

- 프로그램 전체를 처음부터 끝까지 해독해 목적코드로 만든 후 실행

- C, C++, COBOL, Ada, FORTRAN, PASCAL, 등

 

인터프리터 언어(통역)

- 프로그램 라인 단위로 한 줄씩 해석하고 바로 실행한다

- javascript, BASIC, LISP, 등

 

스크립트 언어

- 소스코드를 컴파일 하지 않고 실행할 수 있는 프로그래밍 언어

- 내장된 번역기에 의해 번역되므로 바로 실행할 수 있다

- 인터프리터 방식의 언어를 보통 스크립트 언어라고 혼용하여 사용

- javascript, actionscript, jsp, perl, php, python, Ruby, 등