2014-04-06 2 views
3

선제 형 커널이 경쟁 조건을 어떻게 유도합니까? 프로세스가 선점 된 경우, 즉 임계 영역에서 제외되지 않은 경우. 내 이해 경쟁 조건에서 여러 프로세스가 리소스를 동시에 액세스하고 조작하려고 할 때입니다. 개념을 파악하는 데 어려움이 있습니다선점 형 커널을 이해하는 데 문제가 있습니다

답변

1

선점 형 커널은 언제든지 스레드를 시작하고 중지 할 수 있습니다. 즉, 잠금 및 임계 섹션을 통해 액세스를 신중하게 조정하지 않는 스레드는 경쟁 조건에 처하게됩니다.

다른 형태의 멀티 스레딩은 협업 멀티 스레딩입니다. 스레드는 명시 적으로 프로세서를 제공하는 지점에서만 스레드를 중지 할 수 있습니다. 이렇게하면 스레드가 처리 중 예기치 않은 임의의 지점에서 인터럽트되지 않기 때문에 경쟁 조건을 방지하는 데 도움이됩니다.

협업 멀티 스레딩의 단점은 양보하지 않는 쓰레드가 프로세서를 괴롭힐 수 있다는 점입니다. 이것이 최신 운영 체제가 협업 멀티 스레딩보다는 선점 형 멀티 스레딩을 사용하는 이유입니다.

+0

협업 멀티 스레딩의 주된 단점은 이전에 요청한 I/O가 사용 가능 해지면 스레드를 즉시 준비/실행할 수 없으므로 잘못된 I/O 성능입니다. –

+0

@ warren thanks. 비무장 상태로 기아로 이어질 수 있습니까? – user3497437

+0

@ user3497437 협업 멀티 스레딩은 실행중인 스레드가 실패 할 때 다른 스레드의 기아로 이어질 수 있습니다. –

관련 문제