[정보처리기사] 응용 SW 기초 기술 활용 2
응용 SW 기초 기술 활용
IP 주소(Internet Protocol Address)
인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소
- IPv4(Internet Protocol version 4)
- 8비트씩 4부분, 총 32비트로 구성
- 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 총 5단계로 구성
- IPv6(Internet Protocol version 6)
- IPv6는 현재 사용하고 있는 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발
- 16비트씩 8부분, 총 128비트로 구성
- 각 부분을 16진수로 표현하고, 콜론(:)으로 구분
- 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결할 수 있음
IPv6의 주소 체계
- 유니캐스트(Unicast) : 단일 송신자와 단일 수신자 간의 통신(1 대 1 통신에 사용)
- 멀티캐스트(Multicast) : 단일 송신자와 다중 송신자 간의 통신(1 대 다 통신에 사용)
- 애니캐스트(Anycast) : 단일 송신자와 가장 가까이 있는 단일 수신자 간의 통신(1 대 1 통신에 사용)
OSI 참조 모델
다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol)
- 물리 계층(Physical Layer)
전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의 - 데이터 링크 계층(Data Link Layer)
두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당 - 네트워크 계층(Network Layer, 망 계층)
개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능 - 전송 계층(Transport Layer)
논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End) 간에 투명한 데이터 전송이 가능하게 함 - 세션 계층(Session Layer)
송·수신 측 간의 관련성을 유지하고 대화 제어를 담당 - 표현 계층(Presentation Layer)
서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층으로, 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색 등의 기능을 수행 - 응용 계층(Application Layer)
사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공
네트워크 관련 장비
- 라우터(Router)
- 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택하는 기능이 추가된 장치
- 서로 다른 LAN 또는 LAN과 WAN을 연결하는 기능
- 리피터(Repeater)
거리가 증가할수록 감쇠하는 디지털 신호의 장거리 전송을 위해 수신한 신호를 재생시키거나 출력 전압을 높여 전송하는 장치 - 허브(Hub)
- 한 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치로, 각각의 회선을 통합하여 관리
- 신호 증폭 기능을 하는 리피터의 역할을 포함
- 브리지(Bridge)
- LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 장치
- 브리지를 이용한 서브넷(Subnet) 구성 시 전송 가능한 회선 수는 브리지가 n개일 때, n(n-1)/2개
- 게이트웨이(Gateway)
- OSI 전 계층의 프로토콜 구조가 다른 네트워크를 연결하는 장치
- LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할
프로토콜(Protocol)
- 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약
- 1965년 톰 마릴(Tom Marill)이 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메시지를 재전송하는 이련의 방법을 ‘기술적 은어’란 뜻의 프로토콜로 정의한 바 있음
프로토콜의 기본 요소
- 구문(Syntax) : 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정함
- 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
- 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정함
패킷 교환 방식(Packet Switching)
- 메시지를 일정한 길이의 패킷으로 잘라서 전송하는 방식
- 가상 회선 방식
- 단말기 상호 간에 논리적인 가상 통신 회선을 미리 설정하여 송신지와 수신지 사이의 연결을 확립한 후 에 설정된 경로를 따라 패킷들을 순서적으로 운반하는 방식
- 정보 전송 전에 제어 패킷에 의해 경로가 설정
- 모든 패킷은 같은 경로로 발생 순서대로 전송. 즉 패킷의 송·수신 순서가 같음
- 데이터그램 방식
- 연결 경로를 설정하지 않고 인접한 노드들의 트래픽(전송량) 상황을 감안하여 각각 패킷들을 순서에 상관없이 독립적으로 운반하는 방식
- 패킷마다 전송 경로가 다르므로, 패킷은 목적지의 완전한 주소를 가져야 함
- 순서에 상관없이 여러 경로를 통해 도착한 패킷들은 수신 측에서 순서를 재정리함
TCP/IP(Transmission Control Protocol/Internet Protocol)
인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜
- TCP(Transmission Control Protocol)
- OSI 7계층의 전송 계층에 해당
- 가상 회선 방식을 기반으로 하는 양방향 연결 서비스를 제공
- 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공
- IP(Internet Protocol)
- OSI 7계층의 네트워크 계층에 해당
- 데이터그램 방식을 기반으로 하는 비연결형 서비스를 제공
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공
UDP(User Datagram Protocol)
- 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 제공하는 프로토콜
- TCP에 비해 상대적으로 단순한 헤더 구조를 가지므로, 오버헤드가 적고, 흐름 제어나 순서 제어가 없어 전송 속도가 빠름
- 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시 되는 네트워크에서 사용됨
ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)
- IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할
- 헤더는 8Byte로 구성
ARP/RARP
- ARP(Address Resolution Protocol, 주소 분석 프로토콜)
호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 변환하는 기능을 수행하는 프로토콜 - RARP(Reverse Address Resolution Protocol)
ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 수행하는 프로토콜로, 역순 주소 결정 프로토콜이라고 불림
네트워크 관련 신기술
- 메시 네트워크(Mesh Network)
- 차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
- 대규모 디바이스의 네트워크 생성에 최적화되어 있음
- 피코넷(PICONET)
여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술 - 애드 혹 네트워크(Ad-hoc Network)
- 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크
- 망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합
- 파장 분할 다중화(WDM; Wavelength division Multiplexing)
광섬유를 이용한 통신기술의 하나로, 파장이 서로 다른 복수의 신호를 보냄으로써 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 기술 - 소프트웨어 정의 데이터센터(SDDC; Software Defined Data Center)
- 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터를 의미
- 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의
- 개방형 링크드 데이터(LOD; Linked Open Data)
- Linked Data와 Open Data의 합성어로, 누구나 사용할 수 있도록 웹상에 공개된 연계 데이터를 의미
- 웹상에 존재하는 데이터를 개별 URI(인터넷 식별자)로 식별하고, 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형
- IoT(Internet of Things, 사물 인터넷)
정보 통신 기술을 깁나으로 실세계(Physical World)와 가상 세계(Virtual World)의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술 - 클라우드 컴퓨팅(Cloud Computing)
각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경을 의미 - USN(Ubiquitous Sensor Network)
- 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
- 필요한 도믄 것에 RFID 태그를 부착하고, 이를 통하여 사물의 인식정보는 물론 주변의 환경정보까지 탐지하여 이를 네트워크에 연결하여 정보를 관리
네트워크 구축
네트워크는 두 대 이상의 컴퓨터를 전화선이나 케이블 등으로 연결하여 자원을 공유하는 것
- 성형(Star, 중앙 집중형)
중앙에 중앙 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙 집중식의 네트워크 구성 형태 - 링형(Ring, 루프형)
컴퓨터와 단말장치들을 서로 이웃하는 것끼리 연결시킨 포인트 투 포인트(Point-to-Point) 방식의 구성 형태 - 버스형(Bus)
한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태 - 계층형(Tree, 분산형)
중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고, 이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로부터 다시 연결시는 형태 - 망형(Mesh)
- 모든 지점의 컴퓨터와 단말장치를 서로 연결한 형태로, 노드의 연결성이 높음
- 모든 노드를 망형으로 연결하려면 노드의 수가 n개일 때, n(n-1)/2개의 회선이 필요하고 노드당 n-1개의 포트가 필요
IEEE 802의 주요 표준 규격
IEEE 802는 LAN의 표준안
802.1 | 전체의 구성, OSI 참조 모델과의 관계, 통신망 관리 등에 관한 규약 |
---|---|
802.2 | 논리 링크 제어(LLC) 계층에 관한 규약 |
802.3 | CSMA/CD 방식의 매체 접근 제어 계층에 관한 규약 |
802.4 | 토큰 버스 방식의 매체 접근 제어 계층에 관한 규약 |
802.5 | 토큰 링 방식의 매체 접근 제어 계층에 관한 규약 |
802.6 | 도시형 통신망(MAN)에 관한 규약 |
802.9 | 종합 음성/데이터 네트워크에 관한 규약 |
802.11 | 무선 LAN에 관한 규약 |
IEEE 802.11의 버전
802.11 | 2.4GHz 대역 전파와 CSMA/CA 기술을 사용해 최고 2Mbps까지의 전송 속도를 지원함 |
---|---|
802.11a | 5GHz 대역의 전파를 사용하며, OFDM 기술을 사용해 최고 54Mbps까지의 전송 속도를 지원함 |
802.11b | 802.11 초기 버전의 개선안으로 등장하였으며, 초기 버전의 대역 전파와 기술을 사용해 최고 11Mbps의 전송 속도로 기존에 비해 5배 이상 빠르게 개선되었음 |
802.11e | 802.11의 부가 기능 표준으로, QoS 기능이 지원되도록 하기 위해 매체 접근 제어(MAC) 계층에 해당하는 부분을 수정하였음 |
802.11g | 2.4GHz 대역의 전파를 사용하지만 5GHz 대역의 전파를 사용하는 802.11a와 동일한 최고 54Mbps까지의 전송 속도를 지원함 |
802.11n | 2.4GHz 대역과 5GHz 대역을 사용하는 규격으로, 최고 600Mbps까지의 전송 속도를 지원함 |
NAT(Network Address Translation, 네트워크 주소 변환)
- 한 개의 정식 IP 주소에 대량의 가상 사설 IP 주소를 할당 및 연결하는 기능
- 한 개의 IP 주소를 사용해서 외부에 접속할 수 있는 노드는 어느 시점에서 한 개로 제한되는 문제가 있지만 IP 마스커레이드(Masquerade)를 이용하여 해결할 수 있음
IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
하나의 자율 시스템(AS) 내의 라우팅에 사용되는 프로토콜
- RIP(Routing Information Protocol)
- 현재 가장 널리 사용되는 라우팅 프로토콜로 거리 벡터 라우팅 프로토콜이라고도 불림
- 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용
- 소규모 동종의 네트워크(자율 시스템, AS) 내에서 효율적인 방법
- OSPF(Open Shortest Path First protocol)
- RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용
- 최단 경로 탐색에 다익스트라(Dijkstra) 알고리즘을 사용
흐름 제어(Flow Control)
네트워크 내의 원활한 흐름을 위해 송·수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능
- 정지-대기(Stop-and-Wait)
- 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식
- 한 번에 하나의 패킷만을 전송할 수 있음
- 슬라이딩 윈도우(Sliding Window)
- 확인 신호, 즉 수신 통지를 이용하여 송신 데이터의 양을 조절하는 방식
- 수신 측의 확인 신호를 받지 않더라도 미리 정해진 패킷의 수만큼 연속적으로 전송하는 방식으로, 한 번에 여러 개의 패킷을 전송할 수 있어 전송 효율이 좋음
- 송신 측은 수신 측으로부터 확인 신호(ACK) 없이도 보낼 수 있는 패킷의 최대치를 미리 약속받는데, 이 패킷의 최대치가 윈도우 크기(Window Size)를 의미
SW 관련 신기술
- 블록체인(Blockchain)
P2P(Peer-to-Peer) 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자(Peer)의 디지털 장비에 분산 저장하는 기술 - 매시업(Mashup)
웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술로, 다수의 정보원이 제공하는 콘텐츠를 조합하여 하나의 서비스로 제공하는 웹 사이트 또는 애플리케이션을 말함 - 서비스 지향 아키텍처(SOA; Service Oriented Architecture)
- 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처
- SOA 기반 애플리케이션 구성 계층 : 표현(Presentation), 업무 프로세스(Biz-Process), 서비스 중간(Service Intermediary), 애플리케이션(Application), 데이터 저장(Persistency) 계층
- 디지털 트윈(Digital Twin)
- 현실 속의 사물을 소프트웨어로 가상화한 모델
- 실제 물리적인 자산을 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있음
- 그레이웨어(Grayware)
소프트웨어를 제공하는 입장에서는 악의적이지 않은 유용한 소프트웨어라고 주장할 수 있지만 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 애드웨어, 트랙웨어, 기타 악성 코드나 악성 공유웨어를 말함 - 양자 암호키 분배(QKD; Quantum Key Distribution)
- 양자 통신을 위해 비밀키를 분배하여 관리하는 기술
- 두 시스템이 암호 알고리즘 동작을 위한 비밀키를 안전하게 공유하기 위해 양자 암호키 분배 시스템을 설치하여 운용하는 방식으로 활용
- 서비스형 소프트웨어(SaaS; Software as a Service)
소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어 - 시맨틱 웹(Semantic Web)
컴퓨ㅓ가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹을 의미 - 리치 인터넷 애플리케이션(RIA; Rich Internet Application)
플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML 보다 역동적이고 인터랙티브한 웹 페이지를 제공하는 신개념의 플래시 웹 페이지 제작 기술
HW 관련 신기술
- 앤 스크린(N-Screen)
N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스 - 신 클라이언트 PC(Thin Client PC)
- 하드디스크나 주변장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터
- 서버 기반 컴퓨팅과 관계가 깊음
- 엠디스크(M-DISC, Millennial DISC)
- 한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장장치
- 디스크 표면의 무기물총에 레이저를 이용해 자료를 조각해서 기록
- 멤스(MEMS; Micro-Electro Mechanical Systems)
초정밀 반도체 제조 기술을 바탕으로 센서, 액추에이터(Actuator) 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치 - 멤리스터(Memristor)
메모리(Memory)와 레지스터(Resister)의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자 - 트러스트존 기술(TrustZone Technology)
하나의 프로세서(Processor) 내에 일반 애플리케이션을 처리하는 일반 구역(Normal World)과 보안이 필요한 애플리케이션을 처리하는 보안 구역(Secure World)으로 분할하여 관리하는 하드웨어 기반의 보안 기술
RAID(Redundant Array of Independent Disk)
2개 이상의 하드디스크로 디스크 배열을 구성하고, 파일을 구성하는 데이터 블록들을 서로 다른 디스크에 분산 저장하거나 다중화하는 저장 기술로, 구현된 기술에 따라 다음과 같이 레벨(Level)로 구분
- RAID 0
- 스트라이핑(Striping)이라고 불림
- 디스크를 병렬로 연결하여 디스크의 개수만큼 용량과 속도가 배로 증가
- 하나의 디스크만 손상되어도 전체 데이터가 파손됨
- RAID 1
- 미러링(Mirroring)이라고 불림
- 같은 데이터를 다른 디스크에 동일하게 복사하는 방식
- RAID 2~4
- 하나의 디스크에 오류 정정 부호를 비트(RAID 2)/바이트(RAID 3)/워드(RAID 4) 단위로 저장하고, 나머지 디스크는 RAID 0과 같이 활용하여 안정성을 높인 모드
- 하나의 디스크가 손상되어도 정상 가동이 가능하며 최소 3개의 디스크가 필요
- RAID 5
- 오류 정정 부호를 블록 단위로 여러 디스크에 분산 저장한 방식
- 하나의 디스크가 손상되어도 정상 가동이 가능하며 최소 3개의 디스크가 필요
- RAID 6
- RAID 5와 원리는 같으나 오류 정정 부호 2개를 저장하는 방식
- 두 개의 디스크가 손상되어도 정상 가동이 가능하며 최소 4개의 디스크가 필요
Secure OS
- 기존의 운영체제(OS)에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널(Kernel)을 이식하여 외부의 침임으로부터 시스템 자원을 보호하는 운영 체제
- 보안 커널은 보안 기능을 갖춘 커널을 의미하며, TCB(Trusted Computing Base)를 기반으로 참조 모니터의 개념을 구현하고 집행
- Secure OS의 보안 기능 : 식별 및 인증, 임의적/강제적 접근통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소 등
DB 관련 신기술
- 하둡(Hadoop)
- 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 더그 커팅과 마이크 캐퍼렐라가 개발했으며, 구글의 맵리듀스(MapReduce) 엔진을 사용하고 있음
- 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크
- 맵리듀스(MapReduce)
- 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델
- 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업을 수행한 후 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행
- 데이터 마이닝(Data Mining)
대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호관계를 규명하여 일정한 패턴을 찾아내는 기법 - 타조(Tajo)
오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트 - OLAP(Online Analytical Processing)
- 다차원으로 이루어진 데이터로부터 오계적인 요약 정보를 분석하여 의살결정에 활용하는 방식
- OLAP 연산 : Roll-up, Drill-down, Drill-through, Drillacross, Pivoting, Slicing, Dieing
- 브로드 데이터(Broad Data)
다양한 채널에서 소비자와 상호 작용을 통해 생성된 것으로, 기업 마케팅에 있어 효율적이고 다양한 데이터이며, 이전에 사용하지 않거나 알지 못했던 새로운데이터나 기존 데이터에 새로운 가치르가 더해진 데이터
회복(Recovery)
- 트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
- 회복 기법의 종류 : 연기 갱신 기법, 즉각 갱신 기법, 그림자 페이지 대체 기법, 검사점 기법
REDO/UNDO
- REDO
데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 록를 분석하여 트랜잭션의 시작(start)과 완료(commit)에 대한 기록이 있는 트랜잭션들의 작업을 재작업. 즉 로그를 이용하여 해당 데이터 항목에 대해 이전 값을 이후 값으로 변경하는 연산 - UNDO
데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(start)에 대한 기록은 있지만 완료(commit) 기록은 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소함. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경하는 연산
즉각 갱신 기법(Immediate Update)
- 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
- 장애가 발생하여 회복 작업할 경우를 대비하여 갱신된 내용들은 Log에 보관시킴
- Redo(재시도)와 Undo(취소) 모두 사용 가능
로킹(Locking)
- 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법
- 주요 데이터의 액세스를 상호 배타적으로 함
로킹 단위(Locking Granularity)
- 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기
- 데이터베이스, 파일, 레코드, 필드 등이 로킹 단위가 될 수 있음
- 로킹 단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아짐
- 로킹 단위가 작으면 로크 수가 많아 관리하기 복잡해 오버헤드가 증가하지만 병행성 수준이 높아짐
교착상태(Dead Lock)
- 상호 배제에 의해 나타나느 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
- 교착상태 발생의 필요 충분 조건
상호 배제 (Mutual Exclusion) | 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함 |
---|---|
점유와 대기 (Hold and Wait) | 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함 |
비선점 (Non- preemption) | 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함 |
환형 대기 (Circular Wait) | 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함 |
교착상태의 해결 방법
예방 기법 (Prevention) |
|
---|---|
회피 기법 (Avoidance) |
|
발견 기법 (Detection) | 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것 |
회복 기법 (Recovery) | 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것 |
This post is licensed under CC BY 4.0 by the author.