정보처리기사 실기 요점정리

11장. 응용 SW 기초 기술 활용

▶ 수험서 : 2021 시나공 정보처리기사 실기

※ 시나공 교재를 토대로 작성하였으며 [ ] 안에 번호는 교재의 섹션입니다.

※ 부족한 내용은 구글링 및 수제비 카페를 참고하여 작성하였습니다.

 

 

 

[162] 운영체제의 개념

- 운영체제 : 컴퓨터 시스템의 자원들을 효율적으로 관리하며 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램의 모임
- 운영체제의 목적 : 처리 능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축


- 처리 능력 : 일정 시간 내에 시스템이 처리하는 일의 양
- 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도
- 반환 시간 : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도 : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

 


[163] 운영체제의 종류

- Windows : 1990년대 마이크로소프트 사가 개발한 운영체제


- Windows의 주요 특징 : 그래픽 사용자 인터페이스, 선점형 멀티태스킹, PnP, OLE, 255자의 긴 파일명, Single-User 시스템
  * 선점형 멀티태스킹 : 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 문제가 발생하면 강제 종료시키는 방식
  * OLE : 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체를 현재 문서에 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능


- UNIX : AT&T 벨 연구소, MIT, General Electric 이 공동 개발한 운영체제
- UNIX의 특징 : 대화식 운영체제, 개방형 시스템, 다중 사용자, 다중 작업 지원, 트리 구조의 파일 시스템
- UNIX 시스템의 구성 : 커널, 쉘, 유틸리티 프로그램
  * 커널 : 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할, 유닉스의 가장 핵심적인 부분
  * 쉘 : 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기, 시스템과 사용자 간의 인터페이스 담당
  * 쉘의 종류 : Bourne Shell, C Shell, Korn Shell


- LINUX : 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
- MacOS : 애플 사가 UNIX 기반으로 개발한 운영체제
- Android : 구글 사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
- iOS : 애플 사에서 개발한 유닉스 기반의 모바일 운영체제

 


[164] 기억장치 관리

- 기억장치 관리 전략 : 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 위치 등을 지정하는 것


- 반입 전략 : 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략
  * 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
  * 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법

 

- 배치 전략 : 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
  * 최초 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법
  * 최적 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
  * 최악 적합 : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법


- 교체 전략 : 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략
  * 종류 : FIFO, OPT, LRU, LFU, NUR, SCR

 

 

[165] 주기억장치 할당 기법

- 연속 할당 기법 : 프로그램을 주기억장치에 연속으로 할당하는 기법

  * 종류 : 단일 분할 할당 기법, 다중 분할 할당 기법
- 분산 할당 기법 : 프로그램을 특정 단위의 조각으로 나누어 주기억장치에 분산하여 할당하는 기법

  * 종류 : 페이징 기법, 세그먼테이션 기법


- 단일 분할 할당 기법 : 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
  * 오버레이 기법 : 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
  * 스와핑 기법 : 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 방법


- 다중 분할 할당 기법
  * 고정 분할 할당 기법 : 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고
                                     준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법
  * 가변 분할 할당 기법 : 주기억장치를 미리 분할해 놓지 않고 프로그램을 주기억장치에 적재하면서 필요한 크기로 영역을 분할하는 기법

 


[166] 가상기억장치 구현 기법

- 가상기억장치 : 보조기억장치의 일부를 주기억장치처럼 사용하는 것이다.


- 페이징 기법 : 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 주기억장치 영역에 적재시켜 실행하는 기법
- 세그먼테이션 기법 : 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법

 


[167] 페이지 교체 알고리즘

- 페이지 교체 알고리즘 : 페이지 부재가 발생하면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법


- OTP(Optimal Replacement) : 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
- FIFO(First In First Out) : 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
- LRU(Least Recently Used) : 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
- LFU(Least Frequently Used) : 사용 빈도가 가장 적은 페이지를 교체하는 기법
- NUR(Not Used Recently) : 최근에 사용하지 않은 페이지를 교체하는 기법
  * 참조 비트 : 페이지 호출 시, 1 / 변형 비트 : 페이지 내용 변경 시, 1
- SCR(Second Chance Replacement) : 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 기법

 


[168] 가상기억장치 기타 관리 사항

- Locality : 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
  * 시간구역성 : 프로세스가 실행하면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상
  * 장소구역성 : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상


- 워킹 셋 : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 스래싱 : 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

 


[169] 프로세스의 개요

- 프로세스 : 실행 중인 프로그램, 프로시저가 활동 중인 것, 비동기적 행위를 일으키는 주체, PCB의 존재로서 명시되는 것


- PCB : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳이다.
  * 정보 : 현재 상태, 포인터, 고유 식별자, 스케줄링 및 우선순위, CPU 레지스터 정보, 주기억장치 관리 정보, 입출력 상태 정보, 계정 정보


- 프로세스 상태


  * 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
  * 접수 : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
  * 준비 : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
  * 실행 : 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
  * 대기/블록 : 프로세스에 입출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 처리가 완료될 때까지 대기하고 있는 상태
  * 종료 : 프로세스의 실행이 끝나고 할당이 해제된 상태
  * Dispatch : 준비상태에서 대기하고 있는 프로세스 중 하나의 프로세서를 할당받아 실행 상태로 전이되는 과정
  * Wake Up : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이 되는 과정
  * Spooling : 입출력장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하고 다중 프로그래밍 시스템의 성능을

                       향상시키기 위해 데이터를 직접 입출력장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정


- 스레드 : 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위 또는 프로세스 내에서의 작업 단위, 경량 프로세스

 

 

[170] 스케줄링

- 스케줄링 : 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
- 스케줄링의 목적 : 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도, 오버헤드 최소화, 응답 시간 최소화, 

                              반환시간 최소화, 대기 시간 최소화, 균형 있는 자원의 사용, 무한 연기 회피


- 비선점 스케줄링 : 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
  * 종류 : FCFS, SJF, 우선순위, HRN, 기한부 등


- 선점 스케줄링 : 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
  * 종류 : Round Robin, SRT, 우선순위, 다단계 큐, 다단계 피드백 큐 등


- 에이징 기법 : 특정 프로세스의 우선순위가 낮아 무한정 기다리게 되는 경우, 한번 양보하거나 기다린 시간에 비례하여
                       일정 시간이 지나면 우선순위를 한 단계 높여 가까운 시간 안에 자원을 할당받도록 하는 기법

 


[171] 주요 스케줄링 알고리즘

- FCFS(First Come First Service) : 준비상태 큐에 도착한 순서에 따라 차례대로 CPU를 할당하는 기법
- SJF(Shortest Job First) : 준비상태 큐에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
- HRN(Highest Response-ratio Next) : 대기 시간과 서비스(실행) 시간을 이용하는 방법
  * 우선순위 = (서비스시간 + 대기시간) / 서비스시간 : 숫자가 클수록 높은 우선순위 높음

 


[173] 운영체제 기본 명령어

 

<Windows 기본 명령어>
- dir : 현재 디렉토리 목록
  * 옵션 : /p 한 화면 단위, /w 가로로 나열, /o 지정한 정렬 방식, /s 하위 디렉터리 정보까지, /a 지정한 속성이 설정된
- copy 파일명 디렉터리명 : 파일 복사
- del 파일명 : 파일 삭제
- type 파일명 : 파일 내용 표시
- ren 파일명 새파일명 : 파일 이름 변경
- md 디렉터리명 : 디렉터리 생성
- cd 디렉터리명 : 동일한 드라이브에서 디렉터리의 위치 변경
- cls : 화면에 표시되어 있는 모든 내용을 지움
- attrib 속성 파일명 : 파일 속성 변경 ex) attrib –r +h file.txt
  * 속성 : +r 읽기 전용, +a 저장/백업, +s 시스템 파일, +h 숨김 파일 / 해제 시에는 앞에 -
- find “문자열” 파일명 : 파일에서 문자열을 찾음
- chkdsk : 디스크 상태 점검
- format 드라이브명: : 디스크 표면을 트랙과 섹터로 나누어 초기화
- move 파일명 디렉터리명 : 파일 이동


<UNIX 기본 명령어>
- 명령어 --help : 해당 명령어의 옵션이 표시됨
- cat 파일명 : 파일 내용을 화면에 표시
- cd 디렉터리명 : 디렉터리 위치 변경
- chmod 모드 파일명 : 파일의 보호모드를 설정하여 파일의 사용 허가를 지정 ex) chmod u=rwx abc.text
  * 문자열 모드 : u 사용자, g 그룹, o 다른 사용자, a 모두 / + 권한 추가, - 권한 삭제, = 권한 부여 / r 읽기, w 쓰기, x 실행
  * 8진법 : chmod 777 file.txt : 소유자 rwx=111=7, 그룹 rwx=111=7, 기타 사용자 rwx=111=7
- chown 사용자명 파일명 : 파일 소유자 변경
- cp 파일명 디렉터리+파일명 : 파일 복사
- find 파일명 : 파일 찾기
- fsck 경로 : 파일 시스템을 검사하고 보수
- kill PID번호 : PID(프로세스 고유 번호)를 이용하여 프로세스를 종료
- fork( ) : 새로운 프로세스 생성
- killall 프로세스명 : 프로세스의 이름을 이용하여 프로세스 종료
- ls : 현재 디렉터리의 파일 목록 표시
- mkdir 디렉터리명 : 디렉터리 생성
- rmdir 디렉터리명 : 디렉터리 삭제
- mv 경로+파일명 : 파일 이동
- ps : 현재 실행중인 프로세스 표시 – 파란색 : 실행파일, 흰색 : 비실행파일
- pwd : 현재 작업중인 디렉터리 경로를 화면에 표시
- top : 시스템의 프로세스와 메모리 사용 현황을 표시
- who : 현재 시스템에 접속해 있는 사용자를 표시

 

 

[174] 인터넷

- 인터넷 : 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망
- IP : 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소, 8비트*4부분 총 32비트
- 서브네팅 : 네트워크 주소를 여러 개의 작은 네트워크로 나누어 사용하는 것


- IPv6 : IPv4의 주소 부족문제 해결을 위해 개발, 16비트*8부분 총 128비트, 16진수로 표현하고 콜론 : 으로 구분
- 유니캐스트 : 단일 송신자와 단일 수신자
- 멀티캐스트 : 단일 송신자와 다중 수신자
- 애니캐스트 : 단일 송신자와 가장 가까이 있는 단일 수신자


- 도메인 네임 : 숫자로 된 IP 주소를 문자 형태로 표현한 것
- DNS : 도메인 네임을 IP 주소로 변환하는 역할을 하는 시스템 / 서버 : DNS 서버

 


[175] OSI 참조 모델

 

- 하위 계층 : 물리 계층, 데이터 링크 계층, 네트워크 계층

- 상위 계층 : 전송 계층, 세션 계층, 표현 계층, 응용 계층

 

물리 계층 Physical Layer
- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다.
- 물리적 전송 매체와 전송 신호 방식 정의
- 장비 : 리피터, 허브 / 데이터 전송 단위 : 비트


데이터 링크 계층 Data Link Layer
- 두 개의 인접한 개방 시스템 간 연결 설정과 유지 및 종료를 담당한다.
- 흐름 제어, 프레임의 동기화, 오류 제어, 순서 제어
- 장비 : 랜카드, 브리지, 스위치 / 데이터 전송 단위 : 프레임


네트워크 계층 Network Layer
- 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
- 네트워크 연결을 설정, 유지, 해제, 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송
- 장비 : 라우터 / 데이터 전송 단위 : 패킷

전송 계층 Transport Layer

- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게 한다.
- 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제, 주소 설정, 다중화, 오류 제어, 흐름 제어
- 장비 : 게이트웨이 / 데이터 전송 단위 : 세그먼트

 

세션 계층 Session Layer

- 송수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.
- 대화 구성 및 동기 제어, 데이터 교환 관리
- 데이터 전송 단위 : 데이터

 

표현 계층 Presentation Layer

- 응용/표현 계층으로부터 받은 데이터를 세션/응용 계층에 보내기 전에 적당한 형태로 변환하는 기능
- 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리
- 데이터 전송 단위 : 데이터


응용 계층 Application Layer
- 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공한다.
- 응용 프로세스 간의 정보 교환, 전사 사서함, 파일 전송, 가상 터미널 등의 서비스 제공
- 데이터 전송 단위 : 데이터

 


[176] 네트워크 관련 장비

- 네트워크 인터페이스 카드(NIC) : 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치
- [물] 허브 Hub : 가까운 거리의 컴퓨터들을 연결하는 장치로, 각각의 회선을 통합하여 관리한다. 리피터 역할 포함
- [물] 리피터 Repeater : 디지털 신호의 장거리 전송을 위해 수신한 신호를 재생시키거나 출력 전압을 높여 전송하는 장치
- [데] 브리지 Bridge : LAN과 LAN을 연결하거나 LAN 안에서 컴퓨터 그룹을 연결하는 장치, 전송 가능 회선 수 : n(n-1)/2 (n:브리지 개수)
- [데] 스위치 Switch : LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
- [네] 라우터 Rounter : LAN과 LAN 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가된 장치
- [세,표,응] 게이트웨이 Gateway : OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치

 


[177] TCP/IP

- 프로토콜 : 데이터 교환을 원활하게 수행할 수 있도록 표준화 시켜 놓은 통신 규약
  * 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호레벨 등을 규정한다.
  * 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정한다.
  * 시간(Timing) : 두 기기 간의 통신속도, 메시지의 순서제어 등을 규정한다.


- TCP/IP : 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜
  * TCP : 신뢰성 있는 연결형 서비스를 제공, 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공
  * IP : 데이터그램을 기반으로 하는 비연결형 서비스를 제공, 패킷의 분해/조립, 주소 지정, 경로 선택 기능 제공


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

 

네트워크 액세스 계층 프로토콜
- Ethernet(IEEE 802.3) : CSMA/CD 방식의 LAN

- IEEE 802 : LAN을 위한 표준 프로토콜
- HDLC : 비트 위주의 데이터 링크 제어 프로토콜
- X.25 : 두 단말 장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 프로토콜
- RS-232C : 공중 전화 교환망(PSTN)을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜

 

인터넷 계층 프로토콜
- IP(Internet Protocol) : 전송할 데이터에 주소를 지정하고 경로를 설정하는 기능
- ICMP(Internet Control Message Protocol) : IP와 조합하여 통신중에 발생하는 오류 처리와 전송 경로 변경 등을 위한 제어메시지를 관리
- IGMP(Internet Group Management Protocol) : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용
- ARP(Address Resolution Protocol) : 호스트의 IP 주소를 호스트와 연결된 네트워크 접속장치의 물리적 주소(MAC Address)로 바꿈
- RARP(Reverse Address Resolution Protocol) : ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능

 

전송 계층 프로토콜
- TCP(Transmission Control Protocol) : 양방향 연결형 서비스 제공, 스트림 위주의 전달, 신뢰성 있는 경로 확립
- UDP(User Datagram Protocol) : 비연결형 서비스 제공, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용
- RTCP(Real-time Control Protocol) : RTP(Real-time Transport Protocol) 패킷의 전송 품질을 제어하기 위한 제어 프로토콜


응용 계층 프로토콜
- FTP(File Transfer Protocol) : 파일을 주소 받을 수 있도록 하는 원격 파일 전송 프로토콜
- SMTP(Simple Mail Transfer Protocol) : 전자 우편을 교환하는 서비스
- TELNET : 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스
- SNMP(Simple Network Management Protocol) : 네트워크 기기의 정보를 네트워크 관리 시스템에 보내는데 사용되는 표준 통신 규약
- DNS(Domain Name System) : 도메인 네임을 IP 주소로 매핑하는 시스템
- HTTP(Hypertext Transfer Protocol) : 월드와이드웹에서 HTML 문서를 송수신하기 위한 표준 프로토콜

 


[179] 네트워크 구축

- 네트워크 : 두 대 이상의 컴퓨터를 연결하여 자원을 공유하는 것, 설치 구조 유형 : 성형, 링형, 버스형, 계층형, 망형
- 근거리 통신망(LAN) : 비교적 가까운 거리에 있는 자원을 연결하여 구성, 주로 버스형이나 링형 구조
- 광대역 통신망(WAN) : 멀리 떨어진 사이트들을 연결하여 구성
- NAT : 한 개의 정식 IP 주소에 대량의 가상 사설 IP 주소를 할당 및 연결하는 기능

 


[180] 스위치

- L2 스위치 : 일반적인 스위치, MAC 주소를 기반을 프레임 전송
- L3 스위치 : 라우터 기능 추가, IP 주소를 기반으로 패킷 전송
- L4 스위치 : 로드밸런싱 기능 추가
- L7 스위치 : IP 주소, TCP/UDP 포트 정보에 패킷 내용까지 참조하여 세밀한 로드밸런싱을 수행


- 스위칭 방식 : Store and Forwarding, Cut-through, Fragment Free


- 백본 스위치 : 네트워크들을 연결할 때 중추적 역할을 하는 네트워크에서 스위칭 역할을 하는 장비, 주로 L3
- Hierarchical 3 Layer 모델 : 액세스 계층(L2), 디스트리뷰션 계층(L3), 코어 계층(L4)

 

 

[181] 경로 제어/트래픽 제어

- IGP(Interior Gateway Protocol) : 하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜
  * RIP(Routing Information Protocol) : 거리 벡터 라우팅 프로토콜, 최단 경로 탐색에 Bellman-Ford 알고리즘 사용, 최대 홉 수 15
  * OSPF(Open Shortest Path First Protocol) : RIP 단점 해결, 대규모 네트워크에서 주로 사용, 다익스트라 알고리즘 사용, 홉 수 제한없음

 

- EGP(Exterior Gateway Protocol) : 자율 시스템(AS) 간의 라우팅
- BGP(Border Gateway Protocol) : EGP의 단점 보완, 초기에만 전체 경로 제어표를 교환하고 이후에는 변화된 정보만 교환

 

- 트래픽 제어 : 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능
  * 종류 : 흐름 제어, 폭주 제어, 교착상태 방지

 

- 흐름 제어 : 송수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능
  * 정지-대기 : 수신 측의 확인 신호를 받은 후에 다음 패킷을 전송하는 방식, 한번의 하나의 패킷만 전송 가능
  * 슬라이딩 윈도우 : 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식, 미리 정해진 패킷의 수만큼 전송
                                * 윈도우 크기 : 패킷의 최대치

 

- 폭주 제어 : 네트워크 내의 패킷 수를 조절하여 네트워크 오버플로를 방지하는 기능
  * 느린 시작 : 윈도우의 크기를 2배씩 지수적으로 증가시켜 초기에는 느리지만 갈수록 빨라짐
  * 혼잡 회피 : 느린 시작이 임계 값에 도달되면 혼잡으로 간주하고 회피를 위해 윈도우 크기를 1씩 증가시켜 혼잡을 예방하는 방식

 

 

[186] Secure OS

- Secure OS : 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제
- Secure OS의 보안 기능 : 식별 및 인증, 임의적/강제적 접근통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소


- 참조 모니터 : 보호 대상 객체에 대한 접근통제를 수행하는 가상머신
- 가상 커널 : 참조 모니터를 실제로 구현한 것
- 참조 모니터와 보안 커널의 특징 : 격리성, 검증가능성, 완전성

 


[188] 회복/병행제어

- 회복 : 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
  * 연기 갱신 기법 : 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법 – Redo
  * 즉각 갱신 기법 : 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 반영하는 방법 – Redo, Undo
  * 그림자 페이지 기법 : 데이터베이스를 일정 크기의 페이지 단위로 구성하여 복사본을 별도 보관해놓고 회복시키는 기법
  * 검사점 기법 : 특정 단계에서 재실행할 수 있도록 검사점을 로그에 보관해두어 회복시간을 절약하도록 하는 기법


- 병행 제어 : 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것
  * 로킹 : 트랜잭션이 어떤 로킹 단위를 액세스하기 전에 잠금을 요청해서 허락되어야만 액세스할 수 있는 기법
               로킹 단위는 한꺼번에 로킹할 수 있는 객체의 크기이다. (크면 관리 쉬움, 병행성 수준 낮음, 작으면 반대)
  * 타임 스탬프 순서 : 트랜잭션이 실행을 시작하기 전에 시간표를 부여하여 이에 따라 작업을 수행하는 기법
  * 최적 병행수행 : 대부분의 트랜잭션이 판독 전용일 경우 충동률이 매우 낮아서 시스템 상태의 일관성을 유지한다는 점을 이용한 기법
  * 다중 버전 기법 : 다중 버전 타임 스탬프 기법, 갱신될 때 마다의 버전을 부여하여 관리하는 기법

 


[189] 교착상태

- 교착상태 : 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상


- 교착상태 발생의 필요 충분 조건
  * 상호 배제 : 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
  * 점유와 대기 : 최소한 하나의 자원을 점유하고 있으면서 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
  * 비선점 : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
  * 환형 대기 : 공유 자원과 대기하는 프로세스들이 원형으로 구성되어 자원을 점유하면서 앞이나 뒤에 있는 자원을 요구해야 함


- 교착상태 해결 방법
  * 예방기법 : 사전에 시스템 제어하는 방법, 네 가지 조건 중 하나를 제거함, 자원의 낭비가 가장 심함
  * 회복기법 : 교착상태가 발생하면 적절히 피해나가는 방법, 주로 은행원 알고리즘 사용
  * 발견기법 : 시스템을 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것
  * 회피기법 : 교착상태를 일으킨 프로세스를 종료하거나 할당된 자원을 선점하여 프로세스나 자원을 회복시키는 것

 


[190] 데이터 표준화

- 데이터 표준화 : 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것
- 데이터 표준화 구성 요소 : 데이터 표준, 데이터 관리 조직, 데이터 표준화 절차

 

- 데이터 표준의 종류
  * 표준 단어 : 업무에서 사용하고 일정한 의미를 가진 최소 단위의 단어
  * 표준 도메인 : 문자형, 숫자형, 날짜형, 시간형과 같이 컬럼을 성질에 따라 묶은 것
  * 표준 코드 : 선택할 수 있는 값을 정형화하기 위해 기준에 맞게 정의된 코드 값, 도메인의 한 유형
  * 표준 용어 : 단어, 도메인, 코드 표준이 정의되면 이를 바탕으로 표준 용어를 구성함


- 데이터 표준화의 대상 : 데이터 명칭, 데이터 정의, 데이터 형식, 데이터 규칙