๐ก "์ด์์ฒด์ : ์์ฃผ ์ฌ์ด ์ธ๊ฐ์ง ์ด์ผ๊ธฐ"๋ฅผ ์ฝ์ผ๋ฉด์ ํต์ฌ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค.
์ดํ์ฌ๋ ๋ฐํจ๊ฒฝ ๊ต์๋์ ์ด์์ฒด์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋ณต์ต ์ฐจ์์์ ์ฑ ํ๊ถ์ ์๋ ํด ๋ณด๊ณ ์ ํฉ๋๋ค.
์๋ชป๋ ์ ๋ณด๊ฐ ์๋ค๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
1. fork()
- ์์ ํ๋ก์ธ์ค๋ฅผ ๋ง๋๋ ์์คํ ์ฝ
- ์์ ํ๋ก์ธ์ค๋ ๋ถ๋ชจ์ ์ฃผ์ ๊ณต๊ฐ์ ๋ณต์ฌํ์ฌ ๊ฐ์ง๊ฒ ๋์ง๋ง ๋ถ๋ชจ ํ๋ก์ธ์ค์๋ ๋ณ๋์ ์๋ก์ด ํ๋ก์ธ์ค์ด๋ค.
- ์์ ํ๋ก์ธ์ค๊ฐ ์์๋ฐ๋ ๊ฒ
- file descriptor
- ์๊ทธ๋ ์ฒ๋ฆฌ ์ค์
- ํ๊ฒฝ ๋ณ์
2. exec()
- ๋ถ๋ชจ ํ๋ก์ธ์ค์์ fork() ์์คํ ์ฝ์ ์ฌ์ฉํ์ฌ ์์ํ๋ก์ธ์ค๋ฅผ ๋ง๋ ๋ค exec() ์์คํ ์ฝ์ ์ฌ์ฉํ๋ฉด ์๋ก์ด ํ๋ก๊ทธ๋จ์ ์คํ ์ํฌ ์ ์๋ค.
- exec()์ ์ํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ ์ธ์๋ฅผ ๋ฃ์ด ์ฃผ๋ฉด ํด๋น ํ๋ก๊ทธ๋จ์ ์ฝ๋์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ๋ค์ฌ ํ์ฌ ์คํ์ค์ธ ์์ ํ๋ก์ธ์ค์ ์ฝ๋ ์ธ๊ทธ๋จผํธ, ์ ์ ๋ฐ์ดํฐ ๋ถ๋ถ์ ๋ฎ์ด์ด๋ค. ์ถ๊ฐ๋ก ํ๊ณผ ์คํ ๋ฐ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ญ๋ค์ ์ด๊ธฐํ ๋๋ค.
3. wait()
- ํ๋ก์ธ์ค ๋๊ธฐํ๋ฅผ ์ํ ์์คํ ์ฝ
- wait() ์์คํ ์ฝ์ด ํธ์ถ๋๋ฉด ์์ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ ๋ ๋ ๊น์ง ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ์์ ์ ์คํ์ ์ค์ง ์ํจ๋ค. ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๋ฉด wait() ํจ์๊ฐ ๋ฆฌํดํ๊ณ ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ ๋ค์ ์คํ ๋๋ค.
- ์์ ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋์๋ค๋ ์ฌ์ค์ ๋ถ๋ชจํ๋ก์ธ์ค๊ฐ ์ ์ ์๊ฒ ํด์ฃผ๋ ํจ์
- ์ข๋น ํ๋ก์ธ์ค๊ฐ ์๊ธฐ๋ ๊ฒ์ ๋ง์์ค
์ข๋น ํ๋ก์ธ์ค
- ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋์์ง๋ง ์ปค๋์ ํ๋ก์ธ์ค ๊ด๋ฆฌ ์๋ฃ ๊ตฌ์กฐ์ธ ํ๋ก์ธ์ค ํ ์ด๋ธ์๋ง ๋จ์ ์๋ ์ํ
- wait()ํจ์๊ฐ ์ข ๋ฃ๋ ํ๋ก์ธ์ค๋ฅผ ํ๋ก์ธ์ค ํ ์ด๋ธ์์ ์ ๊ฑฐํจ
4. ์ fork() ํ exec() ํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ฒ ๋์์๊น?
- UNIX์์ ์์ ๊ตฌํํ๊ธฐ ์ํด์๋ fork() ์ exec()๋ฅผ ๋ถ๋ฆฌํ ์ ๋ฐ์ ์์๋๋ฐ, exec()๋ฅผ ์คํ ํ๊ธฐ์ ์คํ ํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋จ์ํ๊ฒฝ ์ค์ ์ ํด์ฃผ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ๊ฐ์ฅ ์ฌ์ด ์๋ก๋ ๋ฆฌ๋ค์ด๋ ์ , ํ์ดํ์ ๊ฐ์ ํ๋ก์ธ์ค ์ ์ถ๋ ฅ ๋ณ๊ฒฝ์ด ์๋ค.
- ์๋ก์ด ํ๋ก๊ทธ๋จ์ ์คํ ์ํค๊ธฐ์ ์ ์ ์ถ๋ ฅ ๋ณ๊ฒฝ์ ๋จผ์ ํด์ฃผ์ด์ผ ํ๋ค.
echo hello | grep "h" > out
// echo ํ๋ก์ธ์ค๋ hello๋ฅผ ํ์ดํ์ ์ถ๋ ฅํด์ผํจ
// grep ํ๋ก์ธ์ค๋ ํ์ดํ๋ก ๋ถํฐ ์
๋ ฅ์ ๋ฐ๊ณ out์ด๋ผ๋ ํ์ผ์ ์ถ๋ ฅํด์ผํจ
์ฐธ๊ณ ์๋ฃ
https://stackoverflow.com/questions/4880555/what-is-the-linux-process-table-what-does-it-consist-of
'Computer Science > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉ๋ชจ๋ฆฌ ๊ฐ์ํ - ์ฃผ์ ๋ณํ์ ์๋ฆฌ (0) | 2023.02.06 |
---|---|
CPU ๊ฐ์ํ(3) - ์ค์ผ์ค๋ฌ (2) (0) | 2023.01.30 |
CPU ๊ฐ์ํ(2) - ์ค์ผ์ค๋ฌ(1) (0) | 2023.01.29 |
CPU ๊ฐ์ํ(1) - ์ ํ์ ์ง์ ์คํ(Limited Direct Execution) (0) | 2023.01.25 |
์ด์์ฒด์ ๊ฐ์ (1) | 2023.01.17 |