리눅스의 커널 스레드 관련 질문이 있습니다.

gogisimji의 이미지


커널 스레드의 task_struct는 mm_struct을 가지지 않고, 이전에 실행되엇었던

task의 mm_struct을 그대로 받아 쓴다고 책에 쓰여져 있는데요,

여기서 이해가 안되는 부분이 있어서요.

그러면 커널 스레드가 실행되었을 때 이전의 task의 mm_struct를 가지고 물리 메모리를 사용한다면

이전의 task의 데이터를 침범하는 것이 아닌가요?

그럼 커널 스레드가 끝나고 다시 원래 task로 돌아왔을 때 문제가 생길 것 같은데..

바보같은 질문인 것 같지만 답변 부탁드리겠습니다..ㅜ