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

정보처리기사 실기 11장 - 응용 SW 기초 기술 활용

by 애기 개발자 2024. 7. 22.
반응형

132. 운영체제의 개념 (C)

1. 운영체제 (OS; Operating System)

  • 컴퓨터의 시스템 자원들을 효율적으로 관리하며, 편리하고 효과적으로 사용할 수 있도록 환경을 제공해주는 여러프로그램
  • windows, linux, unix, MacOS, MS-DOS 등

2. 운영체제의 목적

  • 처리 능력
  • 반환 시간
  • 사용 가능도
  • 신뢰도

3. 운영체제의 기능

  • 프로세서, 기억장치, 입출력 장치 등 관리
  • 스케줄링 기능 제공
  • 인터페이스 제공

133. 운영체제의 종류

1. Windows

  • MS 개발
  • GUI 인터페이스
  • 선점형 멀티태스킹 (Preemptive Multi-Tasking)
    • 여러 개의 프로그램을 실행시키는 멀티태스킹을 지원
  • Pnp (Plug and Play, 자동감지 기능)
  • OLE (Object Linking and Embedding)
    • 다른 여러 프로그램등의 개체(Object)를 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집 가능
  • 255자의 긴 파일명
  • Single-User 시스템
    • 컴퓨터 한 대를 한 사람만이 독점하여 사용

2. UNIX

  • AT&T 벨 연구소, MIT, General Electirc 공동 개발
  • 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 OS
  • 오픈 소스
  • C로 개발됨
  • 멀티유저 멀티태스킹
  • 트리 구조 파일 시스템

3. UNIX 시스템 구성

  • 커널(Kernel)
    • HW를 보호, 프로그램과 HW간의 인터페이스 역할
    • UNIX의 가장 핵심적인 부분
    • 프로세스관리, 기억장치, 파일관리, 입출력 등 여러 기능 수행
  • 쉘 (Shell)
    • 사용자의 명령어를 인식하여 프로그램을 호출, 명령어 수행
    • 시스템과 사용자 간의 인터페이스 담당
  • 유틸리티 프로그램
    • 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용
    • DOS에서 외부 명령어에 해당
    • 에디터, 컴파일러, 인터프리터, 디버거 등

4. LINUX

  • 리누스 토발즈가 UNIX 기반 개발
  • 오픈소스
  • UNIX와 완벽 호환

5. MacOS

  • 애플 개발
  • 애플에서 생산하는 제품에만 사용
  • 드라이버 설치/삭제가 단순함

6. Android

  • 구글에서 개발한 리눅스 커널 기반 개방형 모바일 OS
  • 모든 코드 공개
  • 자바와 코틀린으로 작성
  • 스마트폰에 사용

7. iOS

  • 애플 개발 모바일 OS
  • 애플 고유 OS로 타사에 탑재 불가

134. 기억장치 관리 (C)

1. 기억장치의 관리 전략

  • 반입(Fetch)전략
  • 배치(Placement)전략
  • 교체(Replacement)전략

2. 반입(Fetch) 전략

  • 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지 결정
  • 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재
  • 예상 반입 : 예상하여 적재

3. 배치 (Placement) 전략

  • 프로그램이나 데이터를 어디에위치할 것인지
  • 최초 적합 (First Fit) : 들어갈 수 있는곳 첫번째에 배치
  • 최적 적합 (Best Fit) : 단편화를 가장 적게 남기는곳에 배치
  • 최악 적합 (Worst Fit) : 단편화를 가장 크게 남기는 곳에 배치

*내부 단편화 : 분할된 영역이 할당된 후 사용되지 않고 남은 빈 공간

*외부 단편화 : 분할된 영역이 프로그램의 크기보다 작아서 프로그램이 할당되지 못하여 사용되지 않고 빈 공간으로 남아있는 전체 영역

 

4. 교체 (Replacement) 전략

  • 이미 사용되고 있는 영역을 교체
  • FIFO, OPT, LRU, LFU, NUR, SCR 등

135. 가상기억장치 구현 기법 (C)

1. 가상기억장치 (Virtual Memory)

  • 보조기억장치 일부를 주기억장치처럼 사용
  • 페이징 기법, 세그멘테이션 기법

2. 페이징 (Paging) 기법

  • 프로그램과 주기억장치의 영역을 동일한 크기로나눈 후 주기억장치의 영역에 적재시켜 실행
  • 외부단편화 발생 X, 내부단편화 발생할 수 있음

3. 세그먼테이션 기법(Segmentation)

  • 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행
  • 메모리를 절약하기위해 사용
  • 내부단편화 X, 내부단편화O

136. 페이지 교체 알고리즘 (B)

 1. 페이지 교체 알고리즘

  • Page Fault가 발생하면 필요한 페이지를 적재
  • 어떤 페이지 프레임을 선택할 것인지 결정하는 알고리즘
  • OPT, FIFO, LRU, LFU, NUR, SCR 등

2. OPT (OPTimal replacement, 최적 교체)

  • 가장 오랫동안 사용하지 않을 페이지를 교체
  • 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘

3. FIFO (First In First Out)

  • 가장 먼저 들어와서 가장 오래된 페이지 교체
  • 쉽고, 설계 간단

Page Fault 6회

 

4. LRU (Least Recently Used)

  • 최근에 가장 오랫동안 사용하지 않은 페이지 교체
  • 가장 오래전 사용한 페이지를 교체함

 

결함 총 5회 발생.

 

  1. 참조 1: 캐시에 없으므로, 페이지 결함 발생. 캐시 상태: [1]
  2. 참조 2: 캐시에 없으므로, 페이지 결함 발생. 캐시 상태: [1, 2]
  3. 참조 3: 캐시에 없으므로, 페이지 결함 발생. 캐시 상태: [1, 2, 3]
  4. 참조 1: 이미 캐시에 있음.
  5. 참조 2: 이미 캐시에 있음.
  6. 참조 4: 캐시에 없으므로, 페이지 결함 발생. 캐시가 아직 가득 차지 않았으므로, 4를 추가. 캐시 상태: [1, 2, 3, 4]
  7. 참조 1: 이미 캐시에 있음.
  8. 참조 2: 이미 캐시에 있음.
  9. 참조 5: 캐시에 없으므로, 페이지 결함 발생. 가장 오래 전에 사용된 3을 제거하고 5를 추가. 캐시 상태: [1, 2, 4, 5]

5. LFU (Least Frequently Used)

  • 사용 빈도가 가장 적은 페이지 교체
  • 자주 교체되는 페이지는 교체되지 않음

6. NUR (Not Used Recently)

  • 최근에 사용하지 않은 페이지를 교체
  • 사용 여부를 알기 위해 참조비트와 변형비트가 사용됨

7. SCR (Second Change Repacement, 2차 기회 교체)

  • 가장 오랫동안 주기억장치에 있떤 페이지중 자주 사용되는 페이지의 교체를 방지
  • FIFO의 단점 보완

137. 가상기억장치 기타 관리 사항 (B)

1. 페이지 크기

  • 페이지 크기가 작을 경우
    • 단편화 감소, 시간 단축
    • 효율적인 워킹 셋 유지
    • 디스크 접근 회수가 많아져서 전체적인 입출력 시간 늘어남
  • 페이지 크기가 클 경우
    • 매핑속도가 빠름
    • 디스크 접근 횟수 줄어 입출력 효율성 증가
    • 단편화 증가

2. Locality

  • 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
  • 캐시메모리의 이론적 근거
  • 시간 구역성 (Temporal Locality)
    • 프로세스가 실행되면서 하나의 페이지를 일정 시간동안 집중적으로 액세스
  • 공간 구역성 (Spatial Locality)
    • 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스

3. 워킹 셋(Working Set)

  • 프로세스사 일정 시간 동안 자주 참조하는 페이지들의 집합

4. 스래싱 (Thrashing)

  • 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
  • 페이지 부재(Page Fault)가 발생하며 나타남
  • 전체 시스템의 성능이 저하됨
  • CPU이용률이 특정 시점까지 높아지지만, 스래싱이 나타나면 CPU이용률 급 감소함

138. 프로세스의 개요 (B)

1. 프로세스

  • 실행중인 프로그램

2. PCB (Process Control Block, 프로세스 제어 블록)

  • OS가 프로세스에 대한 중요한 정보를 저장해 놓는 곳

3. 프로세스 상태 전이

 

  • 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
  • 접수 : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
  • 준비 : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
  • 실행 : 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
  • 대기, 보류, 블록 : 프로세스에 입출력처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때
  • 까지 대기하고 있는상태
  • 종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

*Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정

 

5. 스레드 (Thread)

  • 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
  • 하나의 프로세스에 하나의 스레드 - 단일 스레드
  • 하나의 프로세스에 하나 이상의 스레드 - 다중 스레드
  • 경량 (Light Weight) 프로세스라고도 함
  • 동일 프로세스 환경에서 서로 독립적인 다중 수행 가능
  • 기억장소 및 자원의 낭비 줄어듬
  • 하나의 프로세스를 여러 개의 스레드로 생성하여 병행성 증진

139. 스케줄링 (D)

스케줄링 종류

  • 장기 스케줄링: 어떤 프로세스가 시스템의 자원을 차지하는가, 작업스케줄링, 상위 스케줄링, 작업 스케줄러
  • 중기 스케줄링 : 어던 프로세스들이 CPU를 할당받는가
  • 단기 스케줄링 : 프로세스가실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업, 프로세스 스케줄링, 하위 스케줄링

 

문맥 교환 (Context Switching)

 - 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생

 - 새로운 프로세스에 CPU를 할당하기 위해 현재 CPU가 할당된 프로세스 상태 정보를 저장하고, 새로운 프로세스의 상태 정보를 설정한 후 CPU를 할당하여 실행되도록 하는 작업

 

프로세서 스케줄링 (단기 스케줄링) 기법

비선점(Non-Preemptive) 스케줄링

  • 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링
  • 프로세스가 CPU를 할당받으면 해당 프로세스가 완료 될 때 까지 CPU 사용
  • 모든 프로세스에 대한 요구를 공정하게 처리
  • 프로세스 응답 시간의 예측 용이, 일괄 처리 방식에 적합
  • 중요한 작업이 중요하지 않은 작업을 기다리는 경우가 발생
  • FCFS(FIFO), SJF, 우선순위, HRN, 기한부 알고리즘

선점(Preemptive) 스케줄링

  • 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링
  • 우선순위가 높은 프로세스를 빠르게 처리
  • 많은 오버헤드 발생
  • 빠른 응답시간을 요구하는 대화식 시분할 시스템에 사용
  • Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등 알고리즘

 


140. 주요 스케줄링 알고리즘 (A)

1. FCFS (First Come First Service, 선입 선출) = FIFO

프로세스 번호 P1 P2 P3
실행 시간 20 4 6

 

평균 실행 시간 : (20 + 4 + 6) / 3

평균 대기 시간 : (0 + 20 + 24) / 3

평균 반환 시간 : (20 + 24 + 30) / 3

 

2. SJF (Shortest Job First, 단기 작업우선)

프로세스 번호 P1 P2 P3
실행 시간 20 4 6

 

평균 실행 시간 : (4 + 6 + 20) / 3

평균 대기 시간 : (0 + 4 + 10) / 3

평균 반환 시간 : (4 + 10 + 30) / 3

 

3. HRN (Highest Response-ratio Next)

  • 대기 시간과 서비스(실행) 시간을 이용
  • 비선점 스케줄링
  • 실행시간이 긴 프로세스에 불리한 SJF를 보완하기 위해 대기시간 및 서비스 시간을 이용
  • 긴 작업과 짧은 작업간의 지나친 불평등을 해소할 수 있다.
  • 우선순위를 계산 숫자가 높은것부터 낮은순으로 순위 부여
  • 우선순위 = (대기시간 + 서비스시간) / 서비스시간
  • 우선순위 값이 클수록 우선순위가 높다.
프로세스 번호 P1 P2 P3
실행 시간 20 4 6
대기 시간 10 20 10
우선순위 계산 (20+10) / 20 / 1.5 (4+20)/4 = 6 (6+10)/6 = 2.6
우선순위 P2 -> P3 -> P1

 

4. RR (Round Robin)

  • 시간 할당량 동안만 실행한 후 다음 프로세스에게 넘김

Time Slice는 4초 일 때

프로세스 번호 P1 P2 P3
실행 시간 20 4 6

 

진행 시간 0 4 8 12 16 18 22 26
프로세스 번호 P1 P2 P3 P1 P3 P1 P1 P1
실행 시간 4 4 4 4 2 4 4 4

 

p2 - 8초에 완료, p3 - 18초 완료, P1 - 30초에 완료

 

반환 시간 : 각 프로세스가 완료된 시간

대기시간 : 프로세스의 가장 마지막 실행이 시작되기 전가지 진행시간을 구함. 여러번 실행되었을 경우실행된 시간 제외

프로세스 번호 P1 P2 P3 평균
반환 시간 30 8 18 56/3 = 18.6
대기 시간 26-10 = 10 4 16 -4 = 12 26/3 = 8.6

 

 

5. SRT(Shortest Remaining Time)

  • 현재실행중인 프로세스의 남은 시간과 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행시간의 프로세스에게 할당

142. 운영체제 기본 명령어

Windows

  • DIR : 파일 목록 표시
  • COPY : 파일 복사
  • TYPE : 파일의 내용 표시
  • REN : 파일 리네임
  • DEL : 파일 삭제
  • MD : 디렉터리 생성
  • CD : 디렉터리 위치 변경
  • CLS : 화면 지우기
  • ATTRIB : 파일 속성 변경
  • FIND : 찾기
  • CHKDSK : 디스크 상태 점검
  • FORMAT : 디스크 표면을 트랙과 섹터로 나누어 초기화
  • MOVE : 파일 이동

UNIX/LINUX

  • cat : 파일 내용 표시
  • chdir : 현재 사용할 디렉터리의 위치 변경
  • chmod : 파일의 권한 변경
  • chown : 소유자 변경
  • cp : 복사
  • exec : 프로세스 수행
  • find : 찾기
  • fork : 프로세스 생성
  • fsck : 파일 시스템 검사, 보수
  • getpid : 자신의 프로세스 아이디
  • getppdid : 부모 프로세스 아이디
  • ls : 현재 디렉터리 파일 목록
  • mount/unmount : 파일 시스템 마운트/마운트해제
  • rm : 삭제
  • uname : 시스템의 이름과 버전, 네트워크 호스트 명 등 시스템 정보 표시
  • wait : fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event 기다림

143. 인터넷 (A)

IP주소

  • 숫자로 8비트씩 4부분, 총 32비트
  • A Class : 국가나 대형 통신망에 사용 (0~127) $ 2^{24} $
  • B Class : 중대형 통신망 (128~191) $ 2^{16} $
  • C Class : 소규모 통신망 (192~223) $ 2^8 $
  • D Class : 멀티캐스트용 (224~239)
  • E Class : 실험적 주소로 공용되지 않음

서브네팅 (Subnetting)

  • 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트를 서브넷 마스크라고하며, 이를 변경하여 네트워크 주소를 여러 개로 분할하여 사용

예) 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 3개의 Subnet으로 나누시오 (IP Subnet-Zero 적용)

192.168.1.0/24 의 서브넷마스크는 1의 개수가 24개, C 클래스에 속하는 네트워크

11111111 11111111 11111111 00000000
255 255 255 0

 

서브넷 마스크를 Subnet으로 나눌 때는 버스넷 마스크가 0인부분, 마지막 8비트를 사용

Subnet으로 나눌때 3개의 Subent으로 나누는 것은 크게 3가지를 따로 나누는것.

즉 3을 표현하기위한 이진수 11을 할당하기 위한 앞 2자리를 제외한 000000 6자리를 호스트로 구성하면 됨

네트워크(ID) 호스트 수 IP주소 범위
1(00) 64 192.168.1.0(00000000) ~ 63(00111111)
2(01) 64 192.168.1.64(01000000) ~ 127(01111111)
3(11) 64 192.168.1.128(11000000) ~ 191(11111111)

 

 

IPv6

  • IPv4의 주소 부족 문제를 해결하기 위해 개발
  • 16비트씩 8부분, 총 128비트, 각 부분을 16진수로 표현, 콜론(:)으로 구분
  • 주소의 확장성, 융통성, 연동성 뛰어남
  • 인증성, 기밀성, 무결성
  • 패킷 크기에 제한 없음

IPv4를 IPv6로 전환하는 방법

  • 듀얼 스택(Dual Stack) : 호스트에서 IPv4와 IPv6을 모두 처리할 수 있도록 두개의 스택을 구성
  • 터널링(Tunneling) : IPv6망에서 인접한 IPv4망을 거쳐 다른 IPv6망으로 통신할 때 IPv4망에 터널을 만들어 패킷이 통과할 수 있도록 하는 것
  • IPv4/IPv6 변환 : 헤더 변환, 전송 계층 릴레이 방식, 응용 계층 게이트웨이 방식

IPv6 구성

  • 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신 (1:1 통신)
  • 멀티캐스트(Multicast) : 단일 송신자와 다중 수신자 (1:다 통신)
  • 애니캐스트(Anycast) : 단일 송신자와 가장 가까이 있는 단일 수신자 (1:1 통신)

 


144. OSI 참조 모델 (A)

 

하위 1~3계층

상위 4~7계층

물 - 데 - 네 - 전 - 세 - 표 - 응

 

물리 계층

  • 전송에 필요한 두 장치간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의
  • 프로토콜 : RS-232C, X.21 등

데이터 링크 계층

  • 2개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할수 있도록 한다.
  • 흐름제어, 프레임 동기화, 오류 제어, 순서 제어 등을 수행
  • 프로토콜 : HDLC, LAPB, PPP, LLC 등

네트워크 계층

  • 개방 시스템들 간의 네트워크 연결을 관리(네트워크 연결을 설정, 유지, 해제)하고 데이터를 교환 및 중계
  • 경로 설정, 트래픽 제어, 패킷 정보전송 등 수행

전송 계층

  • 종단 시스템(End-to-End) 간에 투명한 데이터 전송을가능하게 한다.
  • 전송 연결 설정, 데이터 전송, 연결 해제 기능, 주소 설정, 다중화(데이터의 분할과 재조립), 오류 제어, 흐름 제어 등
  • TCP, UDP 등 표준이 있음

  세션 계층

  • 송수신 측 간의 관련성을 유지하고 대화 제어를 담당
  • 대화 구성 및 동기 제어, 데이터 교환 관리 기능
  • 송수신측 간의 데이터 전송, 연결 해제, 동기 처리 등의 대화를 관리하기 위해 토큰 사용

표현 계층

  • 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층
  • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리 등

응용 계층

  • 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 서비스 제공
  • 사용자(응용 프로그램)가 OSI 환경에 접근 할 수 있도록 서비스 제공

 


145. 네트워크 관련 장비 (C)

네트워크 인터페이스 카드(NIC; Network Interface Card)

  • 컴퓨터와 컴퓨터, 컴퓨터와 네트워크를 연결하는 장치
  • 이더넷 카드(LAN 카드), 네트워크 어댑터 라고 함

허브(Hub)

  • 사무실이나가까운 거리의 컴퓨터들을 연결하는 장치
  • 신호 증폭기능을 하는 리피터 역할도 포함
  • 더미허브, 스위칭 허브

리피터(Repeater)

  • 전송되는 신호가 전송 선로의 특성 및 외부 충격등의 요인으로 인해 왜곡되거나 약해질 경우 원래의신호 형태로 재생하여 다시 전송하는 역할
  • OSI의 물리계층
  • 전송 거리 연장, 배선의 자유도를 높이기 위해 사용

브리지(Bridge)

  • LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹(세그먼트)을 연결하는 기능
  • 데이터 링크 계층 중 MAC 계층에서 사용되므로 MAC 브리지라고도 함
  • 트래픽 병목 현상 줄임
  • 네트워크를 분산적으로 구성하여 보안성 높임
  • 브리지를 이용한 서브넷 구성시 전공 가능한 회선 수는 브리지가 n개일 때, n(n-1)/2 개

스위치(Switch)

  • 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
  • HW기반으로 전송 속도가 빠름
  • 포트마다 각기 다른 전송 속도 제어 가능
  • OSI - 데이터 링크 계층

라우터(Router)

  • 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가됨
  • 서로 다른LAN이나 WAN의 연결도 가능
  • OSI - 네트워크 계층

브라우터

  • 브리지와 라우터의 기능 모두 수행
  • 브리지는 내부 네트워크를 분리
  • 라우터는 외부 네트워크에 연결

게이트웨이(Gateway)

  • 전 계층(1~7 계층)의 프로토콜 구조가 다른 네트워크의 연결을 수행

  전처리기(FEP; Front End Processor)

  • 통신 회선 및 단말장치 제어, 메시지의 조립과 분해, 전송 메시지 검사 등을 미리 수행하여, 컴퓨터의 부담을 줄임
  • 호스트 컴퓨터와 단말장치 사이에 고속 통신 회선

146. TCP/IP (A)

TCP(Transmission Control Protocol)

  • OSI - 전송 계층
  • 신뢰성 있는 연결형 서비스 제공
  • 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공
  • 스트림 전송 기능 제공
  • TCP 헤더에는 Source/Destination Port Number, Sequence Number, Acknowledgment Number, CheckSum 등 포함

IP(Internet Protocol)

  • OSI - 네트워크 계층
  • 데이터그램을 기반으로 하는 비연결형 서비스 제공
  • Best Effort 원칙에 따른 전송 기능
  • 패킷의 분해/조립, 주소 지정, 경로 선택
  • 헤더의 길이는 20Byte ~ 60Btye
  • IP 헤더에는 Version, Header Length, Total Packet Length, Header Checksum, Source IP Address, Destination IP Address 등 포함

TCP/IP 구조

OSI TCP/IP 기능
응용 계층
표현 계층
세션 계층
응용 계층 응용 프로그램 간의 데이터 송수신 제공
TELNET, FTP, SMTP, SNMP, DNS, HTTP 등
전송 계층 전송 계층 호스트들 간의 신뢰성 있는 통신
TCP, UDP
네트워크 계층 인터넷 계층 데이ㅓ터 전송을 위한 주소 지정, 경로 설정
IP, ICMP, IGMP, ARP, RARP
데이터 링크 계층
물리 계층
네트워크 액세스 계층 실제 데이터(프레임)를 송수신 하는 역할
Ethernet, IEEE 802, HDLC, X.25, RS-232C, ARQ 등

 

응용 계층 프로토콜

  • FTP (File Transfer Protocol)
    • 원격 파일 전송 프로토콜
  • SMTP (Simple Mail Transfer Protocol)
    • 전자 우편 전송 프로토콜
  • TELNET
    • 컴퓨터 원격 연결
    • 가상 터미널 (Virtual Termanal) 기능
  • SNMP (Simple Network Management Protocol)
    • TCP/IP 네트워크 관리 프로토콜
  • DNS (Domain Name System)
    • 도메인 네임을 IP주소로 매핑하는 시스템
  • HTTP
  • MQTT (Message Queuing Telemetry Transport)
    • 발행-구독 기반의 메시징 프로토콜, IoT에서 사용

 

전송 계층 프로토콜

  • TCP (Transmission Control Protocol)
    • 양방향 연결
    • 가상 회선 연결
    • 스트림 위주 전달(패킷 단위)
    • 신뢰성 있는경로 확립, 메시지 전송 감독
    • 패킷의 분실, 손상, 지연이나 순서가 틀린 것 등이 발생할 때 투명성이 보장되는 통신
    • TCP 프로토콜의 헤더는 기본적으로 20Byte ~ 60Byte
    • 선택적으로 40Byte를 추가하여 최대 100Byte 확장 가능
  • UDP (User Datagram Protocol)
    • 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스
    • TCP에 비해 단순한 헤더, 오버헤드가 적고, 전송 송속도가 빠름
    • 빠른 속도를 필요할 경우, 정기적으로 반복해서 전송할 경우 사용
    • 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요할 때
    • UDP 헤더는 Source Port Number, Destination Port Number, Length, Checksum 등
  • RTCP (Real-Time Control Protocol)
    • RTP(Real-Time tranport Protocol) 패킷의 전송 품질을 제어하기 위한 제어 프로토콜
    • 세션에 참여한 각 참여다즐에게 주깆거으로 제어 정보 전송
    • 하위 프로토콜은 데이터 패킷과 제어패킷의 다중화(Multiplexing)를 제공
    • 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능만 제공
    • RTCP 패킷은 항상 32비트의 경계로 끝남

 

인터넷 계층 주요 프로토콜

  • IP (Internet Protocol)
    • 전송할 데이터에 주소를 지정하고, 경로를 설정
    • 비연결형인 데이터그램 방식을 사용, 신뢰성 보장되지 않음(UDP같음)
  • ICMP (Internet Control Message Protocol), 인터넷 제어 메시지 프로토콜
    • IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리
    • 헤더는 8Byte
  • IGMP (Internet Group Management Protocol, 인터넷 그룹 관리 프로토콜)
    • 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용
  • ARP (Address Resolution Protocol, 주소 분석 프로토콜)
    • 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소 (MAC주소)로 바꾼다
  • RARP (Reverse ARP)
    • ARP 반대

 

네트워크 액세스 계층 주요 프로토콜

  • Ethernet (IEEE 802.3)
    • CSMA/CD 방식의 LAN
  • IEEE 802
    • LAN을 위한 표준 프로토콜

147. 네트워크 관련 신기술 (A)

  • IoT (Internet of Things, 사물인터넷) 
    • 실세계와가상세계의 다양한 사물들을 인터넷으로 서로 연결하여 서비스를 제공하기 위한 서비스 기반 기술
  • M2M (Machine to Machine, 사물 통신)
    • 무선 통신을 이용한 기계과 기계사이의 통신
  • 모바일 컴퓨팅
    • 휴대형 기기로 이동하면서 자유로이 네트워크에 접속
  • 클라우드 컴퓨팅
    • 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 가진 단말기로 언제 어디서나 인터넷을 통해 작업을 수행할 수 있는 가상화된 환경
  • 그리드 컴퓨팅 (Grid Computing)
    • 지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷 망으로 연결하여 하나의 고성능 컴퓨터처럼 활용
  • 모바일 클라우드 컴퓨팅 (MCC; Mobile Cloud Computing)
    • 소비자와 소비자의 파트너가 클라우드 서비스를 이용하여 모바일 기기로 여러가지 정보와 자원을 공유하는 ICT 기술
  • 인터클라우드 컴퓨팅 (Inter-Cloud Computing)
    • 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술
  • 메시 네트워크(Mesh Network)
    • 특수 목적을 위한 새로운 방식의 네트워크 기술
    • 대규모 디바이스의 네트워크 생성에 최적화
  • 와이선 (Wi-SUN)
    • 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 IoT 서비스를 위한 저전력 장거리 통신 기술
  • NDN (Named Data Networking)
    • 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행
    • 클라이언트와서버가 패킷의 헤더에 내장되어 있는 주소 정보를 이용하여 기존의 IP망을 대체할 새로운 인터넷 아키텍쳐
  • NGN (Next Generation Network, 차세대 통신망)
    • ITU-T에서 개발
    • 유선망뿐 아니라 이동 사용자를 목표로 함, 이동통신에서 제공하는 완전한 이동성(Full Mobility) 제공을 목표
  • SDN (Software Defined Networking, 소프트웨어정의 네트워킹)
    • 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
  • NFC (Near Field Communication, 근거리 무선 통신)
    • 고주파를 이용한 근거리 무선 통신 기술
    • 아주 가까운 거리에서 양방향 통신을 지원하는 RFID 기술의 일종
  • UWB (Ultra WideBand, 초광대역)
    • 짧은 거리에서 많은 양의 데이터를 낮은 전력으로 전송하기 위한 무선 기술
    • 무선 디지털 펄스라고도 함
  • 피코넷 (PICONET)
    • 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
  • WBAN (Wireless Body Area Network)
    • 웨어러블 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
  • GIS (Geographic Information System, 지리 정보 시스템)
    • 지리적인 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템
    • 위성을 이용해 모든 사물의 위치 정보를 제공
  • USN (Ubiquitous Sensor Network, 유비쿼터스 센서 네트워크)
    • 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
    • 필요한 모든 것에 RFID 태그를 부착하고 사용
  • SON (Self Organizing Network, 자동 구성 네트워크)
    • 주변 상황에맞추어 스스로 망을 구성하는 네트워크
    • 통신망 커버리지 및 전송 용량 확장의 경제성 문제를 해결하고, 망의 운영과 관리의 효율성을 높임
  • 애드 훅 네트워크 (Ad-hoc Network)
    • 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크
    • 망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합
  • 네트워크 슬라이싱
    • 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술
  • 저전력 블루투스 기술(BLE; Bluetooth Low Energy)
    • 일반 블루투스와 동일한 2.4GHz 주파수 대역을 사용하지만 연결되지 않은 대기 상태에서는 절전모드를 유지하는 기술
  • 파장 분할 다중화 (WDB, Wavelength Division Multiplexing)
    • 광섬유를 이용한 통신기술
    • 파장이 서로 다른복수의 신호를 보내 여러 대의 단말기가동시에 통신 회선을 사용할 수 있도록 함
    • 파장이 다른 광선끼리는 서로 간섭을 일으키지 않는 성질을 이용한 기술
  • 소프트웨어 정의 데이터 센터 (SDDC, Software Defined Data Center)
    • 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터
    • 다양한 소프트웨어 정의 기술이 사용됨
  • 개방형 링크드 데이터 (LOD, Linked Open Data)
    • Linked Data 와Open Data의 합성어
    • 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터를 의미
    • 웹상에존재하는 데이터를 개별 URI(인터넷 식별자)로 식별하고, 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형
  • SSO (Single Sign On)
    • 한 번의 로그인으로 개인이 가입한 모든 사이트를 이용
    • 개인정보를 각 사이트마다 기억해야 하던 불편함 해소
    • 기업에서는 회원에 대한 통합관리가 가능

148. 네트워크 구축 (A)

 

성형(Star, 중앙 집중형)

  • Point-to-Point 방식
  • 단말장치 추가 제거 쉬움
  • 하나의 단말장치가 고장나도 괜찮은데 중앙 고장나면 안됨
  • 중앙 집중식으로 교환 노드의 수가 적다.

링형(Ring, 루프형)

  • Point-to-Point
  • 분산 및 집중 제어 가능
  • 각 단말장치에서 전송 지연 발생
  • 단방향 또는 양방향 가능
  • 단방향의 경우 하나만 고장나도 전부 먹통

버스형(Bus)

  • 한 개의 통신 회선에 여러대의 단말 장치 연결
  • 물리적 구조 간단
  • 단말기 추가 제거 용이
  • 단말장치가 고장나도 전체에 영향을 주지않아 신뢰성이 높음
  • 기밀 보장이 어려움, 통신 회선의 길이 제한

계층형(Tree, 분산형)

  • 분산 처리 시스템 구성 방식

망형(Mesh)

  • 많은 단말장치로부터 많은 양의 통신이 필요할 때
  • 공중 데이터 통신망에 사용, 통신 회선의 총 경로가 가장 길다
  • 통신 회선 장애시 다른 경로를 통해 데이터 전송
  • 노드가 n개일 때 n(n-1)/2 회선 필요, 노드당 n-1개 필요

네트워크의 분류

  • 근거리 통신망 (LAN; Local Area Network)
    • 회사, 학교 등 가가운 거리에 있는 컴퓨터, 프린터 등을 연결함
    • 주로 자원 공유를 목적
    • 버스형, 링형 사용
  • 광대역 통신망 (WAN; Wide Area Network)
    • 국가과 국가 연결
    • 일정한 지역을 LAN으로 연결하고 각 LAN을 연결하는 방식

NAT (Network Address Translation, 네트워크 주소 변환)

  • 한 개의 정식 IP주소에 대량의 가상 사설 IP주소를 할당 및 연결하는 기능

149. 경로 제어 / 트래픽 제어 (A)

1. 경로 제어 (Routing)

  • 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능
  • 제어 요소
    • 성능 기준
    • 경로의 결정 시간과 장소
    • 정보 발생지
    • 경로 정보의 갱신 시간

2. 경로 제어 프로토콜 (Routing Protocol)

IGP (Interior Gateway Protocol, 내부 게이트웨이 프로토콜)

  • RIP (Routing Information Protocol)
    • 가장 많이 사용하는 라우팅 프로토콜
    • 거리 벡터 라우팅 프로토콜이라 불림
    • 최단 경로 탐색에 벨만-포드 알고리즘 사용
    • 소규모 네트워크에 효율적
    • 최대 홉 수를 15홉으로 제한
  • OSPF (Open Shortest Path First protocol)
    • RIP의 단점 해결, 대규모 사용
    • 최단 경로 탐색에 다익스트라 알고리즘 사용

EGP (Exterior Gateway Protocol)

  • 자율 시스템 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용

BGP (Border Gateway Protocol)

  • 자율 시스템 간의 라우팅 프로토콜, EGP 단점 보안

3. 트래픽 제어 (Traffic Contol)

  • 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능
  • 종류
    • 흐름 제어
    • 폭주(혼잡) 제어
    • 교착상태 방지

4. 흐름 제어 (Flow Control)

  • 송수신 측사이에 전송되는 패킷의 양이나 속도를 규제
  • 정지-대기 (Stop-and-Wait)
    • 수신 측의 Ack을 받은 후 다음 패킷 전송
    • 한번에 하나의 패킷만 전송
  • 슬라이딩 윈도우 (Sliding Window)
    • 확인 신호를 이용해 송신 데이터 양 조절
    • 수신 측의 신호 받지 않더라도 미리 정해진 패킷의 수만큼 연속 전송
    • 한번에 여러개의 패킷을 보내 전송 효율 좋음
    • 송신 측은 수신 측으로부터 확인 신호(Ack) 없이도 보낼 수 있는 패킷의 최대치를 미리 약속받는데, 이 패킷의 최대치가 윈도우 크기
    • 긍정수신 응답이 전달되면 윈도우 크기 증가
    • 부정 수신 응답이 전달되면 윈도우 크기 감소

5. 폭주(혼잡) 제어 (Congestion Control)

- 네트워크 패킷 수를 조절하여 오버플로 방지

  • 느린 시작(Slow Start)
    • 윈도우의 크기를 1, 2, 4, 8, 과 같이 2배씩 증가시켜 처음엔 느리지만 갈수록 빨라짐
    • 전송 데이터 크기가 임계값에 도달하면 혼잡 회피 단계로 넘어감
  • 혼잡 회피 (Congestion Avoidance)
    • 느린 시작이 임계값에 도달하면 혼잡으로 간주하고 회피를 위해 윈도우의 크기를 1씩 선형적으로 증가시켜 혼잡을 예방

150. SW 관련 신기술 (B)

  • 인공지능(AI)
    • 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습 판단을 하는 시스템
  • 뉴럴링크 (Neuralink)
    • 테슬라의 일론머스크가 개발
    • 사람의 뇌와 컴퓨터를 결합하는 기술
  • 딥 러닝 (Deep Learning)
    • 인간의 두뇌를 모델로 만들어진 인공신경망을 기반으로 하는 기계 학습 기술
  • 전문가 시스템
    • 의료 진단 등과 같은 전문가가 수행하는 업무를 지원하는 프로그램
  • 증강현실(AR; Augumented Reality)
    • 실제 촬영한 화면에 가상의 정보를 보여줌
  • 블록체인
    • P2P 네트워크를 이용하여 온라인 금융 거래 정보를 참여자 (Peer)의 디지털 장비에 분산 저장
  • 분산 원장 기술 (DLT; Distributed Ledger Technology)
    • 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고 P2P망의 참여자들에게 모든 거래 목록이 분산 저장됨
  • 해시(Hash)
    • 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환
  • 양자 암호키 분배 (QKD; Quantum Key Distribution)
    • 양자 통신을 위해 비밀키를 분배하여 관리하는 기술
  • 프라이버시 강화 기술 (PET, Privacy Enhancing Technology)
    • 개인정보 침해 위헙을 관리하기 위한 기술
  • 공통 평가 기준(CC; Common Criteria)
    • 정보화 순기능 역할을 보장하기 위해 정보화 제품의 정보 보호 기능과 이에 대한 사용 환경 등급 정함
  • 개인정보 영향평가 제도 (PIA; Privacy Impact Assessment)
    • 개인 정보를 활용하는 정보 시스템 변경시 국민의 사생활에 미칠 영향에 대해 미리 조사, 분석, 평가하는 제도
  • 그레이웨어 (Grayware)
    • SW제공 입장에서 악의적이지 않은 유용한 SW라 주장하지만, 사용자 입장에서 위험할 수도 있는 애드웨어, 트랙웨어 등
  • 매시업 (Mashup)
    • 웹에서 제공하는 정보 및 서비스를 이용하여 새로운서비스를 만드는 기술
  • 리치 인터넷 애플리케이션(RIA)
    • 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML보다 더 역동적인 플래시 웹 페이지 제작 기술
  • 시맨틱 웹 (Semantic Web)
    • 컴퓨터가 사람 대신 정보를 읽고 이해하고 가공하여 새로운정보를 만들어 낼수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹
  • 증발품 (Vaproware)
    • 판매 또는 배포 계획은 발표했으나 실제로 고객에게 판매되거나 배포되지 않은 SW
  • 오픈 그리드 서비스 아키텍처 (OGSA)
    • 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준
  • 서비스 지향 아키텍처 (SOA)
    • 기업의 SW 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는정보기술 아키텍처
  • 서비스형 소프트웨어 (SaaS)
    • 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 SW
  • 소프트웨어 에스크로
    • 개발자의 지식재산권을 보호하고 사용자는 저렴한 비용으로 사용 및 유지보수 할 수 있도록 소스 프로그램과 기술 정보 등을 제 3의 기관에 보관하는 것
  • 복잡 이벤트 처리 (CEP; Complex Event Processing)
    • 실시간으로 발생하는 사건중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법
  • 디지털 트윈
    • 현실속의 사물을 SW로 가상화한 모델

152. HW 관련 신기술 (A)

  • 고가용성 (HA; High Availability)
    • 긴 시간동안 안정적인 서비스 운영을 위해 장애 발생시 즉시다른 시스템으로 대체 가능한 환경을 구축하는 매커니즘
  • 3D 프린팅
    • 아주 얇은두께로 한층한층 쌓아 형태를 만듦
  • 4D 프린팅
    • 특정 시간이나 환경이 갖춰지면 스스로 형태를 변화시키거나 자가 조립 기술이 적용된 제품을 3D 프린팅하는 기술
  • RAID (Redundant Arry of Inexpensive Disk, Redundant Array of Independent Disk)
    • 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크에 분산하여 저장할 경우 그 볼륵들을 여러 디스크에서 동시에 읽거나 쓸 수 있음
    • 디스크 속도 매우 향상
    • RAID는 한 디스크에만 문제가 생겨도 전체가 손상됨
    • 오류 검출 방법에 따라 RAID1~RAID5 5종류 있음
  • 4K 해상도
    • 차세대 고화질 모니터의 해상도 지칭
  • 앤 스크린 (N-Screen)
    • 여러 개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용하는 것
  • 컴패니언 스크린
    • TV 방송 시청 시 방송 내용을 공유하며 추가적인 기능을 수행할 수 있는 스마트폰, 태플릿pc등을 의미함
    • 앤스크린의 한 종류로 세컨드 스크린이라고도 함
  • 신 클라이언트 PC (Thin Client PC)
    • 하드디스크나 주변 장치 없이 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터
    • 서버 기반 컴퓨팅과 관계가 깊음
  • 패블릿 (Phablet)
    • 폰과 태블릿의 합성어
    • 태블릿 기능을포함한 5인치 이상의 대화면 스마트폰
  • C형 USB
    • C 타입 USB
    • 24핀으로 위아래 구분 없음
  • 멤스 (MEMS; Micro-Elector Mechanical Systems)
    • 초정밀 반도체 제조 기술을 바탕으로 기계 구조를 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치
  • 트러스트존 기술 (TrustZone Technology)
    • 하나의 프로세서 내에일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한보안구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술
  • 엠디스크 (M-DISC, Millennial DISC)
    • 한 번의 기록만으로 자료를 영구보관하는 광 저장장치
    • 시간이 지나도 변하지 않음
  • 멤리스터 (Memristor)
    • 메모리와 레지스터의 합성어
    • 전류의 방향과 양 등 기존의 경험모두를 기억

154. DB 관련 신기술 (A)

  • 빅데이터
    • 방대한 양의 정형 또는 비정형 데이터 집합
  • 브로드 데이터 (Broad Data)
    • 다양한 채널에서 소비자와 상호 작용을 통해 생성된 것
  • 메타 데이터
    • 일련의 데이터를 정의하고 설명해주는 데이터
    • 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미
  • 디지털 아카이빙
    • 디지털 정보를 장기적으로 보존
  • 하둡(Hadoop)
    • 오픈 소스 기반 분산 컴퓨팅 플랫폼
    • 일반 pc급 컴퓨터들로 가상화된 대형 스토리지를 형성할 수 있는 자바 SW 프레임워크
    • 구글, 야후 등에 적용됨
  • 맵리듀스
    • 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델
    • 흩어진 데이터를 묶는 Map 작업 후 중복 데이터 제거하고 원하는 데이터를 추출하는 Reduce 작업
    • 구글에서 고안됨
  • 타조(Tajo)
    • 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트
  • 데이터 다이어트
    • 데이터를 삭제하는게 아닌 압축하고 중복을 제거하여 저장하는 작업
  • 데이터 마이닝 (Data Mining)
    • 대량의 데이터를 분석하여 패턴을 찾는 기법
  • OLAP (Online Analytical Processing)
    • 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식

155. 회복/병행제어 (A)

1. 회복 (Recovery)

DB가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업

 

연기 갱신 기법 (Deferred Update)

  • 트랜잭션이 성공적으로 완료될 때까지 DB에 대한 실질적인 갱신을 연기
  • 트랜잭션이 수행되는 동안 갱신된내용은 로그에 보관
  • Redo작업만 가능

 즉각 갱신 기법 (Immediate Update)

  • 트랜잭션이 데이터를 갱신하면 부분 완료되기 전이라도 즉시 실제 DB에 반영
  • Redo와 Undo 사용

그림자 페이지 대체 기법 (Shadow Paging)

  • 갱신 이전 데이터베이스를 일정 크기로 페이지 복사본인 그림자페이지로 별도 보관, 장애가 발생하여 Rollback 할 때 갱신된 이후 실제 페이지 부분에 그림자 페이지를 대체하여 회복
  • 로그, Undo, Redo 필요 없음

검사점 기법

  • 일정 지점부터 회복하는 것

2. 병행제어 (Concurrency Control)

- 여러개의 트랜잭션을 병행 수행할때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것

 

목적

  • 데이터베이스의 공유 최대화
  • 시스템의 활용도 최대화
  • 데이터베이스의 일관성 유지
  • 사용자 응답 시간 최소화

 

병행제어 기법

  • 로킹 (Locking)
    • 주요 데이터의 액세스를 상호 배타적으로 하는 것
    • 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야 그 로킹 단위를 액세스 할 수 있음
  • 타임 스탬프 순서 (Time Stamp Ordering)
    • 직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택
    • 가장 보편적
    • 교착상태 발생하지 않음
  • 최적 병행수행 (검증 기법, 확인 기법, 낙관적 기법)
    • 트랜잭션이 Read Only일 경우 충동률이 매우 낮아서 병행제어 기법을 사용하지 않아도 일관성 있게 유지됨
  • 다중 버전 기법
    • 타임 스탬프 기법 이용, 다중 버전 타임 스탬프 기법 이라함
    • 타임 스탬프가 시간표를 이용한다면, 다중 버전은 버전을 이용함

* 로킹 단위

  • 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기
  • DB, 파일, 레코드, 필드 등이 로킹 단위
  • 로킹단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아짐
  • 로킹단위가 작으면 로크 수가 많아 관리하기 복잡해 오버헤드 증가, 병행성 수준 높아짐

156. 교착상태(B)

교착 상태 필요 충분 조건

  • 상호 배제 (Mutual Exclusion)
    • 한 번에 한 개의 프로세스만 공유 자원을 사용할 수 있어야 한다
  • 점유와 대기 (Hold and Wait)
    • 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있느 ㄴ자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 한다.
  • 비선점 (Non-preemption)
    • 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 한다.
  • 환형 대기 (Circular Wait)
    • 공유 자원과 공유자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 한다.

교착상태 해결 방법

  • 예방 기법 (Prevention)
    • 교착 상태가 발생하지 않도록 사전에 시스템을 제어
    • 교착상태 발생의 4가지 조건중 어느 하나를 제거하여 수행
    • 자원의 낭비가 가장 심함
  • 회피 기법 (Avoidance)
    • 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 회피하는 방법
    • 은행원 알고리즘 사용 (Banker's Algorithm)
      • 다익스트라, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는데서 유래
  • 발견 기법 (Detection)
    • 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것
    • 교착상태 발견 알고리즘과 자원 할당 그래프 사용
  • 회복 기법 (Recovery)
    • 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

 

반응형

댓글