정보처리기사(응용 SW 기초 기술 활용)

조영문·2023년 4월 7일
0

정보처리기사

목록 보기
4/9

1) 운영체제(OS : Operating System)

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

운영체제의 목적

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

운영체제의 기능

  • 프로세스(처리기; Processor), 기억장치(주기억장치, 보조기억장치), 입·출력 장치, 파일 및 정보 등의 자원을 관리
  • 자원을 효율적으로 관리하기 위해 자원의 스케쥴링 기능을 제공한다.
  • 사용자와 시스템 간의 편리한 인터페이스를 제공한다.
  • 시스템의 각종 하드웨어와 네트워크를 관리·제어한다.

운영체제의 종류

  • Windows

  • UNIX
    - 1960년대 AT&T 벨 연구소, MIT, general Electronic이 공동 개발한 운영체제

    • 시분할 시스템을 위해 설계된 대화식 운영체제
    • 소스가 공개된 개방형 시스템
    • 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.
    • 다중 사용자, 다중 작성을 지원한다.
      트리 구조의 파일 시스템을 갖는다.
  • Linux
    - 1991년 리누스 토발즈가 UNIX 기반으로 개발한 운영체제

    • 프로그램 소스 코드가 무료로 공개되어 있기 때문에 원하는 기능을 추가할 수 있다.
    • UNIX와 완벽하게 호환된다.
  • MacOS
    - 1980년대 애플이 UNIX기반으로 개발한 운영체제

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

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

2) 기억장치 관리

  • 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것
  1. 반입(Fetch) 전략
    • 보조기억장치에서 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지 결정하는 전략
      - 요구 반입 : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
      - 예상 반입 : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법
  2. 배치(Placement) 전략
    • 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략
      - 최초 적합(First Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서, 첫 번째 분할 영역에 배치시키는 방법
      - 최적 적합(Best Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서, 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법
      - 최악 적합(Worst Fit) : 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서, 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법
      • 단편화 : 주기억장치의 분할된 영역에 프로그램이나 데이터를 할당할 경우, 분할된 영역이 프로그램이나 데이터보다 작거나 커서 생기는 빈 기억공간
  3. 교체(Replacement) 전략
  • 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략
    - FIFO : 가장 먼저 메모리에 올라온 페이지를 가장 먼저 보낸다.
    - OPT(Optimal) : 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체한다.
    - LRU(Least Recently Used) : 가장 오랫동안 사용하지 않은 페이지를 교체한다.
    - LFU(Least Frequently Used) : 참조횟수가 가장 작은 페이지를 교체한다.
    - SCR(Second Chance Replacement) : 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로, FIFO 기법의 단점을 보완한 기법이다.

3) 주기억장치 할당기법

연속 할당 기법

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

- 단일 분할 할당 기법

: 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 순간에는 호직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법

- 다중 분할 할당 기법


분산 할당 기법

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

  • 가상기억장치 : 보조기억장치의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법

- 페이징(Paging) 기법

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

  • 프로그램을 일정한 크리고 나눈 단위를 페이지(Page)라고 하고, 페이지 크기로 일정하게 나누어진 주기억장치릐 단위를 페이지 프레임이라고 한다.
    - 외부단편화는 발생하지 않지만, 내부단편화가 발생할 수 있다.

- 세그먼테이션(Segmentation) 기법

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

  • 공간절약 가능
  • 내부단편화는 발생하지 않지만, 외부단편화가 발생할 수 있다.

Locality

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

워킹 셋(Working Set)

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

스래싱(Thrashing)

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

4) 프로세스(Process)

  • 일반적으로 프로세서에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프로그램입니다.

PCB(Process Control Block)

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

프로세스 상태 전이

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

스레드(Thread)

  • 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위 또는 프로세스 내에서의 작업 단위로 사용된다.

5) 스케쥴링(Scheduling)

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

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

  • 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케쥴링 기법
  • 종류
    - FCFS(Fitst Come First Service) : 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
    - SJF(Shorest Job First) : 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로레스에 먼저 CPU를 할당하는 기법
    - HRN(Highest Response-ratio Next) : 대기 시간과 서비스(실행) 시간을 이용하는 기법
    - 우선순위 : 프로세스에서 우선순위를 정적, 동적으로 부여하여 우선순위가 높은 순서대로 처리하는 기법

선점(Preemptive) 스케쥴링

  • 하나의 프로세스가 CPU를 할당받아 실행하고 있을 떄, 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케쥴링
    - Round Robin : 각 프로세스는 같은 크기의 CPU시간을 할당 받고 선입선출에 의해 실행된다.
    - SRT(Shortest Remaining Time) : 짧은 시간 순서대로 프로세스 수행한다. 남은 처리 시간이 더 짧은 프로세스가 준비 큐에 들어오면 그 프로레스가 바로 선점됨.
    - 선점 우선순위 : 우선순위가 높은 프로세스가 준비 큐에 들어오면 CPU를 먼저 선점한다.
    - 다단계 큐 : 준비 큐를 여러 개 사용하는 기법

6) 환경 변수

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

Windows의 주요 환경변수

Unix/ Linux의 주요 환경 변수

7) 운영체제 기본 명령어

Windows 기본 명령어

Unix / Linux 기본 명령어

8) 인터넷(Internet)

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

IP주소

  • 8비트씩 4부분, 총 32비트로 구성
  • A class : 국가나 대형 통신망에 사용(0.0.0.0 ~ 127.255.255.255)
  • B class : 중대형 통신망에 사용(128.0.0.0 ~ 191.255.255.255)
  • C class : 소규모 통신망에 사용(192.0.0.0 ~ 223.255.255.255)
  • D class : 멀티캐스트용으로 사용(224.0.0.0 ~ 239.255.255.255)
  • E class : 실험적 주소, 공용되지 않음(240.0.0.0 ~ 254.255.255.255)

    멀티캐스트 : 한 명 이상의 송신자들이 특정한 한 명 이상의 수신자들에게 데이터를 전송하는 방식

서브넷팅(Subnetting)

  • 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것
  • 4바이트의 IP 주소 중, 네트워크 주소와 호스트 주소를 구분하기 위한 비트를 서브넷 마스크(Subnet Mask)라고 하며, 이를 변경하여 네트워크 주소를 여러 개로 분할하여 사용한다.
  • 서브넷 마스트는 각 클래스마다 다르게 사용된다.

IPv6

  • 16비트씩 8부분, 총 128비트로 구성
  • 16진수로 표현, 콜론(:)을 사용
  • 3가지 주소 체계
    - 유니캐스트 : 단일송신자와 단일수신자 간의 통신
    - 멀티캐스트 : 단일송신자와 다중수신자 간의 통신
    - 애니캐스트 : 단일송신자와 가장 가까이 있는 단일수신자 간의 통신

도메인 네임

  • 숫자로 된 IP주소를 사람이 이해하기 쉬운 문자 형태로 표현
  • 문자로 된 도메인 네임을 컴퓨터가 이해할 수 있는 IP주소로 변환하는 역할을 하는 시스템을 DNS(Domain Name System)라고 하며, 이런 역할을 하는 서버를 DNS서버라고 한다.

9) OSI 참조 모델

  • Open System Interconnection 참조 모델 : ISO(국제표준화기구)에서 제안한 통신 규약

1계층. 물리계층(Physical Layer)

  • 전송에 필요한 두 장치 간의 실제 접속과 절단 들 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다.
  • 물리적 전송 매체와 전송 신호 방식을 정의한다.
  • 리티퍼 / 허브

    주요 프로토콜

    • RS-232 : 보통 15m 이하 단거리에서 38400bps까지 전송을 위한 직렬 인터페이스
    • X.25 / X.21 : X.25는 패킷교환망, X.21은 회선 교환망에 대한 액세스 표준

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

  • 2개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당한다.
  • 흐름제어, 프레인 동기화, 오류 제어, 순서 제어 기능을 한다.
  • 브릿지 / 스위치

    주요 프로토콜

    • Ethernet : 비연결성 모드(CSMA/CD 방식의 LAN)
    • IEEE 802 : LAN을 위한 표준 프로토콜
    • HDLC(High-Level Data-Link Control) : 고속 데이터 전송에 적합하고, 비트 전송을 기본으로 하는 범용 데이터링크 전송제어절차
    • PPP(Point to Point Protocol) : 전화선 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터간의 통신을 지원하는 프로토콜

3계층. 네트워크 계층(Network Layer)

  • 개방 시스탬들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
  • 네트워크 연결을 설정, 유지, 해제하는 기능을 한다.
  • 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행
  • 라우터

    주요 프로토콜

    • IP(Internet Protocol) : 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보위주의 규약
    • ICMP(Internet Control Message Protocol) : TCP/IP에서 IP패킷을 처리할 때 발생되는 문제 / 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
    • IGMP(Internet Group Management Protocol) : IP 멀티캐스트를 실현하기 위한 프로토콜
    • ARP(Address Resolution Protocol) : 호스트의 IP주소를 호스트와 연결된 네트워크 접속장치의 물리적 주소(Mac Address)로 바꿈
    • RARP(Reverse Address Resolution Protocol) : ARP와 바대로 물리적 주소를 IP 주소로 변환하는 기능

4계층. 전송 계총(Transport Layer)

  • 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게 한다.
  • OSI7계층 중 하위 3계층(물리, 데이터링크, 네트워크)와 상위 3계층(세션, 표현, 응용)의 인터페이스 역할을 한따.
  • 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 한다.
  • 주소 설정, 다중화(분할 및 재조립), 오류 제어, 흐름 제어를 수행
  • TCP / UDP
  • 게이트웨이

    주요 프로토콜

    • TCP(Transmission Control Protocol) : 양방향 연결 제공 / 순서 제어, 오류 제어, 흐름 제어 / 가상 회선 연결 /
    • UDP(User Datagram Protocol) : 비연결성, 신뢰성 없고, 순서화되지 않은 Datagram 서비스 제공 / 흐름 제어나 순서 제어가 없어 전송 속도 빠름 / 단순

5계층. 세션 계층(Session Layer)

  • 송수신 간의 관련성을 유지하고 대화 제어를 담당한다.
  • 대화 구성 및 동기 제어, 데이터 교환 관리 기능
  • ACK

    주요 프로토콜

    • NeuBIOS : 네트워크 기본적인 입출력을 정의한 규약
    • RPC(Remote Procedure Call) : Windows 운영 체제에서 사용하는 원격프로시져 호출 프로토콜
    • WinSock(Windos Socket) : 유닉스 등에서 TCP/IP 통신 시 사용하는 Socket을 Windows에서 그대로 구현한 것

6계층. 표현 계층(Presentation Layer)

  • 응용계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환하는 기능을 한다.
  • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷), 문맥 관리 기능

    주요 프로토콜

    • SSL(Secure Socker Layer) : 네트워크 레이어의 암호화 방식 / 인증, 암호화, 무결성 보장하는 프로토콜
    • ASCII

7계층. 응용 계층(Application Layer)

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

    주요 프로토콜

    • FTP(File Transfer Protocal) : 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 있도록 하는 원격파일 전송 프로토콜
    • SMTP(Simple Mail Transfer Protocol) : 전자 우편을 교환하는 서비스
    • TELNET : 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용할 수 있도록 해주는 서비스
    • SNMP(Simple Network Management Protocol) : TCP/IP 네트워크 관리 프로토골로, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는데 사용되는 표준 통신 규약
    • DNS(Domain Network System) : 도메인 네임을 IP주소로 매핑하는 시스템
    • HTTP(HyperText Transfer Protocal) :

네트워크 관련 장비

  • 네트워크 인터페이스 카드 : 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치
  • 허브 : 각각의 회선을 통합하여 관리
  • 리피터 : 수신한 신로를 재생시키거나 출력 전압을 높여 전송하는 장치
  • 브리지 : LAN과 LAN을 연결하거나 LAN 안에서 컴퓨터 그룹을 연결하는 장치
  • 라우터 : 브리지와 같이 LANrhk LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능 추가
  • 게이트웨이 : OSI 전 계층의 프로토골 구조가 다른 네트워크를 연결하는 장치

TCP/IP

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

10) 네트워크 관련 신기술

  • IoT(Internet of Things) : 정보 통신을 기반으로 실세계와 가상세계의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
  • M2M(Machine to Machine; 사물통신) : 무선 통신을 이용한 기계와 기계 간의 통신
  • 모바일 컴퓨팅 : 휴대용 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
  • 클라우드 컴퓨팅 : 각종 컴퓨터 자원을 중앙 컴퓨터에 두고, 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경
  • 그리고 컴퓨팅(Grid Computing) : 지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 활용하는 기술
  • 모바일 클라우드 컴퓨팅 : 소비자와 소비자의 파트너가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 인프라를 구성하여 여러 가지 정보과 자원을 연결하는 기술
  • 인터클라우드 컴퓨팅 : 각지 다른 클라우드 서비스를 연동하건 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술
  • 메시 네트워크(Mesh Network) : 차세대 이동 통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술 / 대규모 디바이스의 네트워크 생성에 최적화되어 있음
  • 와이선(Wi-SUN) : 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷(IoT)서비스를 위한 저전력 장거리 통신 기술
  • NDN(Named Data Networking) : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술 / 기존의 IP망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있음
  • NGN(Next Generation Network; 차세대 통신망) : ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망 / 이동 통신에서 제공하는 완전한 이동성을 제공을 목표로 개발되고있음.
  • SDN(Software Defined Networking; 소프트웨어 정의 네트워킹) : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 괸리하는 네트워크
  • NFC(Near Field Communication; 근거리 무선 통신) : 고주파를 이용한 근거리 무선 통신 기술
  • 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) : 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크
  • 네트워크 슬라이싱 : 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술 => 5G 핵심 기술(SDN / NFV를 활용)
  • 저전력 블루투스 기술 : 일반 블루투스와 동일한 2.4GHz 주파수 대역을 사용하지만, 연결되지 않은 대기 상태에서는 절전모드를 유지하는 기술
  • 지능형 초연결망 : 스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 과학기술정보통신부 주관 사업
  • 파장 분할 다중화(WDM; Wavelength Division Multiplexing) : 광섬유를 이용한 통신 기술의 하나로, 파장이 서로 다른 복수의 신로르 보냄으로써 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 것
  • 소프트웨어 정의 데이터 센터(SDDC; Software Defined Data Center) : 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터
  • 개방형 링크드 데이터(LOD; Linked Open Data) : Linked Data와 Open Data의 합성어로, 누구나 사용할 수 있도록 웹상에 공개된 연게 데이터를 의미

11) 네트워크 구축

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

성형(Star)

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

링형(Ring)

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

버스형

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

계층형

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

망형

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

LAN의 표준안

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

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

12) 제어

경로제어

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

경로제어 프로토콜

  • 자율 시스템(AS; Autonomous System) : 하나의 도메인에 속하는 라우터들의 집합
  1. IGP(Interior Gateway Protocol; 내부 게이트웨이 프로토콜) : 하나의 자율 시스템 내의 라우팅에 사용되는 프로토콜
  • RIP(Routing Information Protocol) : 거리 벡터 라우팅 프로토콜이며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용된다.
  • OSPF(Open Shortest Path First Protocol) : RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용된다. 최단 경로 탐색에 다익스크라(Dijkstra)알고리즘을 사용한다.
  1. BGP(Border Gateway Protocol) : 자율 시스템간의 라우팅 프로토콜이다.

흐름제어

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

    정지-대기(stop and wait) : 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식
    슬라이딩 윈도우(Sliding Window) : 확인 신소, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식 / 확인 신호 없이도 보낼 수 있는 패킷 최대치를 미리 약속받고, 이 패킷의 최대치를 윈도우 크기를 뜻함

13) SW 관련 신기술

  • 인공지능(AI; Artificial Intelligence) : 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행하는 시스템
  • 딥 러닝 : 인간의 두뇌를 모델로 만들어지는 인공 신경망(ANN; Artificial Neural Network)을 기반으로 하는 기계 학습 기술
  • 증강현실(Augmented Reality) : 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술로, 혼합 현실이라고도 한다.
  • 블록체인 : P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술
  • 분산 원장 기술 : 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고, P2P 망내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장
  • 해시(Hash) : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것
  • 양자 암호키 분해 : 양자 통신을 위해 비밀키를 분해하여 관리하는 기술
  • 프라이버시 강화 기술 : 개인정보 침해 위협을 관리하기 위한 핵심 기술
  • 그레이웨어 : 소프트웨어를 제공하는 입장에서는 학의적이지 않은 유용한 소프트웨어라고 주장할 수 있지만, 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 애드웨어, 트랙웨어, 기타 악성코드나 악성 공유웨어를 말함
  • 메시업(Meshup) : 웹에서 제공한느 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술, 즉 다수의 정보원이 제공하는 콘텐츠를 조합하여 하나의 서비스로 제공하는 웹사이트 또는 애플리케이션을 말함
  • 시멘틱 웹(Semantic Web) : 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹
  • 오픈 그리드 서비스 아키텍처 : 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준
  • 서비스 지향 아키텍처(SOA; Service Oriented Architecture) : 기업의 소프트웨어인프라인 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보 기술 아키텍처
  • 서비스형 소프트웨어(SaaS; Software as a Service) : 소프트웨어의 여러 기능 중에서 사용자가 필요로하는 서비스만 이용할 수 있도록 한 소프트웨어
  • 디지털 트윈(Digital Twin) : 현실 속의 사물을 소프트웨어로 가상화한 모델 / 실제 물리적인 자산을 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있음.

14) 소프트웨어 개발 보안

  • 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 한다.

15) HW 관련 기술

  • 고가용성(HA; High Availability) : 긴 시간동안 안정적인 서비스 운영을 위해 장애 발생 시 즉시 다은 시스템으로 대체 가능한 환경을 구축하는 매커니즘
  • 3D Printing : 대상을 평면에 출력하는 것이 아니라 손으로 만질 수 있는 실체 물체로 만들어 내는 것
  • 4D Printing : 특정 기능이나 환경 조건이 갖추어지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이 적용된 제춤을 3D Printing하는 기술
  • RAID(Redundant Array of Inexpensive Disk) : 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분상 저장할 경우, 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있으므로, 디스크의 속도가 매우 향상된다.
  • N-Screen : N개의 서로 다른 단말기에서 동일한 컨텐츠를 자유롭게 이용할 수 있는 서비스
  • 멤스(MEMS; Micro-Electro Mechanical Systems) : 초정밀 반도체 제조 기술을 바탕으로 센서, 엑추에이터 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치
  • 트러스트 존 기술 : 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술
  • 멤리스터(Memristor) : 메모리와 레지스터의 합성어로 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자

16) Secure OS

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

17) DB 관련 신기술

  • 빅데이터 : 기존의 관리방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합
  • 메타 데이터(Meta Data) : 일련의 데이터를 정의하고 설명해 주는 데이터
  • 디지털 아카이빙(Digital Archiving) : 디지털 정보 자원을 장기적으로 보존하기 위한 작업
  • 하둡(Hadoop) : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼 / 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크
  • 맵리듀스(MapReduce) : 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델 / 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map작업을 수행한 후, 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행함 / Google에서 고안했음
  • 타조(Tajo) : 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파티 하둡 기반의 분산 데이터 웨어 하우스 프로젝트
  • 데이터 다이어트(Data Diet) : 데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 작업하는 방법
  • 데이터 마이닝(Data Mining) : 대량의 데이터를 분석하여 데이터에 내제된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법
  • OLAP(Online Analytical Processing) : 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사 결정에 활용하는 방식
    - Roll-up : 개념 계층 구조에서 위로 이동하거나 차원 수를 줄여 OLAP 큐브의 데이터를 집계
    - drill-down : 개념 계층 구조에서 아래로 이동하거나 큐브에 새 차원을 추가하는 두 가지 방법 중 하나를 사용하여 덜 세부적인 데이터를 더 세부적인 데이터로 변환
    - pivoting : 현재 큐브 뷰를 회전하여 데이터의 새로운 표현을 표시하므로 데이터의 동적 다차원 뷰를 생성
    - slicing : 기본 OLAP 큐브에서 단일 차원을 선택하여 하위 큐브를 생성
    - dicing : 기본 OLAP 큐브 내에서 여러 차원을 선택하여 하위 큐브를 분
  • 데이터 웨어하우스 : 정보와 창고의 합성어로, 기억의 의사 결정 과정에 효과적으로 사용될 수 있도록 여러 시스템에 분산되어 있는 데이터를 주제별로 통합,축적해 놓은 데이터베이스
  • 데이터 마트 : 데이터 웨어하우스 보다 작은 하위 집합으로 주로 구체적인 특정 부서나 프로젝트 등의 작은 단위의 분석을 요구할 때 사용한다.

18) 회복 / 병행 제어

회복

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

회복 기법의 종류

  • 연기 갱신 기법
    - 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 방법
    - 트랜잭션 수행되는 동안 갱신된 내용은 로그(Log)에 보관
    - 트랜잭션의 부분 완료 시점에 로그에 보고나한 갱신 내용을 실제 데이터베이스에 보관함
    - Redo 작업만
  • 즉각 갱신 기법
    - 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
    - 장애가 발생하여 회복 작업 할 경우를 대비하여 갱신된 내용들은 로그(Log)에 보관
    - RedoUndo 모두 사용 가능
  • 그림자 페이지 대체 기법
    - 갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사본인 그림자 페이지를 별도 보관해 놓고, 실제 페이지를 대상으로 갱신 작업을 수행하다가 장애가 발생하여 트랜잭션 작업을 Rollback 시킬 때는 갱신 이후의 실제 페이지 부분을 그림자 페이지로 대체하여 회복시키는 기법
  • 검사점 기법 (Checkpoint)
    - 트랜잭션 실행 중, 특정 단게에서 재실행할 수 있도록 갱신 내용이나 시스템에 대한 상황 등에 관한 정보와 함께 검사점을 로그에 보관해두고, 장애 발생 시 트랜잭션 전체를 철회하지 않고 검사점부터 회복 작업을 수행하여 회복 시간을 절약하도록하는 기법

병행 제어

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

병행 제어 없으면 생기는 문제

  • 갱신 분실 : 2개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상
  • 비완료 의존성 : 하나의 트랜잭션 수행이 실패한 후, 회복되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 현상
  • 연쇄 복귀 : 병행 수행되던 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback하는 경우, 다른 트랜잭션도 함께 Rollback되는 현상

병행제어 기법의 종류

  • 로킹(Locking)
    - 트랜잭션이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법
    - 주요 데이터의 액세스를 상호 배타적으로 함
  • 타임 스탬프 순서
    - 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 하기 전에 시간표(TimeStamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
    - 직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중에서 가장 보편적으로 사용
  • 최적 병행 수행(검증기법, 확인기법, 낙관적기법)
    - 병행 수행하고자 하는 대부분의 트랜잭션이 판독 전용(Read Only) 트랜잭션일 경우, 트랜잭션 간의 충돌률이 매우 낮아서 병행 제어 기법을 사용하지 않고 실행되어도 이 중의 많은 트랜잰션으 ㄴ시스템 상태를 일관성있게 유지한다는 점을 이용한 기법
  • 다중 버전 기법
    - 타임 스탬프의 개념을 이용한 기법
    - 다중 버전 타임 스탬프 기법이라고도 함.
    - 타임 스탬프 기법은 트랜잭션 및 데이터들이 이용할 때의 시간을 시간표로 관리하지만, 다중 버전 기법은 갱신될 때마다 버전을 부여하여 관리함

19) 교착 상태(Dead Lock)

  • 상호 배제의 의해 나타나는 문제점
  • 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

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

  1. 상호배체 : 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함.
  2. 점유와 대기 : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야함
  3. 비선점 : 다른 프로세스에 할당된 자원은 사용이 끝날때까지 강제로 빼앗을 수 없어야함.
  4. 환형 대기 : 공유자원과 공유자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어, 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야함.

교착 상태의 해결 방법

  • 예방 기법 : 사전에 시스템을 제어(발생원인 4가지 중 하나를 미리 제거)
  • 회피 기법 : 발생 가능성을 배제하지 않고, 발생하면 적절히 피해가는 방법
  • 발견 기법 : 교창 상태 발견 알고리즘과 자원 할당 그래프 등을 사용할 수 있음
  • 회복 기법 : 교창 상태를 일으키는 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

참고자료

https://starrykss.tistory.com/1655

0개의 댓글