728x90
반응형

deadlock 4

2PL (Two-Phase Locking, 2단계 로킹)

개요2PL(Two-Phase Locking)은 데이터베이스에서 여러 트랜잭션이 동시에 실행될 때 데이터의 일관성과 직렬 가능성(Serializability)을 보장하기 위한 대표적인 동시성 제어 기법이다. 트랜잭션이 데이터를 읽거나 수정할 때 Lock을 획득하고 해제하는 과정을 두 단계로 나누어 관리하며, DBMS의 핵심 트랜잭션 처리 방식으로 널리 사용된다.1. 개념 및 정의2PL은 트랜잭션 수행 중 Lock을 획득하는 단계(Growing Phase)와 Lock을 해제하는 단계(Shrinking Phase)를 명확히 구분하는 동시성 제어 기법이다.트랜잭션은 Lock을 획득하는 동안에는 해제할 수 없고, 한 번 Lock을 해제하면 더 이상 새로운 Lock을 획득할 수 없다. 이러한 규칙을 통해 트랜잭션 ..

Topic 2026.04.18

Deadlock(교착상태)

개요Deadlock(교착상태)은 운영체제 및 분산 시스템에서 두 개 이상의 프로세스가 서로가 점유하고 있는 자원을 기다리면서 무한히 대기 상태에 빠지는 현상을 의미한다. 이 상태에서는 어떤 프로세스도 작업을 진행할 수 없으며 시스템의 일부 또는 전체가 정지된 것과 같은 상태가 된다.교착상태는 멀티프로세스 환경에서 자원 공유가 발생할 때 필연적으로 발생할 수 있는 문제로, 특히 데이터베이스, 운영체제, 분산 시스템, 트랜잭션 처리 시스템 등에서 중요한 이슈로 다루어진다.1. 개념 및 정의Deadlock은 프로세스들이 서로 다른 자원을 점유한 상태에서 상대방이 점유한 자원을 기다리며 무한 대기 상태에 빠지는 상황이다.예를 들어,프로세스 A는 자원 X를 점유하고 자원 Y를 요청프로세스 B는 자원 Y를 점유하고..

Topic 2026.04.06

프로세스 동기화(Process Synchronization)

개요프로세스 동기화(Process Synchronization)는 멀티프로세스 환경에서 여러 프로세스가 공유 자원에 동시에 접근할 때 데이터 일관성을 유지하고 경합(Concurrency) 문제를 해결하는 기술입니다. 동기화 문제를 해결하지 않으면 데이터 충돌, 경쟁 상태(Race Condition), 교착 상태(Deadlock) 등의 문제가 발생할 수 있습니다. 본 글에서는 프로세스 동기화의 개념과 주요 기법, 장단점 및 최신 트렌드를 살펴봅니다. 1. 프로세스 동기화란?멀티프로세싱 환경에서는 여러 프로세스가 **동시에 실행되며, 공유 자원(Shared Resource)**에 접근할 수 있습니다. 프로세스 동기화는 경쟁 상태(Race Condition)를 방지하고, 데이터 무결성을 유지하는 기술입니다..

Topic 2025.03.14

데이터베이스 병행제어 기법

개요데이터베이스 시스템에서는 여러 사용자가 동시에 트랜잭션을 수행할 때 데이터의 일관성을 유지하는 것이 매우 중요합니다. 병행제어(Concurrency Control)는 다중 트랜잭션이 충돌 없이 실행될 수 있도록 조정하는 기술이며, 대표적인 기법으로 로킹(Locking), 타임스탬프 순서(Timestamp Ordering), 낙관적 병행제어(Optimistic Concurrency Control) 등이 있습니다. 본 글에서는 병행제어의 개념과 주요 기법, 장단점 및 최신 트렌드를 살펴봅니다. 1. 데이터베이스 병행제어란?병행제어(Concurrency Control)는 다중 트랜잭션이 동시에 실행될 때 데이터 일관성을 보장하고 교착 상태(Deadlock)를 방지하는 기술입니다. 여러 사용자가 같은 데이터..

Topic 2025.03.13
728x90
반응형