• 검색 결과가 없습니다.

Fork and Exec

N/A
N/A
Protected

Academic year: 2021

Share "Fork and Exec"

Copied!
20
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

A Unix Process

Text Process Status Resources Resources File UNIX kernel Stack Data File

(2)

How Fork Works

Text Process Status Stack Data File File Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); pid = 25

(3)

pid = 26

How Fork Works

UNIX kernel Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25

(4)

pid = 26

How Fork Works

Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25 cpid = 26 cpid = 0

(5)

pid = 26

How Fork Works

UNIX kernel Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25 cpid = 26 cpid = 0

(6)

pid = 26

How Fork Works

Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25 cpid = 26 cpid = 0

(7)

pid = 26

How Fork Works

UNIX kernel Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25 cpid = 26 cpid = 0

(8)

pid = 26

How Fork Works

Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25 cpid = 26 cpid = 0

(9)

pid = 26

How Fork Works

UNIX kernel Text Process Status Stack Data File File Stack Data Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status pid = 25 cpid = 26 cpid = 0

(10)

How Fork Works

Text Process Status Stack Data File File Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); pid = 25 cpid = 26

(11)

How Fork Works

UNIX kernel Text Process Status Stack Data File File Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); pid = 25 cpid = 26

(12)

How Fork Works

Text Process Status Stack Data File File Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); pid = 25 cpid = 26

(13)

How Fork Works

UNIX kernel Text Process Status Stack Data File File Resources Resources <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); <…> pid = 25 cpid = 26

(14)

pid = 26

How Exec Works

File File Stack Data Resources Resources Text <…>

int cpid = fork( ); if (cpid = = 0) { <child code> exit(0); } <parent code> wait(cpid); Process Status cpid = 0

(15)

pid = 26

How Exec Works

UNIX kernel File File Stack Data Resources Resources Text <…>

int cpid = fork( ); if (cpid = = 0) { exec(“foo”); exit(0); } <parent code> wait(cpid); Process Status cpid = 0 foo

(16)

pid = 26

How Exec Works

File File Stack Data Resources Resources Text <…>

int cpid = fork( ); if (cpid = = 0) { exec(“foo”); exit(0); } <parent code> wait(cpid); Process Status cpid = 0

(17)

pid = 26

How Exec Works

UNIX kernel foo File File Resources Resources

(18)

pid = 26

How Exec Works

Stack Data Text

<line first of foo> <…> <…> <…> exit(0); Process Status File File Resources Resources

(19)

pid = 26

How Exec Works

UNIX kernel

Stack Data Text

<line first of foo> <…> <…> <…> exit(0); Process Status File File Resources Resources

(20)

pid = 26

How Exec Works

Stack Data Text

<line first of foo> <…> <…> <…> exit(0); Process Status File File Resources Resources

참조

관련 문서

영어권 『맞춤 한국어』는 한글학교에서 한국 음과 같다 첫째, 주제에 따라 3개의 단원을 어를 배우는 영어권 어린이들을 위한 교재이 하나의 챕터로 구성했다 하나의 챕터

Because it is more difficult to design PID controllers for a MIMO process than for a SISO process that there is an interaction between the different

As a result of this study, it was confirmed that the possibility of valuable resources recovery was positive when a combined process of froth

V notched failure induced by high in situ stress, ~400 m deep, Winnipeg, V notched failure induced by high in situ stress, 400 m deep, Winnipeg, Canada

– If the test is corrupted by noise, the frequency response may be modified significantly by noise. – The disturbance affects both the gain and phase over

– Requires a converter from resistance to electrical signal – Higher price than

Given a feasible solution λ 0 to the original dual problem, set up the associated restricted primal problem. Optimize the

• The reset time and the derivative time should increase as the ratio of time delay to dominant time constant increases. • The ratio between derivative time and reset time