inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

프로세스 생성과 복사

fork exec 예제를 알고싶습니다.

해결된 질문

745

콩팥팥죽

작성한 질문수 73

0

잘 이해가 안되는 부분은

exec으로 프로세스 생성 시 호출한 존재가 소멸된다는 것 부분인데요

그럼 바탕화면에서 그림판이라는 프로세스를 exec으로 생성하면 바탕화면이 소멸되는 건가요?

예시 좀 부탁드립니다 꼭 알고싶습니다.

 

운영체제

답변 3

1

널널한 개발자

exec은 호출하는 프로세스가 곧 사라진다는 것이 핵심입니다. 어차피 사라지기 전에 새 프로세스가 기존 프로세스의 자원을 그대로 사용하고 기존 프로세스 자신만 사라지는 것입니다. 그리고 본인이 설명한 것처럼 바탕화면(정확히는 탐색기, 윈도우 운영체제의 쉘 프로세스)이 곧 사라질 예정이라면 exec 방식으로 그림판을 실행한다면 바탕화면이 가진 리소스를 그림판이 그대로 가지고 사용하게 되고 그림판을 띄워준 바탕화면은 소멸해 사라지는 것입니다.

가령 결혼을 앞둔 자식이 있다고 가정해 봅시다. 새 가정을 꾸리기 위해 집도 장만해야 하고 각종 살림도 들여야 할 것입니다. 자식을 위해 부모가 집을 알아보던 중 자신의 삶이 얼마 남지 않아 곧 사라질 상황이라면 굳이 집을 얻는 것이 효율적인지 생각해볼 수 있겠습니다. 새 집을 장만하는 일은 여러 비용이 소모되기 때문입니다. 그 비용을 아끼고자 자식의 새 집을 현재 부모가 살던 집을 간단히 수리하는 수준에서 마련한다면 다른 이슈를 떠나 매우 합리적으로 새 집을 얻게 될 것입니다.

부모님이 살아계신 동안 새 집을 얻어 자식을 분가하면 fork(), 자식에게 자신의 집을 내어주고 별이 된다면 exec()이 되겠습니다.

이해가 되셨으면 좋겠습니다.

0

콩팥팥죽

답변 감사합니다
댓글에 추가 질문 하나 더 올렷습니다 번거로우시겟지만 꼭 알고싶습니다.

0

콩팥팥죽

여전히 이해가 덜 되었습니다.
제 질문이 부정확햇던것 같습니다.좀더 상세히 질문을 올려보겟습니다

exec()으로 실행된 자식 프로세스는 부모의 자원을 그대로 물려받는다고 하였습니다.
부모의 가상메모리가 1GB 면 exec()으로 실행된 자식 프로세스는 가상메모리가 1GB가 할당이 되나요?
자식 프로세스는 1GB가 필요하지 않아도 1GB가 할당이 되는지를 알고싶습니다.

1

널널한 개발자

네, 그렇습니다. 다만 공간이 주어졌다 하여 실제로 메모리가 할당되는 것은 아닙니다. 공간이 주어지는 것과 할당은 별개의 문제입니다.

1

콩팥팥죽

선생님 답변 감사합니다!

0

콩팥팥죽

추가적인 질문을 하나 더 드립니다.

탐색기의 PCB가 잇고 가상메모리가 1GB가 할당되잇습니다.
그림판은 메모리가 10MB만 있으면 됩니다
탐색기가 곧 소멸하고 사라지는데 그 전에 EXEC으로 그림판을 실행합니다

그러면 그림판은 가상메모리가 필요하지도 않은 1GB가 할당이 되나요?

0

널널한 개발자

32비트 응용 프로그램이라면 User mode 가상 메모리 공간이 2GB 잡힙니다. 그것을 그대로 계승하며 기존 프로세가 소멸하면서 사용했던 메모리는 모두 반환됩니다.

32bit app에서 vms 4gb 설명에 대한 질문입니다.

0

77

2

레이스 컨디션 문제

0

213

2

스레드 종료 순서

0

154

1

제가 이해한게 맞는지 궁금합니다. (비디오 카드에 output)

0

233

2

플랫폼 bit관련 질문입니다

0

154

3

백그라운드 스케쥴링관련 질문입니다.

0

167

2

ready queue에 있던 프로세스들이 sleep이나 suspend되는 게 가능한가요?

0

250

2

IPC는 곧..?

0

362

2

interrupt와 DirectX 질문

0

406

2

공유자원과 임계구역

0

318

2

DMA와 고성능 소켓관련 질문입니다.

0

294

3

2강 DMA와 고성능 소켓 질문

0

421

3

I/O 관리자, 메모리 매니저 사용 이유

0

293

2

*pszResult =A; 포인터 사용 부분에 대한 질문입니다.

0

201

1

교착상태와 게임이 튕기는 현상

0

219

1

멀티스레딩

0

410

2

자료구조 공부

0

420

2

윈도우 레지스트리 질문

0

263

1

파일시스템과 가상메모리

0

341

1

Page fault 메시지가 나오면 스왑 인, 스왑 아웃은 일어나지 않는 건가요?

0

258

1

가상 주소, 절대 주소 부분이 헷갈립니다.

0

345

2

운영체제 스레드 공부 중 궁금한 점 있습니다.

0

361

3

직업 관련 질문

0

330

1

페이징 기법의 주소 변환

0

304

2