본문 바로가기

반응형

Deadlock

(2)
[DB] Transaction (트랜잭션) 1. Transaction 트랜잭션은 데이터베이스의 상태를 변화시키는 논리적인 작업 단위를 의미한다. 데이터베이스의 상태를 변화시키는 작업이란 데이터베이스에 접근하여 데이터를 읽고, 쓰고, 수정하고, 삭제하는 등의 작업을 의미한다. 이런 작업들, 트랜잭션은 성공과 실패가 분명하고, 상호 독립적이다. 트랜잭션을 조작함으로 인해 사용자는 데이터베이스의 완전성 (Integrity)를 유지한다. 단일 트랜잭션은 데이터베이스에 읽거나 쓰는 등의 작업을 수행하는 여러 개의 쿼리를 요구한다. 이때 트랜잭션을 수행하면서 쿼리의 일부만 수행되는 일이 없어야 한다. 모든 작업이 완벽하게 처리되거나 또는 처리되지 못하는 경우 원상태로 복구되어야 한다. 2. 트랜잭션의 특징 (ACID) 데이터베이스의 트랜잭션이 안전하게 수행..
[OS] Process Synchronization 1. Process Synchronization 동기화를 기준으로 프로세스들은 다음 두가지 종류로 구분된다. - Independent Process: 한 프로세스의 실행이 다른 프로세스의 실행에 영향을 주지 않는 프로세스 - Cooperative Process: 한 프로세스의 실행이 다른 프로세스의 실행에 영향을 주는 프로세스 Cooperative process의 경우 프로세스들이 서로의 작업을 수행할 때 영향을 주기 때문에 하나의 공유 메모리나 다른 프로세스에 접근하는 경우 매우 조심해야 한다. 이러한 프로세스 사이에 동기화를 하는 것을 프로세스 동기화 (Process Synchronization) 이라고 한다. 현재는 대부분 스레드 기준으로 스위칭이 일어나기 때문에 Thread synchronizat..

반응형