๋ณธ ๊ฒ์๊ธ์ KOCW ์ดํ์ฌ์๋ํ๊ต ๋ฐํจ๊ฒฝ ๊ต์๋์ <์ด์์ฒด์ > ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
๊ฒ์๊ธ์ ํฌํจ๋๋ ์ด๋ฏธ์ง ์๋ฃ ๋ํ ํด๋น ๊ฐ์์ ํฌํจ๋ ๊ฐ์ ์๋ฃ์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์คํ - ๋ฉ๋ชจ๋ฆฌ load ๊ณผ์
ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ์ปดํจํฐ์์ ์คํ๋๋ ๊ฒ์ธ์ง ํ๋ก๊ทธ๋จ ์คํ ๊ณผ์ ์ ๋ํด ์ ๋ฆฌํด๋ด ์๋ค.
๋ณดํต ํ๋ก๊ทธ๋จ์ ํ๋๋์คํฌ(ํ์ผ ์์คํ )์ ์คํํ์ผ(exe) ํํ๋ก ์ ์ฅ๋์ด ์์ต๋๋ค.
์ด ์คํํ์ผ์ ์คํ์ํค๊ฒ ๋๋ฉด, ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ๋ผ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋์ด ์คํ๋ฉ๋๋ค.
์ฆ, ํ๋ก๊ทธ๋จ ์คํ์ ํฐ ๊ตฌ์กฐ๋ Disk์ ์๋ ์คํ ํ์ผ์ ์คํํ๋ฉด, ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋์ด ํ๋ก๊ทธ๋จ์ด ์คํ๋ฉ๋๋ค.
์ด ๋, ๋ฐ๋ก ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ(Physical Memory)๋ก ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค.
์ด๋ค ํ๋ก๊ทธ๋จ์ ์คํ์ํค๊ฒ ๋๋ฉด, ๊ทธ ํ๋ก๊ทธ๋จ๋ง์ ๋ ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ณต๊ฐ(= Virtual Memory, ๊ฐ์๋ฉ๋ชจ๋ฆฌ)์ด ์๊ธฐ๊ฒ ๋๋๋ฐ, ์ด ์ฃผ์๊ณต๊ฐ์ code, data, stack์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์คํ์ํค๋ฉด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ผ๋ ์ฃผ์๊ณต๊ฐ์ด ์๊ธฐ๊ณ ์ข ๋ฃ์ํค๋ฉด ์ด ์ฃผ์๊ณต๊ฐ์ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
์ด ์ฃผ์๊ณต๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ค ์ฌ๋ฆฌ์ง ์์ต๋๋ค. (๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋๊ธฐ ๋๋ฌธ)
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ผ๋ก ๋น์ฅ ํ์ํ ๋ถ๋ถ๋ง ์ฌ๋ฆฌ๊ณ ๋ถํ์ํ ๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ์์ disk์ swap area์ ๋ด๋ฆฝ๋๋ค.
swap area๋ ํ๋ฐ์ฑ ๊ณต๊ฐ(์ปดํจํฐ ์ ์์ด ๋๊ฐ๋ฉด ์ด ๊ณต๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ ์ฌ๋ผ์ง)์ผ๋ก, ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ํ๊ณ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฅ ๊ณต๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
์ปค๋ ์ฃผ์ ๊ณต๊ฐ์ ๋ด์ฉ
์ด์์ฒด์ ์ปค๋๋ ํ๋์ ํ๋ก๊ทธ๋จ์ด๊ธฐ ๋๋ฌธ์ ์ปค๋ ์ฃผ์ ๊ณต๊ฐ์ code, data, stack ์ผ๋ก ์ด๋ฃจ์ด์ง ์ฃผ์ ๊ณต๊ฐ์ด ์กด์ฌํฉ๋๋ค. (์์ ๊ทธ๋ฆผ์์ ํฐ์)
์ด์์ฒด์ ์ปค๋์ ์ด๋ค ์ฝ๋๋ค๋ก ๊ตฌ์ฑ๋์ด์๋์ง ์ปค๋ ์ฃผ์ ๊ณต๊ฐ์ ๋ด์ฉ์ ์ดํด๋ด ์๋ค!
code
- ์์คํ ์ฝ, ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ์ฝ๋
- ํจ์จ์ ์ธ ์์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ฝ๋
- ํธ๋ฆฌํ ์๋น์ค ์ ๊ณต์ ์ํ ์ฝ๋
data
- ์ด์์ฒด์ ๊ฐ ์ฌ์ฉํ๋ ์ฌ๋ฌ ์๋ฃ๊ตฌ์กฐ๋ค์ด ์ ์๋์ด ์์
- CPU, memory, disk ์ ๊ฐ์ ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ ํต์ ํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ ์กด์ฌ
- ํ๋ก์ธ์ค(= ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ) ๊ด๋ฆฌ๋ฅผ ์ํ PCB(Process Control Block) ์กด์ฌ
stack
- ํจ์ ํธ์ถ์ ์ํ ์์ญ
- ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์์คํ ์ฝ์ ํตํด ์ด์์ฒด์ ์ปค๋์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ผ๋ฏ๋ก ํ๋ก์ธ์ค ๋ณ๋ก ์คํ ๊ณต๊ฐ์ ๋ฐ๋ก ๋๊ณ ์์
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ํจ์
์ฌ์ฉ์ ์ ์ ํจ์
- ์์ ์ ํ๋ก๊ทธ๋จ์์ ์ ์ํ ํจ์
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
- ์์ ์ ํ๋ก๊ทธ๋จ์์ ์ ์ํ์ง ์๊ณ ๊ฐ์ ธ์ ์ฌ์ฉํ ํจ์
- ์์ ์ ํ๋ก๊ทธ๋จ์ ์คํ ํ์ผ์ ํฌํจ๋์ด ์์
์ปค๋ ํจ์
- ์ด์์ฒด์ ํ๋ก๊ทธ๋จ์ ํจ์
- ์ปค๋ ํจ์์ ํธ์ถ == ์์คํ ์ฝ
์ฌ์ฉ์ ์ ์ ํจ์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ ํ๋ก๊ทธ๋จ ๋ด์ ์ ์๋์ด ์๋ ํจ์์ ๋๋ค.
์ปค๋ ํจ์๋ ์ปค๋ ์ฝ๋ ๋ด์ ์กด์ฌํ๋ ํจ์์ด๋ฏ๋ก ์์คํ ์ฝ์ ํตํด ํธ์ถํ ์ ์์ต๋๋ค.
'๐ฅ CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] ํ๋ก์ธ์ค ์ํ (0) | 2023.02.13 |
---|---|
[์ด์์ฒด์ ] ํ๋ก์ธ์ค (0) | 2023.02.12 |
[์ด์์ฒด์ ] I/O์ ์ํ - ์ธํฐ๋ฝํธ(Interrupt)์ ์์คํ ์ฝ(System Call) (1) | 2023.01.14 |
[์ด์์ฒด์ ] ์ปดํจํฐ ์์คํ ๊ตฌ์กฐ (2) | 2023.01.13 |
[์ด์์ฒด์ ] ์ด์์ฒด์ ๋? (0) | 2022.12.18 |