이전자료/정보처리기사

[정보처리기사] 11장 응용 SW 기초 기술 활용

donggyu 2021. 9. 2. 16:11
반응형

운영체제(OS)

-컴퓨터 시스템의 자원들을 효율적으로 관리, 사용자가 컴퓨터를 편리하고 혀과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모음

- 운영체제는 프로세스, 기억장치, 주변장치, 파일 등을 관리하는 기능을 수행

- Windows, UNIX, LINUX, MACOS, MS-DOS, Android

 

운영체제의 목적

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

 

window

- ms가 개발한 운영 체제

 

UNIX

- AT&T 벨 연구소, MIT, GE가 공동 개발한 운영 체제

- 시분할 시스템을 위해 설계된 대화식 운영체제

- 개방형 시스템

- C언어로 작성되어있어 이식성이 높고, 프로세스 간의 호환성이 높다

 

UNIX 구성

- 커널: 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당, UNIX의 핵심 부분, 여러 기능 수행

- 쉘: 사용자의 명령어를 인식, 프로그램을 호출, 명령어 해석기, 시스템과 사용자 간의 인터페이스 담당

- 유틸리티 프로그램: 응용 프로그램 처리, DOS에서의 외부 명령어, 에디터, 컴파일런, 디버거 ..

 

LINUX

- 리누스 토발즈가 UNIX 기반으로 개발 한 OS

- 무료 공개, UNIX와 완벽 호환

 

MacOS

- 애플이 개발한 UNIX 기반 운영 채제

 

Android

- 구글에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제

- 자바와 코틀린으로 작성

 

ios

- 애플에서 개발한 유닉스 기반 모바일 운영체제

 

기억장치 관리 전략

- 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정, 주기억장치의 공간을 효율적으로 사용하기 위한 것

- 반입, 배치, 교체  

 

주기억장치 할당

- 프로그램이나 데이터를 실행시키기 위해 주기억 장치에 어떻게 할당할 것인지에 대한 내용

 

연속 할당 기법

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

단일 분할 할당기법

- 한순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법

- 오버레이 기법(주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법), 스와핑 기법( 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체하는 기법)

 

 다중 분할 할당 기법

- 고정 분할 할당 기법(정적 할당 기법), 가변 분할 할당 기법(동적 할당 기법)

 

분산 할당 기법

- 프포그램을 특정 단위의 조각으로 나누어 주기억 장치 내에 분산하여 할당하는 기법

- 페이징 기법, 세그먼테이션 기법

 

가상기억 장치(Virtual Memory)

- 보조기억장치의 일부를 주기억장치처럼 사용하는 것

- 프로그램을 여러 개의 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고, 실행시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리

-  페이징 기법, 세그먼테이션 기법

 

페이징 기법

- 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램일 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법

- 프로그램을 일정한 크기로 나눈 단위를 페이지라 하고, 페이지 크기로 일정하게 나누어진 주기억장치의 단위를 페이지 프레임이라고 한다

 

세그먼테이션 기법

- 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법

- 논리적인 크기로 나눈 단위를 세그먼트라고 하며, 각 세그먼트는 고유한 이름과 크기를 갖는다

- 기억공간을 절약시키기 위함

 

페이지 교체 알고리즘

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

 

종류: OPT, FIFO, LRU, NUR, SCR

 

OPT(최적 교체)

- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법

- 벨레이디가 제안

- 페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘

 

FIFO

- 가장 먼저 들어와서 가장 오래 있던 페이지를 교체하는 기법

 

LRU

- 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

 

LFU

- 사용 빈도가 가장 적은 페이지를 교체

 

NUR

- 최근에 사용하지 않은 페이지를 교체

 

SCR(2차 기회 교체)

- 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지

 

페이지 크기

- 페이징 기법을 사용하면 프로그램을 페이지 단위로 나누게 되는데, 페이지의 크기에 따라 시스템에 미치는 영향이 다름

 

Locality( 국부성, 지역성, 구역성, 국소성)

- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성실

- 실행중인 프로세스는 일정 시간에 메모리의 일정 부분만을 집중적으로 참조하는 성질

- 스레싱을 방지하기 위한 워킹 셋 이론의 기반

- 가상기억장치 관리와 캐시 메모리 시스템의 이론적인 근거

- 시간 구역성(프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 엑세스하는 현상), 공간 구역성(프로세스 실생 시 일정 위치의 페이지를 집중적으로 엑세스 하는 현상)

 

워킹셋

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

- 데닝이 제안한 프로그램의 움직임에 대한 모델, 프로그램의 Locality 특징을 이용

 

스래싱

- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

 

프로세스

- 프로세서에 의해 처리되는 사용자 프로그램, 실행중인 프로그램

 

PCB(프로세스 제어블록)

- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳

- 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거

 

프로세스 상태전이

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

 

스레드

- 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위

- 프로세스 내에서의 작업 단위

 

스케줄링

- 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

- 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거치게 된다

 

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

- 이미 할당된 CPU를 다른 프로세스가 강제로 뺏아 사용할 수 없는 스케줄링 기법

- 프로세스가 CPU를 할당받으면 해당 프로세스가 완료될 때까지 CPU를 사용함

- 프로세스 응답 시간의 예측 용이

- FCFS, SJF, 우선순위, HRN, 기한부

 

선점 스케줄링(Preemptive)

- 우선순위가 높은 다른 프로세스가 CPU를 강제로 뺏아 사용할 수 있는 스케줄링 기법

- 우선순위가 높은 프로세스를 빠르게 처리 가능

- 많은 오버헤드를 초래

- 라운드 로빈, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐

 

FCFS = FIFO

- 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법

 

SJF(단기 작업 우선)

- 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

 

HRN

- 대기 시간과 실행 시간을 이용하는 기법

- 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것

 

우선순위 계산식 = (대기시간 + 실행시간) / 실행시간

 

환경변수

- 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값을의 모임

- 변수명, 값

- 시스템의 기본정보를 저장

- 자식 프로세스에 상속

- 시스템 전반에 걸쳐 적용되는 시스템 환경 변수와 사용자 계정내에서만 적용되는 사용자 환경 변수로 구분

- 윈도우(%), 유닉스/리눅스($)

 

윈도우 기본 명령어

DIR: 현재 디렉터리의 파일 목록을 표시

MD: 디렉터리를 생성

CD: 동일한 드라이브에서 디렉터리의 위치를 변경

CHKDSK: 디스크 상태를 점검

FORMAT: 디스크 표면의 트랙과 섹터로 나누어 초기화

 

유닉스/리눅스 기본 명령어

cat: 파일 내용을 화면에 표시

chmod: 파일의 보호모드를 설정하여 파일의 사용 허가를 지정함

cp: 파일을 복사

rm: 파일 삭제

fsck: 파일 시스템을 검사하고 보수함

fork: 새로운 프로세스를 생성

ls: 현재 디렉터리의 파일 목록을 표시험

mkdir: 디렉터리를 생성

rmdir: 디렉터리를 삭제

mv: 파일을 이동함

top: 시스템의 프로세스와 메모리 사용 현황을 표시

pwd: 현재 작업중인 디렉토리의 경로를 화면에 표시

 

인터넷

- TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터워 네트워크들이 연결된 광범위한 컴퓨터 통신망

- 연결된 모든 컴퓨터는 고유한 IP 주소를 가짐

 

IP 주소

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

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

 

서브네팅

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

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

 

IPv4

- 32비트의 주소 길이

- 8비트씩 4부분으로 나뉜 10진수

- 헤더 크기 가변

 

주소체계

- 유니캐스트

- 멀티캐스트

- 브로드캐스트

 

IPv6

- 128비트의 긴 주소를 사용하여 주소 부족 문제를 해결 할 수 있음

- 인증성, 기밀성, 데이터 무결성

- 패킷 크기를 확장 할 수 있으므로 패킷 크기의 제한이 없음

- 기본 헤더뒤에 확정 헤더를 더함으로써 더욱 다양한 정보의 저장이 가능해 네트워크 기능 확장이 용이

- 헤더 크기 고정

- 16비트 8부분, 총 128비트 구성

- 각 부분을 16진수로 표현, :으로 구분

 

*인증성:  사용자의 식별과 접근 권한 검증

*기밀성: 시스템 내의 정보와 자원은 인가된 사용자에게만 접근허용

*무결성: 시스템 내의 정보는 인가된 사용자만 수정 가능

*헤더: 패킷 전송 시 제일 앞에 배치되는 영역, IP 주소의 버전, 인증 정보, 다양한 정보 포함

 

주소체계

- 유니캐스트: 1대 1 통신에 사용

- 멀티캐스트: 1대 다 통신에 사용

- 애니캐스트: 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신(1대1통신에 사용)

 

도메인 네임

- 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현 한것

- 문자로 된 도메인 네임을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역활을 하는 시스템을 DNS라고 하며 이런 역할을 하는 서버를 DNS 서버함

 

OSI 참조 모델

- 다른 시스템 간의 원할한 통신을 위해 ISO에서 제안한 통신 규약

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

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

 

물리 계층(Physical Layer)

- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 절차적 특송

- 리피터, 허브

 

데이터 링크 계층(Data Link Layer)

- 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보를 전송할 수 있도록 시스템 간 연결 설정 유지 및 종료 담당

- 흐름 제어 기능, 동기화 기능, 오류제어 기능, 순서 제어 기능

- 랜카드, 브리지, 스위치

 

네트워크 계층(Network Layer)

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

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

- 라우터

 

전송 계층(Transport Layer)

- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템간에 투명한 데이터 전송을 가능하게함

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

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

- TCP, UDP등의 표준

- 게이트웨이

 

세션 계층(Session Layer)

- 송 수신 측 간의 관련성을 유지하고 대화 제어를 담당

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

 

*세션: 두 이용자 사이의  연결을 의미

 

표현 계층(Presentaion Layer)

- 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능

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

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

 

응용계층(Application Layer)

- 사용자가 OSI 환경에 접근할 수 있도록 서비스 제공

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

 

네트워크 인터페이스 카드

- 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치

- 정보 전송시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경

 

허브

- 가까운 거리의 컴퓨터들을 연결하는 장치, 각각의 회선을 통합하여 관리

 

리피터

- 수신한 신호를 재생시키거나 출력 전압을 높여 전송하는 장치

 

브리지

- LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 장치

 

스위치

- LAN과 LAN을 연결하여 더 큰 LAN을 만드는 장치

 

라우터

- 라우터 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적경로를 선택하는 기능이 추가된 장치

- OSI 네트워크 계층

 

게이트웨이

- OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치

- 세션계층, 표현 계층, 응영 계층 간을 연결하여 데이터 형식 변환, 주소 변환, 프로토콜 변환 등을 수행

 

프로토콜

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

-  단편화와 재결합, 캡슐화, 흐름제어, 오류 제어, 동기화, 순서 제어, 주소 지정

 

프로토콜의 기본 요소

- 구문(Sysntax): 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정함

- 의미(Semantics): 두 기기 간의 효율적이고 정환한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정

- 시간(TIming): 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

 

TCP/IP

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

 

TCP

- OSI 7계층의 전송 계층에 해당함

- 신로성 있는 연결형 서비스를 제공함

 

IP

- OSI 7계층의 네트워크 계층에 해당함

- 데이터그램을 기반으로 하는 비연결형 서비스를 제공함

 

TCP/IP          OSI

응용계층: 응용 계층, 표현 계층, 세션 계층

- 응용 프로그램 간의 데이터 송 수진 제공

- TELNET, FTP, SMTP, SNMP, DNS, HTTP

 

전송계층: 전송 계층

- 호스트들 간의 신뢰성 있는 통신 제공

- TCP, UDP, RTCP

 

인터넷 계층: 네트워크 계층

- 데이터 전송을 위한 주소 지정, 경로 설정을 제공함

- IP, ICMP, IGMP, ARP, RARP

 

네트워크 액세스 계층: 데이터 링크 계층, 물리 계층

- 실제 데이터를 송수신 하는 역할

- Ethernet, IEEE 802, HDLC, x.25

 

응용 계층의 주요 프로토콜

- FTP: 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고 받을 수 있또록 하는 원격 파일 전송 프로토콜

- SMTP: 전자 우편을 교환하는 서비스

- TELNET: 멀리 떨어져 있는 컴퓨터에 접손하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스

- SNMP: TCP/IP의 네트워크 관리 프로토콜로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는데 사용되는 표준 통신 규약

- DNS: 도메인 네임을 IP 주소로 매핑하는 시스템

- HTTP: www에서 HTML문서를 송수신 하기 위한 표준 프로토콜

 

전송 계층의 주요 프로토콜

- TCP: 양방향성 연경혈 서비스를 제공, 신뢰성 있는 경로를 확립하고 메시지 전송을 감독함, 패킷의 분실, 손상, 지연이나 순서가 틀린 것 등이 발생할 때 투명성이 보장되는 통신 제공, 스크림 전송 기능 제공

- UDP: 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스 제공, TCP에 비해 상대적으로 단순한 헤더구조, 전송속도가 빠름, 실시간 전송에 유리

- RTCP: RTP의 패킷의 전송 품질을 제어하기 위한 제어 프로토콜, 세선에 참여한 각 참여자들에게 주기적으로 제어 정보를 전송함

 

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

- IP: 전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능, 비연결형인 데이터그램 방식을 사용하는 것으로 신뢰성이 보장되지 않음

- ICMP: IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 함

- IGMP: 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용됨

- ARP: 호스트의 IP주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC adress)로 바꿈

- RARP: ARP와 반대로 물리적 주소를 IP주소로 변환

 

네트워크 계층의 주요 프로토콜

- Ethernet: CSMA/CD 방식의 LAN

- IEEE 802: LAN을 위한 표준 프로토콜

- HDLC: 패킷 교환망을 통한 DTE와 DCE 간의 인터세이스를 제공하는 프로토콜

 

네트워크 관련 신기술

- IOT: 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술

- M2M: 무선 통신을 이용한 기계와 기계 사이의 통신

- 모바일 컴퓨팅: 휴대형 기기를 이동하면서 자류로이 네트워크에 접속하여 업무를 처리할 수 있는 환경

- 클라우드 컴퓨팅: 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 작업

- 그리드 컴퓨팅: 지리적으로 분산 되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터 처럼 활용

- 모바일클라우드 컴퓨팅(MCC): 소비자와 소비자의 파트너가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 일프라를 구성

- 인터클라우드 컴퓨팅: 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스

- 메시 네트워크: 차세대 이동통신, 홈네트워킹 특수 목적을 위한 새로운 방식의 네트워크 기술, 대규모 디바이스의 네트워크 최적화

- 와이선: 스마트 그리드와 같은 장거리 무선 통신을 필요하는 사물인터넷 서비스를 위한 저전력 

- NDN: 컨텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술

- NGN: 유선망뿐만 아니라 이동 사용자를 목표로 하여, 이동통신에서 제공하는 완전항 이동성 제공을 목표로 개발

- SDN:  네트워크를 컴퓨터 처럼 모델링 하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화 하여 제어하고 관리하는 네트워크

- NFC: 아주 가까운 거리에서 양방향 통신을 지원하는 RFID기술의 일종

- UWB: 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 함

- 피코넷: 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술

- WBAN: 웨어러블 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술

- GIS: 지리적인 자료를 수집 저장 분석 출력할 수 있는 컴퓨터 응용 시스템

- USN: 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크, RFID 센서 부착

- SON: 주변 상황에 맞추어 스스로 망을 구성하는 네트워크

- 애드 혹 네트워크: 재난 현장과 같이 별도의 고정된 유선망을 구축 할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크

- 네트워크 슬라이싱: 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술

- 저전력 블루투스 기술: 일반 블루투스와 동일한 대역을 사용하지만 연결되지 않은 대기상태에서는 절전모드를 유지하는 기술

- 지능형 초연결망: 스마트 시티, 스마트 스테이션등 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 사업

- 파장 분할 다중화(WDM): 광섬유를 이용한 통신기술, 파장이 다른 광선끼리는 서로 간섭을 일으키지 않는 성질을 이용한 기술

- 소프트웨어 정의 데이터 센터(SDDC): 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터, 컴퓨팅, 네트워킹, 스토리지관리 등을 모드 소프트웨어로 정의

- 개방형 링크드 데이터(LOD): 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터, 각 URL에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형

 

네트워크

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

- 데이터, 프로그램, 주변장치, 인터넷 등을 공유하기 위해 사용

 

성형(star, 중앙 집중형)

- 중앙에 중앙 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식의 네트워크

- 포인트 투 포인트 방식으로 회선을 연결

- 단말의 추가와 제거가 쉽다

 

링형(Ring, 루프형)

- 컴퓨터와 단말장치들을 서로 이웃하는 것 끼리 연결시킨 포인트 투 포인트 방식의 구성 형태

- 단말장치의 추가 제거 및 기밀 보호가 어렵다

 

버스형

- 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태

- 추가와 제거가 용이

- 기밀 보장이 어렵다

 

계층형(Tree)

- 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 토신 회서능로 연결시키고, 이웃하는 단말장치는 일정 지역내에 설치된 중간 단말장치로 부터 다시 연결시키는 형태

- 분산 처리시스템을 구성하는 방식

 

망형(Mesh)

- 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태, 노드의 연결성이 높다

- 많은 단말장치로 부터 많은 양의 통신을 필요로 하는 경우에 유리

- 모든 노드를 망형으로 연결하려면 노드수가 n개 일때 n(n-1)/2 개의 회선이 필요하고 노드당 (n-1)개의 포트가 필요하다

 

네트워크의 분류

근거리 통신망(LAN)

- 비교적 가까운 거리에 있는 컴퓨터 자원을 연결하여 구성

- 전송 속도가 빠르고, 에러 발생율이 낮음

- 버스형이나 링형

 

광대역 통신망(WAN)

- 멀리 떨어진 사이트들을 연결하여 구성

- 사이트 간의 거리가 멀기 때문에 통신속도가 느리고, 에러발생율이 높음

- 근거리 통신망으로 연결한 후 가 근고리 통신망을 연결

 

NAT(네트워크 주소변환)

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

- 한 개의 IP주소를 사용해서 외부에 접속할 수 있는 노드는 어느 시점에서 한개로 제한 되는 문제가 있지만 IP 마스커레이드를 이용하여 해결 가능

 

스위치

- LAN과 LAN을 연결하여 더 큰 LAN을 만드는 장치

 

L2 스위치

- OSI 2계층

- MAC 주소를 기반으로 프레임을 전송

- 통일 네트워크 간의 연결만 가능

 

L3 스위치

- L2 스위치에 라우터 기능이 추가된 것으로, IP 주소를 기반으로 패킷을 전송함

- 서로 다른 네트워크 간의 연결이 가능함

 

L4 스위치

- 로드 밸런서가 달린 L3 스위치로 IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드 밸런싱 기능을제공

 

L7 스위치

- IP 주소, TCP/UDP 포트 정보를 패킷 내용까지 참조하여 세밀하게 로드밸런싱함

 

스위칭 방식

- store and forwarding: 데이터를 모두  받은 후 스위칭하는 방식

- cut-through: 데이터의 목적지 주소만을확인한 후 바로 스위칭하는 방식

- Fragment Free: 두 방식의 장점을 결합한 방식

 

백본 스위치

- 네트워크들을 연결할 때 중추적 역할을 하는 네트워크를 백본이라하고, 백본에서 스위칭 역활하는 하는것

- 모든 패킷이 지나가는 네트워크의 중심에 배치

- 주로 L3가 백본 스위치 역할을 함

 

Hierarchical 3 Layer 모델

 

엑세스 계층

- 사용자가 네트워크에 접속할 때 최초로 연결되는 지점, 사용자들로 부터 오는 통신을 집약해서 디스트리뷰션 계층으로 전송

-  L2 스위치 사용

 

디스트리뷰션 계층

- 액세스 계층의 장치들이 연결되는 지점으로, 액세스 계층에서 오는 통신을 집양해서 코어 계층으로 전송함

- LAN 간에 라우팅 기능을 수행함

- 라우터, L3 스위치를 사용

 

코어 계층

- 디스트리뷰션 계층에서 오는 통신을 집약해 인터넷에 연결하는 계층, 백본 계층

- 백본 스위치를 사용함

 

경로제어(routing)

- 송수신 측 간의 전송 경로 중에서 최적 패킷 교환 경로를 결정하는 기능

- 경로제어는 경로 제어표를 참조해 이루어지며, 라우터에 의해 수행

 

경로제어 프로토콜(Routing protocol)

IGP(내부 게이트웨이 프로토콜)

-하나의 자율 시스템 내의 라우팅에 사용되는 프로토콜

-RIP: 최단 경로 탐색 알고리즘이 사용, 소규모 동종의 네트워크 내에서 효율, 최대 홉 수를 15로 제한

-OSPF:RIP의 단점 보안, 대규모 네트워크, 이용자가 최단 경로를 선정할 있도록 라우팅 정보에 노드 간의 정보를 실시간으로 반영, 라우팅 정보에 변화가 생길 경우 변화된 정보만 네트워크 내의 모든 라우터에 알림

 

EGP(외부 게이트웨이 프로토콜)

- 자율 시스템간의 라우팅, 게이트웨이 간의 라우팅에 사용되는 프로토콜

 

BGP

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

 

트래픽 제어(Traffic Control)

- 네트워크의 보호, 성능 유지, 네트워크 자원의 효율적인 이용을 위해 전송되는 패킷의 흐름 또는 그 양을 조절하는 기능

- 흐름제어, 폭주 제어, 교착상태 방지

 

흐름제어(Flow Control)

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

- 정지 - 대기(stop and wait): 수신 측의 확인 신호를 받은 후에 다음 패킷을 전송하는 방식, 한 번에 하나의 패킷만을 전송할 수 있음

- 슬라이딩 윈도우: 확인 신호 즉 수신 통지를 이용하여 송신 데이터 양을 조절하는 방식, 수신 측의 확인 신호를 받지 않더라도 미리 정해진 패킷의 수 만큼 연속적으로 전송하는 방식, 한 번에 여러 개의 패킷을 전송할 수 있어 전송 효율이 좋음

 

폭주제어(Congestion Control)

- 네트워크 내의 패킷 수를 조절하여 네트워크의 오버플로를 방지하는 기능

- 느린 시작(Slow Start): 윈도우 크기를 2배수씩 지수적으로 증가시켜 초기에는 느리지만 갈수록 빨라짐, 전송 데이터 크기가 임계값에 도달하면 혼잡 회피 단계로 넘어감

- 혼잡 회피(Congsetion Avoidance): 윈도우의 크기를 1씩 선형적으로 증가시켜 혼잡을 예방하는 방식

 

SW 관련 신기술

- 인공지능(AI): 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단등의 인간지능적인 작업을 수행하는 시스템

- 뉴럴링크:테슬라, 사람의 뇌와 컴퓨터를 결합하는 기술

- 딥러닝: 인간의 두뇌를 모델로 만들어진 인공 신경망을 기반으로 하는 기계 학습 기술

- 증강현실(AR): 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술

- 블록체인: P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장

- 분산 원장 지술(DLT): 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고 P2P 망내의 참여자들에게 모든 거래 목록이 분ㅅㄴ 저장

- 해시: 임의의 길이의 입력 데이터나메시지를 고정된 길이의 값이나 키로 변환하는 것

- 양자 암호키 분배(QKD): 양자 통신을 위해 비밀키를 분배하여 관리하는 기술

- 프라이버시 강과 기술(PET): 개인정보 침해 위험을 관리하기 위한 핵심 기술

- 공통 평가 기준(CC): ISO 15408 표준으로 채택된 정보 보호 평가 기준

- 개인정보 영향평가 제도(PIA): 개인 정보를 활용하는 새로운 정보시스템의 도입 및 기준

- 그레이웨어(Grayware): 소프트웨어를 제공하는 입장에서는 악의적이지 않은 프로그램이라 주장 가능하지만, 사용자 입장에서는 악의적일 수 있는 공유웨어

- 매시업: 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 서프트웨어나 서비스, 데이터베이스 등을 만드는 기술

- 리치 인터넷 애플리케이션(RIA): 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML보다 역동적이고 인터랙티브한 웹 페이지를 제공하는 신개념 플래시 웹 페이지 제작 기술

- 시맨틱 웹: 컴퓨터가 사람들 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹

- 증발품: 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게 판매되거나 배포되지 않고 있는 소프트웨어

- 오픈 그리드 서비스 아키텍처(OGSA): 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준

- 서비스 지향 아키텍처(SOA): 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처

- 서비스형 소프트웨어(SaaS): 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 하는 소프트웨어

- 소프트웨어 에스크로: 소프트웨어 개발자의 지식재산권을 보호하고 사용자는 저렴한 비용으로 소프트웨어를 사용 및 유지 보수

- 복잡 이벤트 처리(CEP): 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터처리 방법

- 디지털 트윈: 현실속의 사물을 소프트웨어로 가상화한 모델

 

HW 관련 신기술

- 고가용성(HA): 긴 시간동안 안정적인 서비스 운영을 위해 장애 발생시 즉기 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘

- RAID: 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분상 저장할 경우, 그 블록들을 여러 딛스크에서 동시에 읽고 쓸수 있는 기술

- 신 클라이언트PC: 하드디스크나 주변장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운영되는 PC, 서버 기반 컴퓨팅

- 멤스: 초정밀 반도체 제조 기술을 바탕으로 만든 초 미세 장치

- 트러스트존 기술: 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술

- 엠디스크: 한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장장치

- 멤리스터: 메모리와 레지스터의 합성어, 전류의 방향과 양 등 기존의 경험 모두 기억하는 특별한 소자, 레지스터, 커패시티, 인덕터에 이어 네 번째 전자회로 구성 요소라 불림

 

Secure OS

- 기존의 운영체제에 내제된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로 부터 시스템 자원을 보호하는 운영체제

- 식별 및 인증, 임의적/강제적 접근통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로

 

*커널: 프로그램과 하드웨어 간의 인터페이스 역할을 담당

 

참조 모니터

- 보호 대상 객체에 대한 접근통제를 수행하는 추상머신

 

참조 모니터와 보안 커널의 특징

- 격리성(isolation): 부정 조작이 불가능해야함

- 검증가능성(Verifiability): 적절한 구현이 되었다는 것을 확인 할 수 있어야함

-  완전성(Completencess): 우회가 불가능 해야함

 

DB 관련 신기술

- 빅데이터: 막대한 양의 정형 또는 비정형 데이터 집합

- 브로드 데이터: 다양한 채널에서 소비자와 상호 작용을 통해 생성된 것, 기존데이터에 새로운 가치가 더해진 데이터

- 메타 데이터: 일련의 데이터를 정의하고 설명해 주는 데이터, 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미

- 디지털 아카이빙: 디지털 정보 자원을 장기적으로 보존하기 위한 작업, 아날로그 컨텐츠는 디지털로 변환, 디지털 컨텐츠는 체계적 분류 후 메타데이터 생성

- 하둡(Hadoop): 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병령로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크

- 맵리듀스: 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델, 구글에 의해 고안되었으며 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법

- 타조: 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트

- 데이터 다이어트: 데이터를 작세하는 것이 아니라 압축하고, 중복된 정보는 배제

- 데이터 마이닝: 대량의 데이터를 분산하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법

- OLAP: 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식

 

회복

- 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업

 

회복 기법의 종류

- 연기 갱신 기법: 트랜잭션이 성공적으로 완료될 때 까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법

- 즉각 갱신 기법: 트랜잭션 부분이 완료 되기 전이라도 즉시 실제 데이터베이스에 반영

- 그림자 페이지 대체 기법: 갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복서본을 별도 저장

- 검사점 기법: 상황 등에 관한 정보와 함께 검사점을 로그에 보관, 검사점 부터 회복 작업 수행

 

병행제어

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

 

병행제어 기법의 종류

- 로킹: 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 잠금을 요청해여 자금이 허락되어야만 로킹 단위를 액세스 할 수 있도록 하는 기법, 주요 데이터의 액세스를 상호 배타적으로 함, 주요 데이터의 액세스를 상호 배타적으로 함

- 타임 스탬프 순서: 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대한 트랜잭션이 실행을 시작하기전에 시간표를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법

- 최적 병행수행( 검증 기법, 확인 기법): 병행수행하고자 하는 대부분의 트랜잭션이 판독 전용 트랜잭션일 경우, 트랜잭션 간의 충돌률이 매우 낮아 병행제어 기법을 사용하지 않고 실행되어도 이 중의 많은 트랜 잭션은 시스템의 상태를 일광선 있게 유지

- 다중 버전 기법: 타임 스탬프의 개념을 이용, 다중 버전 타임 스탬프 기법,

 

로킹 단위

- 한꺼번에 로킹할 수 있는 객체의 크기

- 데이터베이스, 파일, 레코드, 필드 등이 로킹 단위가 될 수있다

- 로킹 단위가 크면 관리는 쉽지만 병행성 수준이 낮아짐

- 로킹 단위가 작으면 관리는 복잡, 오버헤드 증가, 병행성 수준(데이터베이스 공유도)이 높아짐

 

교착상태(Dead Lock)

- 상호 배제에 의해 나타나는 문제점, 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 그다리는 현상

 

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

- 상호 배제(Mutual Exclusion): 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함

- 점유와 대기(Holad and wait): 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함

- 비선점(Non-preemption): 다른 프로세스에 할당된 자원은 사용이 끝낼 때 까지 강제로 빼앗을 수 없어야 함

- 환형 대기(Circular Wait): 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 저원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함

 

교착상태 해결방법

- 예방 기법(Prevention): 교착상태가 발생하지 않도록 사전에 스시템을 제어하는 방법

- 회피 기법(Avoidance): 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법, 은행원 알고리즘

- 발견 기법(Detection): 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스를 발견하는 것

- 회복 기법(Recovery): 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스 자원을 회복

 

데이터 표준화

- 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것

- 사용자가 데이터를 정확히 이해하고 활용할 수 있도록 하는 표준항목명이 부여

 

데이터 표준화 구성 요소

- 데이터 표준: 데이터 모델이나 DB에서 정의할 수 있는 모든 오브젝트를 대상으로 데이터 표준화를 수행함, 표준 단어, 표준 도메인, 표준 코드, 표준 용어

- 테이터 관리 조직: 데이터 관리자, 데이터 정의, 체계화, 감독 등의 업무를 담당함

- 데이터 표준화 절차: 데이터 표준화 요구사항 수집, 데이터 표준 정의, 데이터 표준 확정, 데이터 표준 관리

 

데이터 표준화의 대상

- 데이터 명칭: 유일하게 구별할 수 있는 유일성

- 데이터 정의: 제 3자도 쉽게 이해

- 데이터 형식: 데이터 입력 오류 통제 위험 최소화

- 데이터 규칙: 데이터의 정합성 완정성 향상

반응형