Deadlock(2)
-
10. 동시성제어
트랜잭션이란 하나의 논리적인 작업 단위를 이루는 여러 연산들의 집합으로 데이터베이스의 일관된 상태 특징 (ACID) Atomiciy (원자성) : 연산중 하나라도 실패할 경우 전체가 취소되어 무결성 보장 Consistency (일관성) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 모순없이 일관성있는 상태 보존 Isolation (고립성) : 트랜잭션 실행 중에 다른 트랜잭션 접근 불가능 Durability (영속성) : 성공한 트랜잭션 결과는 영구적으로 데이터베이스에 저장됨 종료시 연산 Commit (완료) : 트랜잭션 안에서 수행한 모든 SQL을 반영하며 종료 Rollback (복귀) : 수행 도중 오류가 생겨 다시 작업을 철회하는 연산 동시성 제어 다중 사용자 환경을 지원하는 데이터베이스 시스템에..
2021.03.09 -
병행 프로세스의 동기화 유형 [임계 영역, 상호 배제, 세마포어, 모니터]
한 프로세스가 공유 메모리를 사용하고 있을 때, 다른 프로세스들이 사용하지 못하도록 배제시키는 기법이다. 교착 상태가 발생하지 않음을 보장하는 데커 알고리즘, 피터슨 알고리즘을 통해 상호 배제 기법을 구현한다. 교착 상태 : 둘이상의 프로세스들이 서로 다른 프로세스가 차지하고 있는 자원을 무한정 기다리고 있는 상태. 교착상태가 발생할 때 : 1. 상호 배제 - 중복이 안되도록 막기 때문에 계속 기다려질 수 있다. 2. 점유와 대기 - 자원을 점유하고 있는 프로세스가 다른 자원을 기다릴때 나타남 3. 비선점 - 사용이 종료될 때까지 강제로 해제할 수 없을때 나타남 4. 순환 대기 - 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있을때 나타남 임계 구역 상호 배제의 문제로 자원이 프로세스..
2020.10.06