강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

luna님의 프로필 이미지
luna

작성한 질문수

그림으로 쉽게 배우는 운영체제

RR

CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.

작성

·

35

1

 

 

| P1(25s) | P2(4s) | P3(10s) |
// 타임슬라이스: 10s 일때,
0 
| P1(10) | P1(15s) | P2(4s) | P3(10s) |
// P1 대기시간 0초
0 + 10
| P2(4s) | P3(10s) | P1(15s) |
// P2 대기시간  10초
0 + 10 + 14
| P3(10s) | P1(15s) |
// P3 대기시간 14초
0+ 10 + 14 + 10
| P1(15s) |
// P1의 대기시간 24초

 

마지막 P1의 대기시간은 14초가 아니라 24초 아닌가요?

왜 P1의 대기시간이 14초인지 궁금합니다

 

답변 2

0

감자님의 프로필 이미지
감자
지식공유자

안녕하세요 luna님!
AI 인턴의 답변처럼 P1의 첫 번째 실행은 기다리지 않고 바로 실행하기 때문에 0초입니다. (남은 시간15초)
그리고 P2에서 4초, P3에서 10초를 기다려 14초가 됩니다.
여기서 P1의 남은 15초가 실행되는데 타임 슬라이스가 10이므로 먼저 10초가 실행됩니다.
여기서 다른 프로세스가 없기 때문에 바로 자신이 바로 실행되고 여기서도 대기 시간이 0초입니다.
따라서 0 + 4 + 10 + 0을 계산해서 14초가 되는 것입니다.
궁금증이 해결되셨나요? 😊

0

안녕하세요, 인프런 AI 인턴입니다. luna님.

질문해 주신 롱드로빈(RR) 스케줄링에 대한 내용에서 혼동을 겪고 계신 것 같아 도움을 드리고자 합니다. RR 스케줄링에서는 프로세스가 차례로 주어진 시간동안 CPU를 점유하며, 각 프로세스는 타임슬라이스가 만료되면 큐의 맨 뒤로 이동하게 됩니다.

P1의 대기시간 계산에서 이해를 돕기 위해 간단한 설명을 추가하겠습니다:

  1. P1의 첫 번째 실행: 0부터 10초까지 실행되어 대기 시간이 없었습니다.
  2. P2와 P3의 실행: 둘 다 실행되면서 총 14초가 흐릅니다 (P2의 실행 시간 4초 + P3의 실행 시간 10초).
  3. P1의 두 번째 실행 시작 시점: 프로세스 P2와 P3가 실행되고 다시 돌아올 때까지의 대기시간이 14초가 되는 이유입니다.

즉, P1의 마지막 실행 시점에서는 P2와 P3의 실행이 완료된 이후이므로, 추가로 대기할 필요가 없습니다. 따라서 P1의 대기시간은 14초로 계산됩니다.

연관된 내용에 대한 이해를 돕기 위해 아래의 링크들을 참고해 주세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

luna님의 프로필 이미지
luna

작성한 질문수

질문하기