Notice
Recent Posts
Recent Comments
Link
관리 메뉴

코딩두의 포트폴리오

[실기] 11장. 응용 SW 기초 기술 활용 본문

정보처리기사

[실기] 11장. 응용 SW 기초 기술 활용

코딩두 2025. 10. 20. 23:43

128(C) 운영체제의 개념

 

129(B) 운영체제의 종류

UNIX

- 1960년대  AT&T 벨 연구소, MIT, General Eletric이 공동 개발한 OS

- 시분할 시스템을 위해 설계된 대화식 OS

- 소스가 공개된 개방형 시스템

- 대부분 C언어로 작성되어 있어 이식성 높고, 장치와 프로세스 간 호환성 높음

- 다중 사용자, 다중 작업 지원

- 트리 구조의 파일 시스템 갖음

 

<UNIX 시스템의 구성>

커널(Kernel) - HW 보호, 프로그램과 HW 간 인터페이스 역할 담당
- UNIX의 가장 핵심적 부분
- 프로세스 관리(CPU 스케줄링) 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등
쉘(Shell) - 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스 담당
- 종류: Bourne Shell, C Shell, Korn Shell

 

Android: 구글사에서 개발한 리눅스 커널 기반의 개방형 모바일 OS

- 모든 코드가 공개된 개방형 SW

- 자바와 코틀린으로 애플리케이션을 작성

- 스마트폰 등의 휴대용 장치에서 주료 사용

 

130(C) 기억장치 관리

 

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

 

132(A) 페이지 교체 알고리즘

페이지 교체 알고리즘: 페이지 부재(Page Fault)가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 프레임을 선택하여 교체할 것인지를 결정하는 기법

 

FIFO(First In First Out): 각 페이지가 주기억 장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법

3개의 페이지 프레임을 가질 경우 9번의 페이지 부재와 3번의 페이지 히트가 발생

LRU(Least Recently Used): 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법

(현시점에서 가장 오랫동안 사용하지 않은, 즉 가장 오래전에 사용된 페이지를 교체)

LRU 알고리즘을 사용하니 8번의 페이지 부재와 4번의 페이지 히트가 발생 FIFO 알고리즘에 비해 페이지 부재 횟수가 감소함

 

LFU(Least Frequently Used): 사용 빈도가 가장 적은 페이지를 교체하는 기법

 

133(C) 가상기억장치 기타 관리 사항

 

134(B) 프로세스의 개요

프로세스 상태 전이: 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것

<상태 전이도>

제출: 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태

접수: 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태

(스풀 공간: 컴퓨터의 CPU와 입출력 장치 간의 속도 차이를 극복하기 위해 사용하는 하드디스크의 임시 저장 공간)

준비: 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태

실행: 준비상태 큐에 있는 프로세스가 프로세스를 할당받아 실행되는 상태

대기: 프로세스에 입출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태

종료: 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

 

<프로세스 상태 전이 관련 용어>

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

 

스레드(Thread): 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위 또는 프로세스 내의 작업 단위

(=경량 프로세스), 독립적인 스케줄링의 최소 단위

 

135(D) 스케줄링

 

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

SJF(Shortest Job First, 단기 작업 우선): 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

가장 적은 평균 대기 시간을 제공하는 최적 알고리즘

예제) 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, SJF 기법을 이용하여 평균 실행 시간, 평균 대기 시간, 평균 반환 시간을 구하시오 (제출 시간이 없을 경우)

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

-> 아래와 같이 실행 시간이 짧은 프로세스를 먼저 처리하도록 이동시킨 후 각 프로세스의 대기 시간과 반환 시간을 구함

대기 시간: 프로세스가 대기한 시간으로, 바로 앞 프로세스까지의 진행 시간으로 계산

반환 시간: 프로세스의 대기 시간 + 실행 시간

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

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

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

 

HRN(Highest Response-radio Next): 대기 시간과 서비스(실행) 시간을 이용하는 기법

- SJF 기법 보완 위함

- 우선순위 계산하여 그 숫자가 가장 높은 것부터 낮은 순으로 우선순위가 부여됨

<우선수위 계산식> = (대기 시간 + 서비스 시간) / 서비스 시간

예제) 다음과 같은 프로세스가 HRN 기법으로 스케줄링될 때 우선순위를 계산하시오.

프로세스 번호 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

 

RR(Round Robin): 각 프로세스를 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주는 기법

- 시분할 시스템을 위해 고안, 할당되는 시간의 크기가 작으면 작으면 작은 프로세스들에게 유리

예제) 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, 평균 대기 시간, 평균 반환 시간을 구하시오(단, Time Slice는 4초이다).

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

1) 주어진 시간 할당량(Time SLice)동안 실행되지 못할 경우 준비상태 큐의 가장 마지막으로 재배치하여 차례를 기다리므로 다음과 같이 표시

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

 8 , 18  프로세스가 완료됨을 의미 (P2 -> 8초, P3 -> 18초, P1 -> 30초)

2) 반환 시간: 각 프로세스가 완료되는 시간을 이용하여 구함

3) 대기 시간: 대기 시간을 구하고자 하는 프로세스의 가장 마지막 실행이 시작되기 전까지의 진행 시간을 이용하여 구하되, 해당 프로세스가 앞에서 여러 번 실행되었을 경우 실행된 시간은 제외

 

SRT(Shortest Remaining Time): 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법

예제) 다음과 같은 프로세스들이 차례로 준비상태 큐에 들어왔다고 가정할 때, SRT 기법을 이용하여 평균 대기 시간, 평균 반환 시간을 구하시오.

프로세스 번호 A B C D
도착 시간 0 1 2 3
실행 시간 8 4 9 5

1) 아래와 같이 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 시간을 요구하는 프로세스를 먼저 처리하도록 이동시킨 후 대기 시간과 반환 시간을 구함

2) 실행이 마무리되지 못한 경우 준비상태 큐에 재배치하여 차례를 기다리므로 다음과 같이 표시

진행 시간 ---->          0                                1                                5                                10                              17                          26
프로세스 A B D A C
실행 시간 1 4 5 7 9
남은 시간 7 0 0 0 0

 5, 10, 17, 26  프로세스가 완료됨 (A->17초, B->5초, C->26초, D->10초)

3) 반환 시간: 각 프로세스가 완료되는 시간을 이용하여 구함

4) 대기 시간: '완료 시간 - 도착 시간 - 실행 시간'으로 구함

프로세스 번호 A B C D 평균
반환 시간 17 5 26 10 58/4=14.5
대기 시간 9 0 15 2 26/4=6.5

 

137(D) 환경 변수

 

138(B) 운영체제 기본 명령어

<UNIX/LINUX 기본 명령어>

chmod 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정
ex) chmod u = rwx abc.txt -> user(u)에게 abc.txt 파일의 읽기(r), 쓰기(w), 실행(x) 권한을 부여(=)한다.
fork 새로운 프로세스를 생성
ex) fork() -> 새로운 프로세스를 생성
uname 시스템의 이름과 버전, 네트워크 호스트명 등의 시스템 정보를 표시

예제) UNIX 기반 시스템에서 'batch.sh' 파일에 대해 소유자와 그룹에게는 전체 권한, 기타 사용자에게는 읽기와 실행 권한만 부여하는 명령문을 8진법 숫자를 이용하여 작성하시오.

<해설>

UNIX에서는 파일의 권한을 10자리로 표현

- 1번째 자리: 디렉터리(d) 또는 파일(-)

- 2~4번째 자리: 소유자(Owner) 권한

- 5~7번째 자리: 그룹(Group) 권한

- 8~10번째 자리: 기타 사용자(Other) 권한

각 자리는 r(읽기), w(쓰기), x(실행), -(권한없음)으로 표시

ex) - rw rwx r-x

- -> 파일 구분: 파일을 의미

rw -> 소유자: 읽기, 쓰기, 실행 가능

rwx -> 그룹: 읽기, 쓰기, 실행 가능

r-x -> 기타 사용자: 읽기, 실행만 가능

 

- 권한을 변경하는 chmod 명령어는 위의 권한 표현 방식을 8진수로 변경하여 사용 가능

- 변경 방법은 파일 구분을 제외한 각 권한을 권한있음(1)과 권한없음(0)으로 바꾼 뒤 8진수로 변환하여 chmod 명령어의 매개 변수로 사용

ex) rwx rwx r-x

              |          ('-'는 0, 나머지는 1로 바꿔줌)

      111 111 101

              |          (3자리 2진수를 8진수로 변환. 111=7, 101=5)

        7    7    5   

              |          (chmod 명령문을 완성)

  chmod 775 batch.sh

 

139(A) 인터넷

IP 주소: 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소

- 8비트씩 4부분, 32비트로 구성

- 네트워크 길이에 따라 A~E 클래스까지 총 5단계로 구성

 

서브네팅: 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것

- 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트를 서브넷 마스크라고 함

- 서브넷 마스크를 변경하여 네트워크 주소를 여러 개로 분할하여 사용

- 서브넷 마스크는 각 클래스마다 다르게 사용됨

 

<서브네팅 예>

예제) 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 3개의 Subnet으로 나누었을 때, 두 번째 네트워크의 브로드캐스트 IP 주소를 10진수 방식으로 쓰시오.

192.168.1.0/24에서 '/24'는 서브넷 마스크를 의미

서브넷 마스크는 1의 개수가 24개 -> 2진수로 표현

11111111 11111111 11111111 00000000

        255             255               255               0

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

Subent으로 나눌 때 "3개의 Subnet으로 나눈다"는 것처럼 네트워크가 기준일 때는 왼쪽을 기준으로 나눌 네트워크 수에 필요한 비트를 할당하고 나머지 비트로 호스트를 구성하면 됨

3개의 Subnet으로 구성하라 했으니 8비트 중 3을 표현하는데 필요한 2(2제곱=4)비트를 제외하고 나머지 6비트를 호스트로 구성

- 네트워크 개수 = 4(2의 2제곱) 필요한 비트 수

- 호스트 개수 = 64(2의 6제곱) 남은 비트 수

문제에서 FLSM, 즉 고정된 크기로 주소를 할당하라고 했으므로 64개의 호스트를 갖는 4개의 네트워크로 나눌 수 있으나 문제에서 3개의 Subnet을 구성하라 하였으므로 4번째 네트워크는 사용되지 않음

- 네트워크별로 첫 번째 주소는 네트워크 주소이고, 마지막 주소는 브로드캐스트 주소

네트워크 네트워크 주소 브로드캐스트 주소
1 192.168.1.0 192.168.1.63
2 192.168.1.64 192.168.1.127
3 192.168.1.128 192.168.1.191
4 192.168.1.192 192.168.1.255

--> 3개의 Subnet으로 나누어진 위의 네트워크에서 두 번째 네트워크의 브로드캐스트 주소는 192.168.1.127

 

IPv6(Internet Protocol version 6)

  • IPv6는 현재 사용하고 있는 IP 주소 체계인 IPv4 주소 부족 문제를 해결하기 위해 개발됨
  • 128비트의 긴 주소를 사용하여 주소 부족 문제를 해결
  • IPv4에 비해 자료 전송 속도가 빠름
  • 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제 해결 가능
  • 확장성, 융통성, 연동성이 뛰어남
  • 실시간 흐름 제어로 향상된 멀티미디어 기능을 지원
  • 패킷 크기를 확장할 수 있으므로 패킷 크기에 제한이 없음
  • 기본 헤더 뒤에 확장 헤더를 더함으로써 더욱 다양한 정보의 저장이 가능해져 네트워크 기능 확장이 용이
  • IPv4와 호환성이 뛰어남

IPv6의 구성

  • 16비트씩 8부분, 총 128비트 구성
  • 16진수로 표현, 콜론(;)으로 구분
  • IPv6은 세 가지 주소 체계로 나뉘어짐
유니캐스트(Unicast) 단일 송신자와 단일 수신자 간의 통신 (1대1 통신)
멀티캐스트(Multicast) 단일 송신자와 다중 수신자 간의 통신 (1대다 통신)
애니캐스트(Anycast) 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신 (1대1 통신)

 

140(A) OSI 참조 모델 - 물데네전세표응 

물리 계층: 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의

(관련 정비: 리피터, 허브)

- 물리적 전송 매체와 전송 신호 방식을 정의

 

데이터 링크 계층: 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료 담당

(관련 장비: 랜카드, 브리지, 스위치)

- 송수신측 속도 차이 해결을 위해 흐름 제어

- 프레임 시작,끝 구분 위해 프레임 동기화

- 오류의 검출, 회복을 위해 흐름 제어

- 프레임의 순서적 전송을 위한 순서 제어

 

네트워크 계층: 개방 시스템들 간 네트워크 연결을 관리하는 기능, 데이터 교환 및 중계 기능

(관련 장비: 라우터)

- 네트워크 연결을 설정, 유지, 해제

- 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송

 

전송 계층: 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송

(관련 장비: 게이트웨이)

- OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스를 담당

- 종단 시스템 간 전송 연결 설정, 데이터 전송, 연결 해제

- 주소 설정, 다중화, 오류 제어, 흐름 제어

 

세션 계층: 송수신 측 간의 관련성을 유지하고 대화 제어를 담당

- 대화 구성 및 동기 제어, 데이터 교환 관리 기능

- 대화의 생성, 관리, 종료를 위해 토큰을 사용

- 동기점은 오류가 있는 데이터의 회복을 위해 사용 (종류- 소동기점, 대동기점)

 

표현 계층: 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환 / 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환

- 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층

- 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥관리 기능

 

응용 계층: 사용자가 OSI 환경에 접근할 수 있도록 서비스를 제공

- 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 등의 서비스 제공

 

141(D) 네트워크 관련 장비

 

142(A) TCP/IP

프로토콜: 서로 다른 기기들 간 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약

<기본 3요소>

구문(Syntax) 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등 규정
의미(Semantics) 두 기기 간 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정
시간(Timing) 두 기기 간 통신 속도, 메시지의 순서 제어 등 규정

프로토콜의 기능 - 단편화와 재결합, 캡슐화, 흐름 제어, 오류 제어, 동기화, 순서 제어, 주소 지정, 다중화, 경로 제어, 전송 서비스 등

 

TCP/IP(Transmission Control Protocol / Internet Protocol)

: 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜

TCP - OSI 7계층의 전송 계층에 해당
- 가상 회선 방식을 기반으로 하는 연결형 서비스를 제공
- 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공
IP - OSI 7계층의 네트워크 계층에 해당
- 데이터그램 방식을 기반으로 하는 비연결형 서비스를 제공
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능 제공

 

<응용 계층의 주요 프로토콜>

HTTP: 월드 와이드 웹(WWW)에서 HTML 문서를 송수신 하기 위한 표준 프로토콜

 

<전송 계층의 주요 프로토콜>

TCP - 양방향 연결형 서비스 제공
- 가상 회선 연결 형태의 서비스 제공
- 스트림 위주의 전달(패킷 단위)
- 신뢰성 있는 경로 확립, 메시지 전송 감독
- 순서 제어, 오류 제어, 흐름 제어 기능
- 패킷의 분실, 손상, 지연이나 순서가 틀린 것 발생할 시 투명성 보장되는 통신 제공
- TCP 프로토콜의 헤더는 기본적으로 20Byte에서 60Byte까지 사용할 수 있는데, 선택적으로 40Byte를 더 추가할 수 있어 최대 100Byte까지 크기 확장 가능
UDP - 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스 제공
- TCP에 비해 상대적으로 단순한 헤더 구조 가지므로, 오버헤드 적고, 흐름 제어나 순서 제어가 없어 전송 속도가 빠름
- 고속의 안정성 있는 전송 매체를 사용하여 빠른 속도를 필요로 하는 경우, 동시에 여러 사용자에게 데이터를 전달할 경우, 정기적으로 반복해서 사용할 경우에 유리함
- 실시간 전송에 유리, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용

 

<인터넷 계층의 주요 프로토콜>

ICMP
(제어 메시지)
- IP와 조합하여 통신중에 발생하는 오류의 처리, 전송 경로 변경 등을 위한 제어 메시지 관리
- 헤더는 88Byte로 구성
ARP
(주소 분석)
호스트의 IP(논리) 주소를 호스트와 연결된 네트워크 접속 장치의 MAC(물리) 주소로 바꿈
RARP
(ARP 역)
ARP와 반대로 물리적 주소를 IP 주소로 변환

 

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

Ethernet(IEEE 802.3): CSMA/CD 방식의 LAN

 

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

메시 네트워크 차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
- 대규모 디바이스의 네트워크 생성에 최적화되어 있음
SDN
(SW 정의 네트워킹)
네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 SW로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
피코넷 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
애드 훅 네트워크 - 재난 현장과 등 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크
- 망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합
파장 분할 다중화 - 광섬유를 이용한 통신기술, 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 함
소프트웨어 정의
데이터센터(SDDC)
데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 SW 조작만으로 관리 및 제어되는 데이터 센터
- 컴퓨팅, 네트워크, 스토리지, 관리 등을 모두 SW로 정의
- 다양한 SW 정의 기술이 사용됨
개방형 링크드
데이터 (LOD)
Linked Data와 Open Data의 합성어로, 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터
- 웹상에 존재하는 데이터를 개별 URI(인터넷 식별자)로 식별하고, 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형
SSO 한 번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 해주는 시스템
- 개인정보를 각 사이트마다 일일이 기록해야 하던 불편함을 해소

 

144(B) 네트워크 구축

네트워크: 두 대 이상의 컴퓨터를 전화선이나 케이블 등으로 연결하여 자원을 공유하는 것

 

<설치 구조>

버스형

  • 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태
  • 단말장치의 추가와 제거가 용이
  • 단말장치 고장 시 통신망 전체에 영향을 주지 않아 신뢰성 높일 수 있음
  • 기밀 보장 어려움
  • 통신 회선의 길이에 제한 있음

<LAN의 표준안> - 802.11 버전

802.11e - 802.11의 부가 기능 표준으로, QoS 기능이 지원되도록 하기 위해 매체 접근 제어(MAC) 계층에 해당하는 부분을 수정함

 

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

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

 

145(A) 경로 제어 / 트래픽 제어

<경로 제어 프로토콜>

IGP
(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
하나의 자율 시스템(AS) 내의 라우팅에서 사용되는 프로토콜

RIP(Routing Information Protocol)
- 현재 가장 널리 사용되는 라우팅 프로토콜, 거리 백터 라우팅 프로토콜로도 불림
- 최단 경로 탐색에 밸만포드 알고리즘이 사용됨
- 최대 홉 수를 15로 제한 -> 대규모 네트워크에서는 사용 불가
- 홉 카운트, 즉 라우터의 수를 기준으로 가장 적은 수의 라우터를 거쳐가는 경로를 최적 경로로 선택

OSFP(Open Shortest Path First Protocol)
- RIP의 단점을 해결하여 대규모 네트워크에서 많이 사용
- 이용자가 최단 경로 선정
- 최단 경로 탐색에 다익스트라 알고리즘을 사용
- 라우팅 정보에 변화 생길 경우 변화된 정보만 네트워크 내의 모든 라우터에 알림
EGP
(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
자율 시스템 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
BGP
(Border Gateway Protocl)
자율 시스템 간의 라우팅 프로토콜로, EGP의 단점을 보완하기 위해 만들어짐
초기에 BGP 라우터들이 연결될 때 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만을 교환

 

흐름 제어: 네트워크 내의 원활한 흐름을 위해 송수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능

정지-대기: 수신 측의 확인 신호(ACK)를 받은 후 다음 패킷 전송, 한 번에 하나의 패킷만 전송 가능

 

146(B) SW 관련 신기술

<SW 관련 신기술>

블록체인 P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자(Peer)의 디지털 장비에 분산 저장하는 기술
매시업 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 SW, 서비스, DB 등을 만드는 기술
콘텐츠를 조합하여 하나의 서비스로 제공
증발품 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게 판매되거나 배포되지 않고 있는 SW
서비스 지향 아키텍처 (SOA) 기업의 SW 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축
<SOA 기반 애플리케이션 구성 계층>
- 표현, 업무 프로세스, 서비스 중간, 애플리케이션, 데이터 저장 계층의 5계층
디지털 트윈 현실속의 사물을 SW로 가상화한 모델

 

147(B) 소프트웨어 개발 보안 활동 관련 법령 및 규정

정보보호 관리 체계(ISMS)

- 정보 자산을 안전하게 보호하기 위한 보호 절차와 대책, 조직에 맞는 정보보호 정책을 수립하고, 위험에 상시 대응하는 여러 보안 대책을 통합하여 관리

- 한국인터넷진흥원(KISA)에서는 공공 기관과 민간 기업을 대상으로 정보보호 관리 체계를 평가하고 인증하는 업무를 수행

 

148(B) HW 관련 신기술

<HW 관련 신기술>

고가용성 긴 시간동안 안정적인 서비스 운영을 위해 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 매커니즈
RAID 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분산 저장할 경우, 그 블록들을 서로 다른 디스크들에 분산 저장할 경우 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있으므로 디스크의 속도가 매우 향상되는 기술

<주요 RAID 레벨>
- RAID 0: 스트라이핑 / RAID 1: 미러링 / RAID 5: 패리티 저장 / RAID 6: 이중 패리티
앤 스크린 N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스
트러스트존 기술 하나의 프로세스 내에 일반 애플리케이션을 처리하는 일반 구역과
보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술

 

149(C) Secure OS

 

150(B) DB 관련 신기술

<DB 관련 신기술>

하둡 - 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 가상화된 대형 스토리지, 자바 SW 프레임워크
- 구글, 야후 등에 적용
맵리듀스 - 대용량 데이터 분산 처리를 목적으로 개발된 프로그래밍 모델
- 데이터 분류로 묶는 Map 작업 후 중복 데이터 제거, 원하는 데이터 추출하는 Reduce 작업 수행
- Google에 의해 고안, 병렬 처리 기법
타조 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트
데이터 마이닝 대량 데이터를 분석하여 일정한 패턴을 찾아내는 기법
OLAP - 다차원적으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용

 

151(B) 회복 / 병행제어

회복: 트랜잭션들을 수행하는 도중 장애가 발생하여 DB가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업

<회복 기법 종류>

즉각 갱신 기법 - 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 DB에 반영
- 장애가 발생하여 회복 작업할 경우를 대비하여 갱신된 내용들은 Log에 보관
- Redo, Undo 모두 사용 가능

 

병행제어: 다중 프로그램의 이점을 활용하여 동시에 실행되는 트랜잭션 간의 상호작용을 제어하는 것

-> 병행제어 없이 트랜잭션들이 DB에 동시에 접근하도록 허용할 경우 갱신 분실, 비완료 의존성, 모순성, 연쇄 복귀 등 문제 발생

<병행제어 기법 종류>

로킹(Locking) - 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock을 요청해서 허락되어야 그 로킹 단위를 액세스할 수 있게함
- 주요 데이터의 액세스를 상호 배타적으로 함
타임 스태프 순서 - 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기전에 시간표를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
- 직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중 가장 보편적인 방법

 

로킹 단위: 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기

DB, 파일 레코드, 필드 등이 로킹 단위 될 수 있음

로킹 단위 크면 -> 로크 수 적고, 관리하기 쉬움, 병행이 수준 낮아짐

로킹 단위 작으면 - > 로크 수 많고, 관리하기 복잡, 오버헤드 증가, 병행성 수준 높아짐

 

152(B) 교착상태

<교착상태 발생의 필요 충분 조건>

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

 

<교착상태의 해결 방법>

회피 기법
(Avoidance)
- 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법
- 주로 은행원 알고리즘이 사용됨
(은행원 알고리즘: 다익스트라가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는데서 유래)