데드락
-
데드락운영체제 2024. 5. 6. 14:43
컨커런시 버그 (타이밍 버그)발생할 수도 있고 아닐 수도 있음 종류논 데드락 버그원자성 위배- 스레드들이 동시에 동작할 경우 문제가 됨- 락으로 해결 오더링 문제- 특정 스레드 이후에 실행되는게 보장되어야 문제가 없는 경우- 조건변수나 세마포 사용데드락 (교착 상태)2개 이상의 스레드가 발생하지 않을 사건을 기다리게 되는 사건 4가지 조건을 모두 만족해야 발생1. Mutual exclusion2. Hold-and-Wait3. No preemption for resource4. Circular wait 데드락의 대처1. 데드락 예방2. 데드락 회피3. 데드락 발견 및 회복 데드락 예방1. Hold-and-Wait 없애기모든 락을 한번에, 원자적으로 잡아야 함-> 큰 락을 잡고 락1, 락2.. 를 잡을 수 ..