Process Address Space
ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ
ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๊ฐ ์์์ ํ ๋นํ๋ ๋จ์์ด๋ค.
ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ์ผ๋ฉด, ์์ ๋ง์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ด ๊ณต๊ฐ๋ค์ ์ด๋ค ๊ตฌ์กฐ๋ก ๊ด๋ฆฌํ๋๋ฐ, ์ฐ๋ฆฌ๋ ์ด๋ฅผ ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.

ํ๋ก์ธ์ค ์ฃผ์๊ณต๊ฐ์ ๋ค์๊ณผ ๊ฐ์ด ๋๋์ด์ง๋ค.
Stack ์์ญ
ํจ์์ ํธ์ถ๊ณผ ๊ด๊ณ๋๋ ์ง์ญ๋ณ์์ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ.
Stack ์์ญ์ ๊ฐ์ ํจ์์ ํธ์ถ๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ, ํจ์์ ํธ์ถ์ด ์๋ฃ๋๋ฉด ์๋ฉธํ๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๋์ ์ฃผ์์์ ๋ฎ์ ์ฃผ์์ ๋ฐฉํฅ์ผ๋ก ํ ๋น๋๋ค.
์ฌ๊ท ํจ์๊ฐ ๋๋ฌด ๊น๊ฒ ํธ์ถ๋๊ฑฐ๋ ํจ์๊ฐ ์ง์ญ๋ณ์๋ฅผ ๋๋ฌด ๋ง์ด ๊ฐ์ง๊ณ ์์ด stack ์์ญ์ ์ด๊ณผํ๋ฉด stack overflow ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
Heap ์์ญ
๋ฐํ์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ ์์ญ. ์ฌ์ฉ์์ ์ํด ๊ณต๊ฐ์ด ๋์ ์ผ๋ก ํ ๋น ๋ฐ ํด์ ๋๋ค.
์ฃผ๋ก ์ฐธ์กฐํ ๋ฐ์ดํฐ (ex. ํด๋์ค) ๋ฑ์ ๋ฐ์ดํฐ๊ฐ ํ ๋น๋๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๋ฎ์ ์ฃผ์์์ ๋์ ์ฃผ์์ ๋ฐฉํฅ์ผ๋ก ํ ๋น๋๋ค.
Data ์์ญ
์ ์ญ ๋ณ์๋ Static ๋ณ์ ๋ฑ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์์ญ์ด๋ค.
์ด๋ค ํ๋ก๊ทธ๋จ์ ์ ์ญ/static ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋๊ฐ ์กด์ฌํ๋ค๋ฉด, ์ด ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ ๋ ํ์ data ์์ญ์ ์ฐธ์กฐํ๊ฒ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์์๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ฉด ์๋ฉธํ๋ค.
๋จ, ์ด๊ธฐํ ๋์ง ์์ ๋ณ์๊ฐ ์กด์ฌํ๋ค๋ฉด, ์ด๋ (๊ทธ๋ฆผ์๋ ํํ๋์ง๋ ์์์ง๋ง BSS ์์ญ์ ์ ์ฅ๋๋ค.)
Text(Code) ์์ญ
ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์๋๋ก CPU๊ฐ ํด์ ๊ฐ๋ฅํ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ ์ ์ฅ๋์ด ์๋ ๊ณต๊ฐ์ผ๋ก,
ํ๋ก๊ทธ๋จ์ด ์์ ๋๋ฉด ์ ๋๋ฏ๋ก ReadOnly ์ํ๋ก ์ ์ฅ ๋์ด์๋ค.
๊ฒฐ๊ตญ ๋ฉ๋ชจ๋ฆฌ๋ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์, ํ๋ก์ธ์ค๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ๋ ค๊ณ ์๋ํ๋ค.
Data ์์ญ๊ณผ Stack ์์ญ
Code ์์ญ์ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ ๋ค์ด์์ผ๋ ๋ค๋ฅธ ๊ตฌ์ญ๊ณผ ๋๋ฌด ๋ค๋ฅด๊ณ , Heap ์์ญ์ ๋ฐํ์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ ์์ญ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด Stack ์์ญ๊ณผ Data ์์ญ์ ๊ตฌ๋ถํ ์ด์ ๋ ๋ฌด์์ผ๊น? ๊ฐ์ฅ ํฐ ์ด์ ๋ ์ญํ ์ ๋ถ๋ฐฐ์ด๋ค.
์ฐ๋ฆฌ๋ Stack ์์ญ์ ํตํด ํจ์์ ํ๋ฆ์ ๊ด๋ฆฌํ๊ณ , Data ์์ญ์ ํตํด ์ ์ญ ๋ณ์, static ๋ณ์๋ฅผ ๊ด๋ฆฌํ๋ค.
๋ง์ฝ ํ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ๊ฐ์ ์ค๋ ๋๋ฅผ ๊ฐ๋๋ค๋ฉด, ๊ฐ๊ฐ์ ์ค๋ ๋๋ ์์ ๋ง์ Stack ์์ญ์ ๊ฐ๋๋ค.
์ด๋ ์ค๋ ๋ ๋ด์์ ์ํ๋๋ ํจ์์ ํ๋ฆ์ ๊ฐ๊ฐ ๊ด๋ฆฌํ๊ธฐ ์ํจ์ด๋ค.
์ฌ๊ธฐ์์ ์์ญ์ ๊ตฌ๋ถํ ๋ ๋ค๋ฅธ ์ค์ํ ์ด์ ๊ฐ ๋์ค๋๋ฐ, ๋ฐ๋ก Data ์์ญ์ ๊ณต์ ์ด๋ค.
๊ฐ๊ฐ์ ์ค๋ ๋๋ Stack ์์ญ์ ๊ฐ๊ธด ํ์ง๋ง Data ์์ญ์ ๊ณต์ ํ๋ค.
์ฆ, ๊ฐ๊ฐ์ ์ค๋ ๋๊ฐ ์ฌ์ฉํ๊ธฐ ์ํด Data ์์ญ์ ๋์ผํ ๋ด์ฉ์ ๊ณต์ ํจ์ผ๋ก์จ, ๋๊ฐ์ ๊ณต๊ฐ์ ์ฌ๋ฌ๊ฐ ๋ง๋ค์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ ์ ์๋ค.
Sources
Last updated