inflearn logo
강의

講義

知識共有

オペレーティングシステム恐竜本講義

03. プロセスの理解: Chapter 3. Processes (Part 1)

fork()의 개념에 대해

309

sr98720151

投稿した質問数 5

0

안녕하세요, 교수님

먼저 좋은 강의 제공해 주셔서 정말 감사하다는 말씀 드립니다.

Q1. 새로운 프로그램을 process에 올리는 것도 fork()라는 시스템 콜에 의해 진행 되는 것인가요?

예를 들어,

1. 인프런 영상을 플레이 중

2. 동시에 메모장에 오늘 배운 내용을 정리

여기서 2번이 실행 되기 위해서 시스템 내부적으로는 fork()라는 시스템콜이 있고, 복제된 프로세스위에 메모장과 관련된 데이터, 코드 등등이 덮어 써지게 되는 건가요?

Q2. 위의 말이 맞다면 최초의 복제 되상이 되는 parent는 무엇인가요?

운영체제 동시성

回答 2

1

joonion

Q1 질문: 맞습니다.

fork() 시스템 콜은 리눅스 기준으로 질문한 것과 같이 동작합니다.

운영체제 커널이 먼저 fork()를 하고, 

fork()를 한 프로세스 영역에 실행을 요청한 프로세스의 코드와 데이터 영역을 덮어 쓰는 것이죠.

Q2 질문:

fork()를 할 때는 자기 자신을 복제합니다.

메모장을 실행했을 때 fork()를 호출하는 프로세스를 복제하겠지요?

메모장 실행을 요청하는 것은 GUI의 마우스 클릭을 하겠지만,

이것은 커맨드창에서 memo.exe를 입력한 것과 동일합니다.

따라서, 리눅스라면 쉘 프로세스(sh, bash, zsh 등)가 parent 프로세스가 되어

메모장을 위한 child process를 생성하는 것이라 보면 됩니다.

0

sr98720151

크흙 감사합니다.ㅎㅎ 재미있네요!!!ㅎㅎ

퀴즈 7번의 답에 대한 질문입니다.

0

541

1

이해하고 있는것이 맞는건지 궁금합니다 ㅠㅠ

0

802

1

타우시간

0

533

1

퀴즈1 1번 질문합니다 !

1

593

1

Page는 Text Data이외에 다른 메모리도 포함하나요?

1

369

0

IPC shared memory 코드

0

509

1

[간단한 질문 ]banker's algorithm 을 linux 에서 실제로 프로세스 관리할때 쓰이나요?

0

394

0

user mode i/o 관련 질문

0

274

1

shared memory 관련해서 질문 드립니다.

0

509

1

교수님 fork()함수에 대해 질문이 있습니다.

0

878

2

process 와 thread

0

360

1

교수님 Docker 로 실습해도 괜찮을까요?

1

857

1

Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유

22

3313

2

moniter, condition variable, synchronized에 대해서 궁금한점이 있습니다..

0

660

1

왜 무료인지 이해를 못 하겠네요..

3

421

1

7.1 Classic Problems of Synchronization 질문이 있습니다

0

293

1

공룡책 8판과 10판중

0

589

1

6.3 peterson's solution 질문이 있습니다

0

218

1

08-01 연습문제 8번 질문있습니다!

0

276

0

06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류

0

259

1

안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다

1

347

1

2강 실습을 위한 개발환경 구축(Windows 10 + WSL 2 + Visual Studio Code)에서 출력오류

0

338

1

아래 질문 관련하여 다시 문의드립니다

0

193

1

Thread & Concurrency (Part 2) 질문드립니다

0

181

1