해결된 질문
작성
·
564
0
잘 이해가 안되는 부분은
exec으로 프로세스 생성 시 호출한 존재가 소멸된다는 것 부분인데요
그럼 바탕화면에서 그림판이라는 프로세스를 exec으로 생성하면 바탕화면이 소멸되는 건가요?
예시 좀 부탁드립니다 꼭 알고싶습니다.
답변 3
1
exec은 호출하는 프로세스가 곧 사라진다는 것이 핵심입니다. 어차피 사라지기 전에 새 프로세스가 기존 프로세스의 자원을 그대로 사용하고 기존 프로세스 자신만 사라지는 것입니다. 그리고 본인이 설명한 것처럼 바탕화면(정확히는 탐색기, 윈도우 운영체제의 쉘 프로세스)이 곧 사라질 예정이라면 exec 방식으로 그림판을 실행한다면 바탕화면이 가진 리소스를 그림판이 그대로 가지고 사용하게 되고 그림판을 띄워준 바탕화면은 소멸해 사라지는 것입니다.
가령 결혼을 앞둔 자식이 있다고 가정해 봅시다. 새 가정을 꾸리기 위해 집도 장만해야 하고 각종 살림도 들여야 할 것입니다. 자식을 위해 부모가 집을 알아보던 중 자신의 삶이 얼마 남지 않아 곧 사라질 상황이라면 굳이 집을 얻는 것이 효율적인지 생각해볼 수 있겠습니다. 새 집을 장만하는 일은 여러 비용이 소모되기 때문입니다. 그 비용을 아끼고자 자식의 새 집을 현재 부모가 살던 집을 간단히 수리하는 수준에서 마련한다면 다른 이슈를 떠나 매우 합리적으로 새 집을 얻게 될 것입니다.
부모님이 살아계신 동안 새 집을 얻어 자식을 분가하면 fork(), 자식에게 자신의 집을 내어주고 별이 된다면 exec()이 되겠습니다.
이해가 되셨으면 좋겠습니다.
0
여전히 이해가 덜 되었습니다.
제 질문이 부정확햇던것 같습니다.좀더 상세히 질문을 올려보겟습니다
exec()으로 실행된 자식 프로세스는 부모의 자원을 그대로 물려받는다고 하였습니다.
부모의 가상메모리가 1GB 면 exec()으로 실행된 자식 프로세스는 가상메모리가 1GB가 할당이 되나요?
자식 프로세스는 1GB가 필요하지 않아도 1GB가 할당이 되는지를 알고싶습니다.
답변 감사합니다
댓글에 추가 질문 하나 더 올렷습니다 번거로우시겟지만 꼭 알고싶습니다.