해결된 질문
작성
·
253
4
안녕하세요.
이번 강의에서 multi thread 환경에서 thread가 사용하는 process 의 메모리 영역에 대한 그림에 질문드립니다.
저번강의에서 thread는 process의 stack 영역을 제외하고 heap, data, code 영역은 공유한다고 들었는데 이번 강의 그림에는 code1,code2,code3이 분리가 되어있습니다.
프로세스 단위로는 code1,2,3 구분이 무의미하고 multi thread 단위 입장에서는 각각 다른 code를 수행할 수도 있고 같은 code를 수행할 수도 있지만 독립적인 단위라는 개념상 code를 분리하신거라고 이해하면 될까요?
답변 2
2
2
안녕하세요 Ray님.
해당 부분은 제가 오해하게끔 잘못 그림을 그렸던 것 같습니다.
저번강의에서 thread는 process의 stack 영역을 제외하고 heap, data, code 영역은 공유한다고 들었는데
이게 맞습니다.
이번 강의 그림에는 code1,code2,code3이 분리가 되어있습니다.
이 것은 제가 잘못 설명한 부분입니다. 제가 이렇게 표현했던 이유는 한 프로세스 내에서 각각의 쓰레드가 stack영역 뿐 아니라 PC register등을 각자 저장해두기 때문에 이를 표현하고 싶었던 거였습니다.
code영역을 1,2,3으로 나눈건 제 과해석인 것 같습니다.
"프로세스 단위로는 code1,2,3 구분이 무의미하고 multi thread 단위 입장에서는 각각 다른 code를 수행할 수도 있고 같은 code를 수행할 수도 있지만 독립적인 단위라는 개념상 code를 분리하신거라고 이해하면 될까요? "
이 말씀이 정확히 저의 의도를 파악하신 것 같아요!! 하지만 저도 자료를 좀 더 찾아보고 강의자료를 수정해 보도록 하겠습니다.
감사합니다 :)
수업 자료가 더 보충될 수 있도록 좋은 질문 해주셔서 감사합니다!!
저에게 꼭 필요한 알짜배기 질문이였습니다 ㅎㅎ
이직도 화이팅입니다 :)