어떻게 교착 상태와 유닉스 거래를합니까? 나는 다음을 읽었다 : here.교착 다루는 것은 교착 발생한다면 공정 1 잠금 자원 ("올바른"위치로 전환 의한 컨텍스트) 대기 자원 동시에 동안 B위한 프로세스 2 잠금 자원 에 액세스 리소스 B 기다린다. 커널 : UNIX
많은 교착 상태는 단순히 순서를 변경 수있는 방법
같은 순서 (예를 들어, 순으로 잠금 이름)에서 그들을 고정하기 위해 여러 자원을 잠글 모든 프로세스를 요구함으로써 방지 할 수 또한 실행 순서를 변경하지 않고 잠금을 획득합니까? 누군가 세부은 현대 Unix 커널에 의해 취해지는 교착 상태 처리에 접근 할 수 있습니까?
. 그런 경우, 커널은 교착 상태를 어떻게 처리합니까? –
@Cthulhu 현대 유닉스 커널 (리눅스와 BSD)은 교착 상태를 다루지 않습니다. – cnicutar
Solaris는 사용자 영역 코드에서 교착 상태를 변경하거나 방지하지 않습니다. dtrace 도구 (Gregg 및 Mauro)는 세마포어 및 뮤텍스와 같은 객체의 상태를 표시 할 수 있습니다. 이러한 객체의 상태에 대한 논리적 인 의미는 OS가 아닌 프로그래머에게 달려 있습니다. –