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

cjh님의 프로필 이미지
cjh

작성한 질문수

곰책으로 쉽게 배우는 최소한의 운영체제론

프로세스 휴식, 보류 상태와 문맥

멀티태스킹, 멀티쓰레드에서 질문이 있습니다.

해결된 질문

작성

·

287

0

강사님 좋은 강의 감사합니다.

정확하게 이해를 하지 못해서 질문을 남겨봅니다.

cpu에서 실행 단위가 쓰레드라고 말씀해주셨는데

 

cpu가 쓰레드를 하나씩 대기 큐에서 코어가 감당할수 있는 쓰레드만큼 꺼내서 실행하고 다음 쓰레드를 실행한다고 이해를 했습니다.

멀티 태스킹은 하나의 os안에 여러 프로세스가 실행이 가능하게 한다는 의미로 이해를 했는데

 

그러면 프로세스 A 안에 있는

쓰레드 A-1, A-2,A-3이 있고

프로세스 B안에 있는

쓰레드 B-1,B-2,B-3가 있다면

 

대기큐에 [ A-1,A-2,A-3,B-1,B-2,B-3 ]

있다고 할때

CPU 코어가 3개라면

A-1,A-2,A-3 쓰레드를 꺼내서 실행하고 빠르게 B-1,B-2,B-3를 꺼내서 실행하는걸 반복하다보니

사용자 입장에서는 A,B 프로세스 둘 다 같이 동작하느거처럼 느낀다고 보는걸까요?

답변 1

1

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

네, 맞습니다. 한 가지 보완할 것은...
CPU가 대기열에서 스레드를 하나씩 꺼내는 것은 아닙니다. 스레드를 대기열로 관리하는 주체는 운영체제입니다. 이 부분만 고쳐 생각하시면 되겠습니다. 감사합니다. :)

cjh님의 프로필 이미지
cjh

작성한 질문수

질문하기