2017-02-28 26 views

답변

2

Process A: -->spin lock --> do strict call --> before unlock time int Time int ISR: --> Process A time slice finished --> need schedule -->ISR ret --> schedule to Process B 상황에서 당신은 프로세스 B를 제공 것이다 바쁜 그 조각이 종료 될 때까지 대기프로세스 occures로 재조정. 따라서 전체 시간 조각은의 시간 낭비가 입니다.가 occures되지 않습니다 프로세스에 프로세스 B로 전환하는 경우

상황이 더 악화 될 수 있습니다. 예를 들어 프로세스 B의 우선 순위가 프로세스 A 중 하나 이상인 경우 이 경우 교착 상태입니다.

spin_lock에서 선매를 사용 중지하면 위에 설명한 시간과 교착 상태를 모두 방지 할 수 있습니다.