• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    해결됨

쓰레드 질문있습니다.

22.03.16 15:14 작성 조회수 107

1

안녕하세요. 이번에 새로 운영체제 강의를 듣게 된 사람입니다. 프로세스와 쓰레드 챕터에서 쓰레드 강의 내에서 0:45초 에서는 웹 브라우저(정확히는 chrome.exe)를 실행 할때 마다 프로세스 하나가 생성된다고 하셨습니다. 그리고 1:33초 이후에는 쓰레드의 관해서 설명해주시고 2:32초 에서는 다시 웹 브라우저를 예로 설명해주셨는데 웹 브라우저가 하나 실행될 때마다 프로세스 내의 쓰레드가 하나씩 생성된다고 하셨습니다. 이 예시는 단순히 프로세스와 쓰레드의 개념을 구분해주시기 위해서 이렇게 설명해주신건가요?? 둘의 개념은 이해가 되지만 실제로 어떤 때는 웹 브라우저를 실행할 때마다 프로세스가 추가되고 어떤 때는 쓰레드가 추가되고 그런 경우는 없나요??

답변 1

답변을 작성해보세요.

1

네 예시를 위해서 그렇게 설명한 것입니다.
실제로는 프로세스를 한 개 생성하면 쓰레드도 무조건 하나가 생성됩니다.

크롬의 경우 탭 하나에 프로세스가 하나 생성되니까 실제로는 프로세스와 쓰레드 하나가 추가되는 것이지요.
반면 파이어폭스의 경우 탭 4개까지는 프로세스(+쓰레드)를 생성하다가 4개 이상부터는 생성된 프로세스에서 쓰레드만 늘리는 방식으로 동작합니다.
크롬과 파이어폭스가 서로 자신들이 좋다고 생각한대로 구현한 것이죠.

만약 크롬에서 탭을 계속 생성한다면 다음과 같은 구조로 프로세스가 계속 늘어납니다.
프로세스(+쓰레드),
프로세스(+쓰레드),
프로세스(+쓰레드),
프로세스(+쓰레드),
...

반면 파이어 폭스에서 탭을 계속 생성한다면 다음과 같은 구조로 늘어납니다.
프로세스(+쓰레드)
프로세스(+쓰레드)
프로세스(+쓰레드)
프로세스(+쓰레드)
이후부터 생성된 프로세스에서 쓰레드만 추가되는 방식입니다.

궁금증이 해결되셨나요??

이승훈님의 프로필

이승훈

질문자

2022.03.16

네 감사합니다!