• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

레디큐와 blocking/unblocking

23.03.19 17:29 작성 조회수 292

0

레디큐에서 cpu 코어 개수만큼 실행된다고 했을때, 예를 들어 8개의 process가 실행된다고 했을때 unblocking 상태라고 하면, 1개의 process에서 입출력 요청이 일어난다면 모든 process가 '대기 상태'가 되나요?

답변 1

답변을 작성해보세요.

0

프로세스의 입/출력 요청과 '상태'는 별개의 문제입니다. 그리고 제가 레디 큐 라고 언급한 것은 프로세스(혹은 스레드) 상태가 Suspended가 아니라 Running 상태가 되어 연산 할 준비가 된 상태인 것들을 큐 형식으로 관리하는 구조를 언급한 것입니다.

큐는 하나지만 코어가 여럿일 경우 여러 CPU 코어가 한 큐로부터 처리할 목록을 꺼내와 처리하게 됩니다. 상태가 Running 상태이므로 아직 CPU 연산 전 이라 하더라도 상태는 '대기'가 아닌 Running 상태로 봐야 하겠습니다. 참고하시기 바랍니다.