5. ์ด์์ฒด์
Process์ Thread์ ์ฐจ์ด
-
ํ๋ก๊ทธ๋จ: ํ์ผ์ด ์ ์ฅ ์ฅ์น์ ์ ์ฅ๋์ด ์์ง๋ง, ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์์ง ์์ ์ ์ ์ํ์ด๋ค.
-
ํ๋ก์ธ์ค: ์ด์์ฒด์ ๋ก๋ถํฐ ์์คํ ์์์ ํ ๋น๋ฐ๋ ์์ ์ ๋จ์์ด๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ ์คํ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค(๋ ๋ฆฝ์ ์ธ ๊ฐ์ฒด)๋ฅผ ์๋ฏธํ๋ค.
ํ ๋น๋ฐ๋ ์์: CPU, ์ฃผ์ ๊ณต๊ฐ, Code, Data, Stack, Heap์ผ๋ก ๊ตฌ์ฑ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ- ํน์ง
- ํ๋ก์ธ์ค๋ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(Code, Data, Stack, Heap์ ๊ตฌ์กฐ)์ ํ ๋น๋ฐ๋๋ค.
- ํ๋ก์ธ์ค๋น ์ต์ 1๊ฐ์ ์ค๋ ๋(๋ฉ์ธ ์ค๋ ๋)๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๊ฐ ํ๋ก์ธ์ค๋ ๋ณ๋์ ์ฃผ์ ๊ณต๊ฐ์์ ์คํ๋๋ฉฐ, ํ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ์ ์ ๊ทผํ ์ ์๋ค.
- ํ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์์์ ์ ๊ทผํ๋ ค๋ฉด ํ๋ก์ธ์ค ๊ฐ์ ํต์ (IPC, Inter-Process Communication)์ ์ฌ์ฉํด์ผ ํ๋ค.
- ํน์ง
-
์ค๋ ๋: ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ์ ๋จ์์ด๋ค. ํ๋ก์ธ์ค์๋ ๋ค๋ฅธ ๋ ์์ ์คํ ๋จ์ ๊ฐ๋ ์ด๋ค.
- ํน์ง
- ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์์ ๊ฐ๊ฐ Stack ์์ญ๋ง ๋ฐ๋ก ํ ๋น๋ฐ๊ณ Code, Data, Heap ์์ญ์ ๊ณต์ ํ๋ค.
- ์ค๋ ๋๋ ํ ํ๋ก์ธ์ค ๋ด์์ ๋์๋๋ ์ฌ๋ฌ ์คํ์ ํ๋ฆ์ผ๋ก, ํ๋ก์ธ์ค ๋ด์ ์ฃผ์ ๊ณต๊ฐ์ด๋ ์์๋ค(ํ ๊ณต๊ฐ ๋ฑ)์ ๊ฐ์ ํ๋ก์ธ์ค ๋ด์ ์ค๋ ๋๋ผ๋ฆฌ ๊ณต์ ํ๋ฉด์ ์คํ๋๋ค.
- ๊ฐ์ ํ๋ก์ธ์ค ์์ ์๋ ์ฌ๋ฌ ์ค๋ ๋๋ค์ ๊ฐ์ ํ ๊ณต๊ฐ์ ๊ณต์ ํ๋ค. ๋ฐ๋ฉด์ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์๋ค.
- ํ ์ค๋ ๋๊ฐ ํ๋ก์ธ์ค ์์์ ๋ณ๊ฒฝํ๋ฉด, ๋ค๋ฅธ ์ด์ ์ค๋ ๋(sibling thread)๋ ๊ทธ ๋ณ๊ฒฝ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ๋ณผ ์ ์๋ค.
- ํน์ง
๋ฉํฐ ํ๋ก์ธ์ค vs ๋ฉํฐ ์ค๋ ๋
-
๋ฉํฐ ํ๋ก์ธ์ค: ํ๋์ ์์ฉํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๋ก ๊ตฌ์ฑํ์ฌ ๊ฐ ํ๋ก์ธ์ค๊ฐ ํ๋์ ์์ ์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ๊ฒ์ด๋ค.
- ์ฅ์
- ์ฌ๋ฌ ๊ฐ์ ์์ ํ๋ก์ธ์ค ์ค ํ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ ๋ฌธ์ ๋ก ์ธํ ์ถ๊ฐ์ ์ธ ์ํฅ์ ์๋ค.
- ๋จ์
- Context Switching ๊ณผ์ ์์ ์บ์ ๋ฉ๋ชจ๋ฆฌ ์ด๊ธฐํ ๋ฑ ๋ฌด๊ฑฐ์ด ์์ ์ด ์งํ๋๊ณ ๋ง์ ์๊ฐ์ด ์๋ชจ๋๋ ๋ฑ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
- ํ๋ก์ธ์ค๋ ๊ฐ๊ฐ์ ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ ๋น๋ฐ์๊ธฐ ๋๋ฌธ์ ํ๋์ ํ๋ก๊ทธ๋จ์ ์ํ๋ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ๋ณ์๋ฅผ ๊ณต์ ํ ์ ์๋ค.
- ์ฅ์
-
๋ฉํฐ์ค๋ ๋: ํ๋์ ํ๋ก์ธ์ค ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๋ก ๊ตฌ์ฑํ๊ณ ๊ฐ ์ค๋ ๋๋ก ํ์ฌ๊ธ ํ๋์ ์์ ์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ๊ฒ์ด๋ค.
-
์๋์ฐ, ๋ฆฌ๋ ์ค ๋ฑ ๋ง์ ์ด์์ฒด์ ๋ค์ด ๋ฉํฐ ํ๋ก์ธ์ฑ์ ์ง์ํ๊ณ ์์ง๋ง ๋ฉํฐ ์ค๋ ๋๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ๊ณ ์๋ค.
-
์ฅ์
- ํ๋ก์ธ์ค๋ฅผ ์์ฑํ์ฌ ์์์ ํ ๋นํ๋ ์์คํ ์ฝ์ด ์ค์ด๋ค์ด ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
- ์ค๋ ๋ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ๊ฐ๋จํด์ง๊ณ ์์คํ ์์ ์๋ชจ๊ฐ ์ค์ด๋ค๊ฒ ๋๋ค.
- ์ค๋ ๋ ์ฌ์ด์ ์์ ๋์ด ์์ Context Switching์ด ๋น ๋ฅด๋ค.
- ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์ Stack ์์ญ์ ์ ์ธํ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ํต์ ์ ๋ถ๋ด์ด ์ ๋ค.
-
๋จ์
- ์ฃผ์ ๊น์ ์ค๊ณ๊ฐ ํ์ํ๋ฉฐ, ๋๋ฒ๊น ์ด ๊น๋ค๋กญ๋ค.
- ๋จ์ผ ํ๋ก์ธ์ค ์์คํ ์ ๊ฒฝ์ฐ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ๊ธฐ ์ด๋ ต๋ค.
- ํ๋ก์ธ์ค ๋ฐ์์ ์ค๋ ๋ ๊ฐ๊ฐ์ ์ ์ดํ ์ ์๋ค.
- ๋ฉํฐ ์ค๋ ๋์ ๊ฒฝ์ฐ ์์ ๊ณต์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.(๋๊ธฐํ ๋ฌธ์ )
- ํ๋์ ์ค๋ ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฒด ํ๋ก์ธ์ค๊ฐ ์ํฅ์ ๋ฐ๋๋ค.
-
-
๋ฉํฐ์ค๋ ๋๋ฅผ ๋ ๋ง์ด ์ฌ์ฉํ๋ ์ด์
-
์์์ ํจ์จ์ฑ ์ฆ๋
- ํ๋ก์ธ์ค ๊ฐ์ Context Switching ์ ๋จ์ํ CPU ๋ ์ง์คํฐ ๊ต์ฒด๋ฟ๋ง ์๋๋ผ RAM๊ณผ CPU ์ฌ์ด์ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๋ฐ์ดํฐ๊น์ง ์ด๊ธฐํ๋๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
- ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ฆฝ์ ์ธ ํ๋ก์ธ์ค์ ๋ฌ๋ฆฌ ์ค๋ ๋ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ๊ฐ๋จํด์ง๊ณ ์์คํ ์์ ์๋ชจ๊ฐ ์ค์ด๋ค๊ฒ ๋๋ค.
-
์ฒ๋ฆฌ ๋น์ฉ ๊ฐ์ ๋ฐ ์๋ต ์๊ฐ ๋จ์ถ
- ์ค๋ ๋๋ Stack ์์ญ์ ์ ์ธํ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค ๊ฐ์ ํต์ (IPC)๋ณด๋ค ์ค๋ ๋ ๊ฐ์ ํต์ ์ ๋น์ฉ์ด ์ ์ผ๋ฏ๋ก ์์ ๋ค ๊ฐ์ ํต์ ์ ๋ถ๋ด์ด ์ค์ด๋ ๋ค.
- ์ค๋ ๋ ๊ฐ์ Context Switching์ด ํ๋ก์ธ์ค ์ฌ์ด์์ ๋ณด๋ค ๋ ๋น ๋ฅด๋ค.
-
- Context Switching
- CPU์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ๋์๊ฐ๋ฉด์ ์์ ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ด ๊ณผ์ ์ Context Switching๋ผ ํ๋ค.
- ๋์ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋๊ธฐ๋ฅผ ํ๋ฉด์ ํด๋น ํ๋ก์ธ์ค์ ์ํ(Context)๋ฅผ ๋ณด๊ดํ๊ณ , ๋๊ธฐํ๊ณ ์๋ ๋ค์ ์์์ ํ๋ก์ธ์ค๊ฐ ๋์ํ๋ฉด์ ์ด์ ์ ๋ณด๊ดํ๋ ํ๋ก์ธ์ค์ ์ํ๋ฅผ ๋ณต๊ตฌํ๋ ์์ ์ ๋งํ๋ค.
- ๋๊ธฐํ ๋ฌธ์ (Synchronization Issue)
- ๋ฉํฐ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๊ฐ์ ์ค๋ ๋ ์ค ์ด๋ค ๊ฒ์ด ์ด๋ค ์์๋ก ์คํ๋ ์ง ๊ทธ ์์๋ฅผ ์ ์ ์๋ค.
- ๋ง์ฝ A ์ค๋ ๋๊ฐ ์ด๋ค ์์์ ์ฌ์ฉํ๋ค๊ฐ B ์ค๋ ๋๋ก ์ ์ด๊ถ์ด ๋์ด๊ฐ ํ B ์ค๋ ๋๊ฐ ํด๋น ์์์ ์์ ํ์ ๋, ๋ค์ ์ ์ด๊ถ์ ๋ฐ์ A ์ค๋ ๋๊ฐ ํด๋น ์์์ ์ ๊ทผํ์ง ๋ชปํ๊ฑฐ๋ ๋ฐ๋ ์์์ ์ ๊ทผํ๊ฒ ๋๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ์ด๋ฌํ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์๋ ์ถฉ๋์ ๋๊ธฐํ ๋ฌธ์ ๋ผ๊ณ ํ๋ค.
์บ์์ ์ง์ญ์ฑ
-
์บ์ ๋ฉ๋ชจ๋ฆฌ: CPU์ ์ฒ๋ฆฌ ์๋์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์ฐจ์ด๋ก ์ธํ ๋ณ๋ชฉํ์์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ณ ์ ๋ฒํผ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
์ฃผ๊ธฐ์ต์ฅ์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ก์ธ์คํ๋ ค๋ฉด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ๋๋๋ฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ฐ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ค. โ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ์ฌ ์ก์ธ์ค ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํ๋ค.์ ์ค๋ฅ ์ ๊ทน๋ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ ์ง์ญ์ฑ์ ์๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค.
-
Locality(์ง์ญ์ฑ)
- ์๊ฐ์ ์ง์ญ์ฑ: CPU๊ฐ ์ต๊ทผ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
- ๊ณต๊ฐ์ ์ง์ญ์ฑ: CPU๊ฐ ์ฐธ์กฐํ ๋ฐ์ดํฐ์ ์ฃผ๋ณ์ ๋ฐ์ดํฐ ์ญ์ ์ฐธ์กฐํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
-
Hit rate(์ ์ค๋ฅ )
- CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ธฐ ์ ๋จผ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ํ๋ ๋ฐ์ดํฐ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. ์ด๋ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ค(hit), ์๋ ๊ฒฝ์ฐ๋ฅผ ์คํจ(miss)๋ผ๊ณ ํ๋ค.
์ด๋ ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐพ์ ํ๋ฅ ์ ์ ์ค๋ฅ ์ด๋ผ๊ณ ํ๋ค.
- CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ธฐ ์ ๋จผ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ํ๋ ๋ฐ์ดํฐ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. ์ด๋ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ค(hit), ์๋ ๊ฒฝ์ฐ๋ฅผ ์คํจ(miss)๋ผ๊ณ ํ๋ค.
-
Thread-safe
-
Thread-safe: ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ค ํจ์๋ ๋ณ์, ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํด๋ ํ๋ก๊ทธ๋จ ์คํ์ ๋ฌธ์ ๊ฐ ์์์ ๋ปํ๋ค. ์ฆ, ๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ๋์์ ๋์ผํ ์ฝ๋๋ฅผ ์คํ์์ผฐ์ ๋ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ ๋งํ๋ค.
-
๋ง์ฝ ๋ ์ค๋ ๋๊ฐ ๋ณ์๋ฅผ ๊ณต์ ํ๊ณ ์๋ค๋ฉด ์ผ์ ํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ์์(๋ณ์)๋ฅผ ๊ณต์ ํ์ฌ ์ฌ์ฉํ๋ ์ฝ๋ ์์ญ์
์๊ณ์์ญ(critical section)
์ด๋ผํ๊ณ ์ด ์๊ณ์์ญ์ ๋์ ์ ๊ทผ์ ๋ง๋ ๊ฒ์์ํธ ๋ฐฐ์ (mutal exclusion)
์ด๋ผ ํ๋ค.
๋ฎคํ ์ค์ ์ธ๋งํฌ์ด ์ฐจ์ด
-
์ํธ ๋ฐฐ์ (๋ฎคํ ์ค): ํ ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ ์๊ณ ์์ญ์ ์์ผ๋ฉด ๋ค๋ฅธ ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ ๋ชป ๋ค์ด์ค๋๋ก ๋ง๋ ๊ฒ์ ๋งํ๋ค. ์ํธ๋ฐฐ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ๋๋ค.
- ์๊ณ ์์ญ ์ง์ ์ ๋ค๋ฅธ ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ ์๊ณ ์์ญ์ ์์ ์๋์ง ๊ฒ์ฌํ๋ค.
- ์๋ค๋ฉด ์๊ณ ์์ญ์ ์ง์ ํ์ฌ ๊ณต์ ์์์ ์ ๊ทผํ๋ค. ์๋ค๋ฉด ๊ธฐ๋ค๋ฆฐ๋ค.
- ๋๋๋ฉด ์๊ณ ์์ญ์ ๋ฒ์ด๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ์๊ณ ์์ญ์ ๋ฒ์ด๋ฌ์์ ์๋ฆฐ๋ค.
-
์ธ๋งํฌ์ด: ํ์ฌย ๊ณต์ ์์์ ์ ๊ทผํ ์ ์๋ ์ค๋ ๋/ํ๋ก์ธ์ค์ ์๋ฅผ ๋ํ๋ด๋ ๊ฐ์ ๋์ด ์ํธ๋ฐฐ์ ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค. ๋ณ์๋ก ์์ด ์๋ ์ ์ S(์ฌ๋ฌ ๊ฐ๊ฐ ์กด์ฌ ๊ฐ๋ฅ)์, ํจ์๋ก ์ด๊ธฐํ ์ฐ์ฐ, P(๊ฒ์ฌ), V(์ฆ๊ฐ) ์ฐ์ฐ์ด ์์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ์ํ๋๋ค.
- ๋ณ์ S๋ฅผ ์ด๊ธฐํ ์ฐ์ฐ์ ํตํด ์ด๊ธฐํ ์ํจ๋ค.
- P ํจ์๋ฅผ ์คํํ์ฌ S๊ฐ 0๋ณด๋ค ํฐ์ง ๊ฒ์ฌํ๋ค.
- ๋ง์ฝ 0๋ณด๋ค ํฌ๋ค๋ฉด, S๋ฅผ 1 ๊ฐ์์ํค๊ณ ์๊ณ ์์ญ์ ์ง์ ํ์ฌ ๊ณต์ ์์์ ์ ๊ทผํ๋ค.
- ํฌ์ง ์๋ค๋ฉด, ์ค๋ ๋/ํ๋ก์ธ์ค๋ฅผ Ready Queue์ ๋ฃ์ด ๋๊ธฐ์ํจ๋ค.
- ์๊ณ ์์ญ์์ ๋์จ ์ค๋ ๋/ํ๋ก์ธ์ค๋ V ํจ์๋ฅผ ์คํํ์ฌ Ready Queue์ ์ค๋ ๋/ํ๋ก์ธ์ค๊ฐ ์๋์ง ์ฒดํฌํ๋ค. ๋ง์ฝ ์๋ค๋ฉด, ๊ทธ ์ค 1๊ฐ๋ฅผ ์๊ณ ์์ญ์ ์ง์ ์ํจ๋ค. ์๋ค๋ฉด, S๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
๊ตฌ๋ถ | ์ธ๋งํฌ์ด | ๋ฎคํ ์ค |
---|---|---|
์ฌ์ฉ๋ชฉ์ | - ์ฌ๋ฌ ์์์ ๋์ ์ ๊ทผ ์ ์ด | - ๋จ์ผ ์์์ ๋ํ ์์ ํ ๋ฐฐํ์ ์ ๊ทผ |
์ฅ์ | - ๋ณต์ ๊ฐ์ ์์์ ๋์์ ์ ์ด ๊ฐ๋ฅ - ์ด๋ฒคํธ, ์ํ ์ ๋ฌ์ ์ฉ์ด |
- ์์ ๊ถ์ด ๋ช
ํํด ๋๋ฒ๊น
๊ณผ ์ค๋จ์ฉ ๋ฐฉ์ง์ ์ ๋ฆฌ - ๋จ์ํ ๊ตฌํ, ์ฌ์ฉ๋ฒ |
๋จ์ | - ์์ ๊ถ์ด ์์ด ์ค๋จ์ฉ ๊ฐ๋ฅ์ฑ - ์นด์ดํ ๊ด๋ฆฌ๊ฐ ๋ณต์กํด ๋๋ฒ๊น ๋์ด๋ ์์น |
- ํ๋ฒ์ ํ ์ค๋ ๋๋ง ์ ๊ทผ ๊ฐ๋ฅ - ๋ค์ค ์์์ ๋์์ ์ ์ดํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ |
๋ฎคํ
์ค๋ ๋จ์ผ ์ค๋ ๋๋ง ์ ๊ทผํ๋๋ก ๋ณด์ฅ
์ธ๋งํฌ์ด๋ ์ ํด์ง ์ ๋งํผ์ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํ ์ ์๋๋ก ์ ์ด
์ค์ผ์ค๋ฌ
-
์ค์ผ์ค๋ฌ: ์์คํ ๋ด์๋ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์กด์ฌํ๋ค. ์ด ๋ ์๊ฐ(time)๊ณผ ๊ณต๊ฐ(space) ์ฆ, ์์์ ํ ๋นํ ํ๋ก์ธ์ค๋ฅผ ์ ํํ๋ ์ญํ ์ ๋งก๊ณ ์๋ค.
์์คํ ์ฑ๋ฅ ์งํ๋ก ์๋ต์๊ฐ(response time), ์์ ์ฒ๋ฆฌ๋(throughput), ์์ ํ์ฉ๋(resource utilization) ์ด ์๋ค.
์๋ต์๊ฐ(response time)
: ์์ ์์ฒญ์ผ๋ก๋ถํฐ ์๋ต์ ๋ฐ์ ๋๊น์ง์ ์๊ฐ์์ ์ฒ๋ฆฌ๋(throughput)
: ๋จ์ ์๊ฐ ๋์ ์๋ฃ๋ ์์ ์ ์์์ ํ์ฉ๋(resource time)
: ์ฃผ์ด์ง ์๊ฐ๋์ ์์์ด ํ์ฉ๋ ์๊ฐ
๋ชฉ์ ์ ๋ฐ๋ผ ์ ์ ํ ์ค์ผ์ค๋ฌ๋ฅผ ์ ํํ๋ค.
๋ฐ์ํ๋ ๋น๋์ ํ ๋นํ๋ ์์์ ๋ฐ๋ผ ์ฅ/์ค/๋จ๊ธฐ๋ก ๋๋ ์ง๋ค.
-
์ฅ๊ธฐ ์ค์ผ์ค๋ฌ
- ์์คํ
์ ์ ์ถํ ์์
์ ๊ฒฐ์ ํ๋ Job Scheduling(Job โ created)์์ ์ฌ์ฉํ๋ฉฐ, ์์คํ
๋ด์ ํ๋ก์ธ์ค ์๋ฅผ ์กฐ์ ํ๋ค.
์ด ๋ ์ค์ํ ๊ฒ์ CPU๋ I/O๋ ๋ชจ๋ ์จ์ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด์ I/O bounded์ compute-bounded ํ๋ก์ธ์ค๋ค์ ์ ์์ด์ ์ ํํด์ผ ํ๋ค.I/O Bounded ํ๋ก์ธ์ค
: I/O ๋๊ธฐ์๊ฐ์ด ๊ธด ํ๋ก์ธ์คCompute-bounded ํ๋ก์ธ์ค
: CPU ์ฌ์ฉ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค
- ์์คํ
์ ์ ์ถํ ์์
์ ๊ฒฐ์ ํ๋ Job Scheduling(Job โ created)์์ ์ฌ์ฉํ๋ฉฐ, ์์คํ
๋ด์ ํ๋ก์ธ์ค ์๋ฅผ ์กฐ์ ํ๋ค.
-
์ค๊ธฐ ์ค์ผ์ค๋ฌ
- ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๊ฒฐ์ ํ๋ Memory Allocation(suspended ready โ ready)์์ ์ฌ์ฉํ๋ค.
-
๋จ๊ธฐ ์ค์ผ์ค๋ฌ
- ํ๋ก์ธ์๋ฅผ ํ ๋น ๋ฐ์ ํ๋ก์ธ์ค๋ฅผ ๊ฒฐ์ ํ๋ Process Scheduling(ready โ running)์์ ์ฌ์ฉํ๋ฉฐ, ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ฏ๋ก ๋งค์ฐ ๋นจ๋ผ์ผ ํ๋ค.
CPU ์ค์ผ์ค๋ฌ์ ์ข ๋ฅ
-
์ค์ผ์ค๋ง ์ ์ฑ : ์ ์ /๋น์ ์ , ์ ์ / ๋์ ์ฐ์ ์์๋ก ๋๋ ์ ์๋ค.
-
๋น์ ์ ์ค์ผ์ค๋ง(Non-preemptive scheduling)
: ํ ๋น ๋ฐ์ ์์์ ์ค์ค๋ก ๋ฐ๋ฉํ ๋๊น์ง ์ฌ์ฉํ๋ค. ์ด๋ Context Switching ๋ถํ๊ฐ ์ ๋ค๋ ์ฅ์ ์ด ์์ง๋ง, ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋ค์ด์ฌ ๊ฒฝ์ฐ ์ฐ์ ์์๊ฐ ์ญ์ ๋์ด ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ ์๊ฐ์ด ๋์ด๋ ํ๊ท ์๋ต์๊ฐ์ด ์ฆ๊ฐํ๋ค๋ ๋จ์ ์ด ์๋ค. -
์ ์ ์ค์ผ์ฅด๋ง(Preemptive Scheduling)
: ํ์์ ์ํด ์์์ ๋นผ์๊ธธ ์ ์๋ค. ๋น์ ์ ์ค์ผ์ค๋ง๊ณผ ๋ค๋ฅด๊ฒ Context Switching ๋ถํ๊ฐ ํฌ์ง๋ง, ์๋ต์ฑ์ด ๋์ผ๋ฏ๋ก real-time system, time-sharing system์ ์ ํฉํ๋ค. -
์ ์ ์ฐ์ ์์(Static Priority)
: ํ๋ก์ธ์ค ์์ฑ ์ ๊ฒฐ์ ๋ ์ฐ์ ์์๊ฐ ์ ์ง๋๋ค. ์ด๋ ๊ตฌํ์ ์ฝ๊ฒ ํ๊ณ , Context Switching์ด ๋ ์ผ์ด๋๊ธฐ ๋๋ฌธ์ ๋ถํ๊ฐ ์ ๋ค. ํ์ง๋ง ์์คํ ํ๊ฒฝ ๋ณํ์ ๋ํ ๋์์ด ์ด๋ ต๋ค. -
๋์ ์ฐ์ ์์(Dynamic Priority)
: ํ๋ก์ธ์ค์ ์ํ ๋ณํ์ ๋ฐ๋ผ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ค. ๊ตฌํ์ด ๋ณต์กํ์ง๋ง ์์คํ ํ๊ฒฝ ๋ณํ์ ์ ์ฐํ๊ฒ ๋์์ด ๊ฐ๋ฅํ๋ค.
-
-
์ข ๋ฅ
-
FCFS(First Come First Service)
๋ ๋น์ ์ ์ค์ผ์ค๋ฌ๋ก,ย Ready Queue์ ๋จผ์ ๋์ฐฉํ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ค. ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ด ์ผ๊ด ์ฒ๋ฆฌ ์์คํ ์ ์ ํฉํ๋ค. ํ์ง๋ง ๋ง์ฝ ์ํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ ๋จผ์ ๋์ฐฉํ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋๊ธฐ์๊ฐ์ด ๊ธธ์ด์ง๋ Convoy Effect๋ก ์ธํด ํ๊ท ์๋ต์๊ฐ์ด ๊ธธ๋ค๋ ๋จ์ ์ด ์๋ค.- Convoy Effects : CPUย ์ฌ์ฉ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค์ ์ํด ์ฌ์ฉ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๋ค์ด ์ค๋ ๊ธฐ๋ค๋ฆฌ๋ย ํ์
-
RR(Round Robin)
์ ์ ์ ์ค์ผ์ค๋ฌ๋ก, Ready Queue์ ๋จผ์ ๋์ฐฉํ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ค๋ ์ ์์ FCFS์ ๊ฐ์ง๋งย ์์ ์ฌ์ฉ ์๊ฐ(time quantum)์ด ์๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค. ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์๊ฐ์ด ์ง๋๋ฉด ์์์ ๋ฐ๋ฉํ๊ฒ ํ์ฌ ํน์ ํ๋ก์ธ์ค์ ์์ ๋ ์ ์ ๋ฐฉ์งํ๋ค. -
SJF(Shortest Job First)
๋ ๋น์ ์ ์ค์ผ์ค๋ฌ๋ก,ย CPU burst time์ด ๊ฐ์ฅ ์์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ค. ๊ฐ์ฅ ์คํ์๊ฐ์ด ์ ์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋๊ธฐ ์๊ฐ์ ์ค์ผ ์ ์์ง๋ง, ์คํ์๊ฐ์ ์์ธกํ๋ค๋ ์ ์์ ๋นํ์ค์ ์ด๋ฉฐ ๊ณ์ํด์ ์งง์ ํ๋ก์ธ์ค๋ง ์ฒ๋ฆฌํ๋ฏ๋ก ๊ธด ํ๋ก์ธ์ค๋ ๋ค๋ก ๋ฐ๋ฆฐ๋ค๋ ๋จ์ ์ด ์๋ค. -
SRTF(Shortest Remaining Time First)
๋ ์ ์ ์ค์ผ์ค๋ฌ๋ก,ย ์์ฌ ์คํ ์๊ฐ์ด ๋ ์ ์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ค. SJF์ ์ฅ์ ์ ๊ทน๋ํ ํ์ผ๋, ํ๋ก์ธ์ค ์์ฑ ์ ์ด ์คํ ์๊ฐ ์์ธก์ด ํ์ํ๊ณ ์์ฌ ์๊ฐ์ ๊ณ์ ์ถ์ ํด์ผ ํด์ overhead๊ฐ ํฌ๊ณ ๊ตฌํ ๋ฐ ์ฌ์ฉ์ด ๋นํ์ค์ ์ด๋ค. -
Priority Scheduling
์ ๊ฐ ํ๋ก์ธ์ค์ ์ง์ ๋ ์ฐ์ ์์๋ฅผ ๊ธฐ์ค์ผ๋กย ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ค. ์ด ๋ฐฉ์์ ๋จ์ ์ ๊ณ์ํด์ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋ค์ด์ค๋ฉด ๊ทธ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ฏ๋ก ๋ฎ์ ํ๋ก์ธ์ค๋ ๋ค๋ก ๋ฐ๋ฆฌ๋ starvation ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ ์ผ์ ์๊ฐ ์ด์ ๊ธฐ๋ค๋ฆฌ๋ฉด ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ๋์ฌ์ฃผ๋ aging ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ ์ ์๋ค.
-
๋๊ธฐ์ ๋น๋๊ธฐ
-
๋๊ธฐ: ์์ฒญ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ํ์์ผ ๋ค์ ์์ฒญ์ ์งํํ๋ ๋ฐฉ์์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ๋๊น์ง ๋๊ธฐํด์ผํ๋ค. ๋๊ธฐ๋ ์ง๊ด์ ์ธ ๊ตฌ์กฐ์ด์ง๋ง ๋นํจ์จ์ ์ด๋ค.
-
๋น๋๊ธฐ: ์์ฒญ ๊ฒฐ๊ณผ์ ๊ด๊ณ ์์ด ๋ฐ๋ก ๋ค์ ์์ฒญ์ ์ํํ๊ณ , ๊ฒฐ๊ณผ๋ย
์ฝ๋ฐฑ
ย ํจ์๋ฅผ ํตํด ๋ฐ๋๋ค. ๋น๋๊ธฐ๋ ์ค๊ณ๊ฐ ๋ณต์กํ์ง๋ง ํจ์จ์ ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต
-
์ ํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต์ด ํ์ํ๋ค.
-
์ค์: ์คํ๋์ด์ผ ํ๋ ์ฌ๋ฌ ํ๋ก์ธ์ค ์ค, ๊ธฐ์กด์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ํ๋ก์ธ์ค๋ฅผ ๋ณด์กฐ ๊ธฐ์ต์ฅ์น (HDD, SSD) ๋ก ๋ณด๋ด๋ ๊ฒ์ swap-out, ๋ณด์กฐ ๊ธฐ์ต์ฅ์น์ ์๋ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ์ swap-in ์ด๋ผ๊ณ ํ๋ค. ์ด๋ค ํ๋ก์ธ์ค๋ฅผ swap-out ์ํฌ์ง์ ๋ํ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ round-robin ์ด ์๋ค.
-
์์ถ: ์ฃผ๊ธฐ์ ์ผ๋ก ์ญ์ ๊ณต๊ฐ์ ํ์ํ์ฌ, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ๋ฆฌํ๋ ๋ฐฉ์์ด๋ค. ๊ทธ๋ฌ๋ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค๋ ๋จ์ ์ด ์๋ค.
-
ํ์ด์ง: ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ์ง ์๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง๋ผ๋ ๋จ์๋ก ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋๋ ์ ํ์ด์ง์ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค. ํ๋ก์ธ์ค๊ฐ ํ์ด์ง ํฌ๊ธฐ๋ณด๋ค ํฌ๋ค๋ฉด ์ฌ๋ฌ ํ์ด์ง๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ด์ง ํฌ๊ธฐ๋ณด๋ค ์์ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋๋ฉด ๋ด๋ถ์ ์ผ๋ก ๊ณต๊ฐ์ด ๋จ๋ ๋ด๋ถ ๋จํธํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
-
์ธ๊ทธ๋ฉํ ์ด์ : ๊ธฐ๋ฅ์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ๋์ ์ธ๊ทธ๋จผํธ ๋จ์๋ก ์ผ์, ๋ถํ ํ์ฌ ์ ์ฅ๋๋ค. ์ด๋ฅผ ์ํด mapping์ ์ํด ์ธ๊ทธ๋จผํธ ํ ์ด๋ธ์ด ํ์ํ๊ณ , ํ ์ด๋ธ์๋ ์์์ฃผ์์ธ base ์ ์ต๋ ํฌ๊ธฐ์ธ limit ๊ฐ ํฌํจ๋์ด ์๋ค. โ ์ธ๋ถ ๋จํธํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
๊ฐ์๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ๋ ผ๋ฆฌ์ ๋จ์์ธ ์ธ๊ทธ๋จผํธ๋ก ๋ถํ ํด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ฌ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋ณํ์ ํ๊ฒ ๋๋ค. ๊ฐ ์ธ๊ทธ๋จผํธ๋ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์๋ค.
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
-
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ: ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ณด๋ค ํฐ ํ๋ก์ธ์ค๋ ์ด๋ป๊ฒ ํด์ผ ์คํ์ด๋ ๊น? ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก, ํ๋ก์ธ์ค์์ ํ์ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค ์คํ์ด ๊ฐ๋ฅํ๊ฒ ๋์ํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.
-
Paging(Demand Paging), Segemntation ๋ฑ์ด ์๋ค.
-
Demand Paging: ํ๋ก์ธ์ค์์ ํ์ฌ ํ์ํ ํ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ฅผ ์ํ ํ์ด์ง ํ ์ด๋ธ์ ๊ธฐ์กด์ ํ ์ด๋ธ์์ valid ์ modified ๊ฐ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ๋ค.
valid ๋ ํด๋น ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์๋์ง๋ฅผ ๋ํ๋ธ๋ค. ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ (valid == 0) ๋ฅผย page faultย ๋ผ๊ณ ํ๋ค. ์๋์ ๊ณผ์ ์ผ๋ก ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๋ค.- ํด๋น ํ์ด์ง valid bit ํ์ธ
- valid ๊ฐ 0 ์ด๋ฉด CPU ์ธํฐ๋ฝํธ, ํด๋น ISR ๋ก ์ด๋
- ISR ์์ backing store ๋ฅผ ํ์ํ์ฌ ํด๋น ํ๋ก์ธ์ค์ ํ์ด์ง ์ฐพ์
- ํด๋น ํ์ด์ง๋ฅผ ๋น ํ๋ ์์ ํ ๋น
- ํ์ด์ง ํ ์ด๋ธ ๊ฐฑ์ (valid 1 ๋ก ๋ณ๊ฒฝ)
- ๋ค์ ํ๋ก์ธ์ค ์คํ
์ฌ๋ฌ ํ๋ก์ธ์ค์ ํ์ํ ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ํจ์จ์ ์ด๋ค. ํ์ง๋ง ๊ฒฐ๊ตญ ํ์ ๋ ์์์ ์ฐ๋ค๋ณด๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฝ์ฐจ๋ ์์ ์ด ์๊ธด๋ค. ์ด ๋ ์ด๋ค ํ์ด์ง๋ฅผ ๋ด๋ฆด์งย Page Replacementย ๋ฅผ ํ๋จํด์ผ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋ ํ์ด์ง๊ฐ ๋ค์ ๋ด๋ ค๊ฐ๋ฉด victim page ๋ผ๊ณ ํ๋๋ฐ, modified bit ๋ฅผ ํ์ธํ์ฌ ํ์ด์ง๊ฐ ์์ ๋์ง ์์ (modified == 0) ํ์ด์ง ์ค ๋๋คํ๊ฒ ํน์ ๊ฐ์ฅ ๋จผ์ ์ฌ๋ผ์จ ํ์ด์ง๋ฅผ ๋ด๋ฆด ์ ์๋ค.
-
Valid bit: ํ์ฌ ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น์ด ๋์ด์๋์ง ์๋์ง๋ฅผ ํ๋จ.
Modified bit: ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฐ๋ ์ฐผ์ ๋ Page Replacement์ ๊ธฐ์ค์ด ๋๋ค. -> ์์ ๋์ง ์์(bit == 0) ํ์ด์ง ์ค ์ ํ
๋ฐ๋๋ฝ
- ๋ฐ๋๋ฝ: ๋ ๊ฐ ์ด์์ ์์
์ด ์๋ก ์๋๋ฐฉ์ ์์
์ด ๋๋๊ธฐ ๋ง์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ฌด๊ฒ๋ ์๋ฃ๋์ง ๋ชปํ๋ ์ํ๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- ์กฐ๊ฑด
- ์ํธ๋ฐฐ์ (Mutual exclusion) : ํ ํ๋ก์ธ์ค๊ฐ ์ด๋ค ์์์ ์ฌ์ฉํ๊ณ ์์ ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ๊ทธ ์์์ ์ฌ์ฉํ ์ ์์ด์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค.
- ์ ์ ๋๊ธฐ(Hold and wait) : ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์์์ ๊ฐ์ง ์ํ์์ ๋ค๋ฅธ ์์์ ๊ธฐ๋ค๋ฆฐ๋ค.
- ๋น์ ์ (No preemption) : ํ๋ก์ธ์ค๊ฐ ์ด๋ค ์์์ ์ฌ์ฉ์ ๋๋ผ ๋๊น์ง ๊ทธ ์์์ ๋บ์ ์ ์๋ค.
- ์ํ๋๊ธฐ(Circular wait) : ๊ฐ ํ๋ก์ธ์ค๋ ์ํ์ ์ผ๋ก ๋ค์ ํ๋ก์ธ์ค๊ฐ ์๊ตฌํ๋ ์์์ ๊ฐ์ง๊ณ ์๋ค.
- ๋์ ๋ฐฉ์
- ์๋ฐฉ: ์์ย
๊ต์ฐฉ์ํ์ ์กฐ๊ฑด
ย ์ค ํ๋๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ์งํ - ํํผ: ๋ถ๊ฐ์ ์ธ ๊ต์ฐฉ์ํ ํํผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
- ํ๋ณต: "๊ต์ฐฉ์ํ์ ์๋ ํ๋ก์ธ์ค๋ค์ ํ๋์ฉ ์ข ๋ฃํด๊ฐ๋ ๋ฐฉ๋ฒ"๊ณผ "์ฌ์ฉ๋๋ ์์์ด ์ ์ ํ๋ก์ธ์ค ๋ฑ์ ์์ฃผ๋ก ์์์ ์ ์ ํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ"์ ์ฌ์ฉ
- ๋ฌด์: ๋ฐ๋ก ๋ฌด์ํด๋ฒ๋ฆฌ๊ธฐ~
- ์๋ฐฉ: ์์ย
- ์กฐ๊ฑด
์ฌ์ฉ์ ์์ค ์ค๋ ๋ vs ์ปค๋ ์์ค ์ค๋ ๋
-
์ฌ์ฉ์ ์์ค ์ค๋ ๋: ์ ์ ๋ ๋ฒจ์์ ์์ฑ๋๊ณ ๋์ํ๋ ์ค๋ ๋์ด๋ค. ์ปค๋์ด ์ ๊ณตํ๋ pthread์ ๊ฐ์ย ์ค๋ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ ๋๋ฅผ ๋ง๋ค๊ณ , ์ฌ์ฉ์ ๋จ์์ ์ค๋ ๋๋ฅผ ๊ด๋ฆฌํ๋ค๋ ํน์ง์ ๊ฐ์ง๋ค.
- ์ฅ์
- ์ปค๋์ ํธ์ถํ์ง ์๊ณ ์ฌ์ฉ์ ์์ค์ ์ค๋ ๋ ์ค์ผ์ค๋ฌ๋ฅผ ์ด์ฉํด์ (์ฌ์ฉ์/์ปค๋)๋ชจ๋ ์ ํ๊ณผ Context Switch๊ฐ ์์ด, ์ธํฐ๋ฝํธ ๋ฐ์ ์์๋ ์ค๋ฒํค๋๊ฐ ์ ๋ค.
- ๋จ์
- ์คํ ์ ๋ฐ์ ๊ฑธ์น ์ค์ผ์ค๋ง ์ฐ์ ์์๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์, ๋ฌด์จ ์ค๋ ๋๊ฐ ๋จผ์ ๋์ํ ์ง ๋ชจ๋ฅธ๋ค.
- ํ๋ก์ธ์ค์ ์ํ ์ค๋ ๋ ์ค I/O ์์ ๋ฑ์ ์ํด ํ๋๋ผ๋ ๋ธ๋ฝ(block)์ด ๊ฑธ๋ฆฐ๋ค๋ฉด ์ ์ฒด ์ค๋ ๋๊ฐ ๋ธ๋ฝ๋๋ค.
- ์ฅ์
-
์ปค๋ ์์ค ์ค๋ ๋: ์ปค๋ ๋ ๋ฒจ์์ ์์ฑ๋๋ ์ค๋ ๋๋ก, ์ปค๋์ด ์ง์ ๊ด๋ฆฌํ๋ค๋ ํน์ง์ด ์๋ค. ํ๋์ ํ๋ก์ธ์ค๋ ์ ์ด๋ ํ๋์ ์ปค๋ ์ค๋ ๋๋ฅผ ๊ฐ์ง๊ฒ ๋๋ฉฐ, ํ๋ก๊ทธ๋๋จธ ์์ฒญ์ ๋ฐ๋ผ ์ค๋ ๋๋ฅผ ์์ฑํ๋๋ผ๋,ย ์ค์ผ์ค๋งํ๋ ์ฃผ์ฒด๊ฐ ์ปค๋์ด๋ฉด ์ปค๋ ๋ ๋ฒจ(Kernel Level) ์ค๋ ๋๋ผ๊ณ ํ๋ค.
- ์ฅ์
- ํ๋ก์ธ์ค์ ์ค๋ ๋๋ค์ ๋ช๋ช ํ๋ก์ธ์์ ํ๊บผ๋ฒ์ ๋์คํจ์น(dispatch) ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฉํฐํ๋ก์ธ์ ํ๊ฒฝ์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์ํ๋ค.
- ๋ค๋ฅธ ์ค๋ ๋๊ฐ ์ ์ถ๋ ฅ ์์ ์ด ๋ค ๋๋ ๋๊น์ง ๋ค๋ฅธ ์ค๋ ๋๋ฅผ ์ฌ์ฉํด ๋ค๋ฅธ ์์ ์ ์งํํ ์ ์๋ค.
- ์ปค๋์ด ๊ฐ ์ค๋ ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ปค๋์ด ์ง์ ์ค๋ ๋๋ฅผ ์ ๊ณตํด ์ฃผ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ๊ณผ ๋ค์ํ ๊ธฐ๋ฅ์ด ์ ๊ณต๋๋ค.
- ๋จ์
- ์ค์ผ์ค๋ง๊ณผ ๋๊ธฐํ๋ฅผ ์ํด ์ปค๋์ ํธ์ถํ๋๋ฐ ๋ฌด๊ฒ๊ณ ์ค๋๊ฑธ๋ฆฐ๋ค.
- ์ปค๋ ์์ค ์ค๋ ๋๋ ์ค์ผ์ค๋ง ๊ณผ์ ์์, ์ ์ฅํ ๋ด์ฉ์ ๋ค์ ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ด ํ์ํ๋ค. โ ์ฑ๋ฅ ์ ํ ์ ๋ฐ
- ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋๋ฐํ ๋ ๊ตฌํํ๊ธฐ ์ด๋ ต๊ณ ์์์ ๋ ๋ง์ด ์๋นํ๋ ๊ฒฝํฅ์ด ์๋ค.
- ์ฅ์
-
๋ฉํฐ ์ค๋ ๋ ๋ชจ๋ธ
์ฌ์ฉ์ ์์ค ์ค๋ ๋์ ์ปค๋ ์์ค ์ค๋ ๋์ ์๊ธฐํ๊ธฐ ์ ์, ๋ฉํฐ ์ค๋ ๋ ๋ชจ๋ธ์ ๋จผ์ ์ดํดํ๋ ๊ฒ์ด ์ข๋ค. ๋ฉํฐ ์ค๋ ๋ ๋ชจํ์ด ์์ ๊ฐ์ด ์กด์ฌํ๊ณ , ์ด๋ค ๋ฉํฐ ์ค๋ ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ์, ๋ค๋ฅด๊ฒ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์/์ปค๋ ์์ค ์ค๋ ๋ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. ์ถ๊ฐ์ ์ผ๋ก, ๋ค๋๋ค ๋ชจ๋ธ๊ณผ ์ผ๋์ผ ๋ชจ๋ธ๊ณผ ๋ค๋์ผ ๋ชจ๋ธ์ ๋ชจ๋ ์ฑํํ์ฌ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ์ด๋ฅผยํผํฉํ ๋ชจ๋ธ
์ด๋ผ๊ณ ํ๋ค.
-
์ฌ์ฉ์/์ปค๋ ์์ค ์ค๋ ๋ ๊ตฌ์กฐ ์ฐจ์ด
-
์ค๋ ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
- kernel์ ์ง์์์ด ์์ ํ user space์์๋ง library๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ: ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ ์์คํ ํธ์ถ์ด ์๋๋ผ ์ฌ์ฉ์ ๊ณต๊ฐ์ ์ง์ญํจ์๋ฅผ ํธ์ถํ๋ค.
- ์ด์์ฒด์ ์ ์ํด kernel space์์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ: ๋ผ์ด๋ธ๋ฌ๋ฆฌ API๋ฅผ ํธ์ถํ๋ ๊ฒ์ kernel system call์ ์ฌ์ฉํ๋ค.
์ธ๋ถ ๋จํธํ ๋ด๋ถ ๋จํธํ
-
๋ฉ๋ชจ๋ฆฌ ๋จํธํ: RAM์์ ๋ฉ๋ชจ๋ฆฌ์ ๊ณต๊ฐ์ด ์์ ์กฐ๊ฐ์ผ๋ก ๋๋์ด์ ธ ์ฌ์ฉ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กด์ฌํ์ง๋ง, ํ ๋น์ด ๋ถ๊ฐ๋ฅํ ์ํ๋ฅผ ๋งํ๋ค.
-
๋ด๋ถ ๋จํธํ(Internal Fragmentation): ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ ๋ ํ๋ก์ธ์ค๊ฐ ํ์ํ ์๋ณด๋ค ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋์ด์ ํ๋ก์ธ์ค์์ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ญ๋น ๋๋ ์ํฉ์ ๋งํ๋ค.
-
์ธ๋ถ ๋จํธํ(External Fragmentation): ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค๊ฐ์ค๊ฐ์ ์กด์ฌํด์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ถฉ๋ถํ์ง๋ง ์ค์ ๋ก ํ ๋นํ ์ ์๋ ์ํฉ์ ๋งํ๋ค. ์ด๋ ๊ฒ ์ค๊ฐ์ ๋ผ์ธ hole๋ค์ด ๋ง์์ง๋ฉด, ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ก ์ธํด, ์ด ๊ฐ์ฉ๊ณต๊ฐ์ด ์ถฉ๋ถํ๋๋ผ๋ ์๋ก์ด ํ์คํฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์ง ๋ชปํ๋ ์ํฉ์ด ์ฌ ์ ์๋ค.
-
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ๋ฒ
-
์ฐ์ํ ๋น ๋ฐฉ๋ฒ:
๊ณ ์ ๋ถํ ๋ฐฉ์
,ย๊ฐ๋ณ๋ถํ ๋ฐฉ์
์ด ์กด์ฌํ๋ค. -
๋ถ์ฐ์ํ ๋น ๋ฐฉ๋ฒ:
ํ์ด์ง ๊ธฐ๋ฒ
๊ณผย์ธ๊ทธ๋ฉํ ์ด์ ๊ธฐ๋ฒ
,ยํ์ด์ง๋ ์ธ๊ทธ๋ฉํ ์ด์ (Paged Segmentations)
๊ธฐ๋ฒ์ด ์กด์ฌํ๋ค.
-
Context Switching
-
Context Switching: ํ์ฌ ์คํ์ค์ธ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํ์ํฌ ๋ ๋ฐ์ํ๋ค.
CPU๋ ํ๋์ ํ๋ก์ธ์ค ์ ๋ณด๋ง ๊ธฐ์ตํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ํด์๋, ๊ธฐ์กด์ ์คํ์ค์ด๋ ํ๋ก์ธ์ค์ ์ํ ๋๋ ๋ ์ง์คํฐ ๊ฐ(Context)์ PCB์ ์ ์ฅํด์ผ ํ๋ค.
๊ธฐ์กด์ ๊ฐ์ ์ ์ฅํ ํ, ๋ค์ ์คํ์ํฌ ํ๋ก์ธ์ค์ ์ํ์ ๋ ์ง์คํฐ๊ฐ์ PCB์์ ์ฝ์ด์์ ๋ ์ง์คํฐ์ ์ ์ฌํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค.
- interrupt๋ ์์คํ ํธ์ถ์ ์ํด context switching ์๊ตฌ
- User Mode์์ Kernel Mode๋ก ๋ณ๊ฒฝ
- ๊ธฐ์กด ํ๋ก์ธ์ค์ ํ์ฌ context๋ฅผ PCB์ ์ ์ฅ
- ๋ค์์ ์คํํ ํ๋ก์ธ์ค์ ์ํ์ ๋ณด๋ฅผ PCB์์ ๋ณต๊ตฌํ ํ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์คํ
- Kernel Mode์์ User Mode๋ก ๋ณ๊ฒฝ
-
Context Switching์ด ๋ฐ์ํ๋ ์ํฉ
์ธํฐ๋ฝํธ ๋ฐ์ ์์ ๋ฐ์ํ๊ณ , ์ธํฐ๋ฝํธ๋ ์คํ ์ค์ธ CPU ์ฌ์ฉ ํ ๋น ์๊ฐ์ ๋ชจ๋ ์๋ชจํ๊ฑฐ๋, ์ ์ถ๋ ฅ์ ์ํด ๋๊ธฐํ๋ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ฉฐ, ํ๋ก์ธ์ค์ CPU ์ ์ด๊ถ์ด ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ์ด์๋๋ ์ํฉ์ผ๋ก ๋ณผ ์ ์๋ค.ํ๋ก์ธ์ค ์ํ์๋ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 3๊ฐ์ง ์ํ ๋ณํ์ ๋ฐ๋ผ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ค. Context Switch๋ฅผ ํ๋ ์ฃผ์ฒด๋ OS ์ค์ผ์ค๋ฌ์ด๋ค.
running
ย โยready
ready
ย โยrunning
running
ย โยwaiting
-
PCB: ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋๋ฐ ์์ด ํ์ํ ์ ๋ณด(๋ฉํ ๋ฐ์ดํฐ)๋ฅผ ๋ด๊ณ ์๋ ์ด์์ฒด์ ์ปค๋์ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
ํ๋ก์ธ์ค๊ฐ ์์ฑ๋ ๋๋ง๋ค ๊ณ ์ ์ PCB๊ฐ ์์ฑ๋๋ฉฐ, ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋๋ฉด PCB๋ ์ ๊ฑฐ๋๋ค. -
Thread ๋จ์์ Context Switching
Process๋ Thread๋ณด๋ค Context Switching ์ค๋ฒํค๋๊ฐ ํฌ๋ค. Thread๋ Stack ์์ญ์ ์ ์ธํ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
Swapping
-
์ค์ํ: ์ฃผ๊ธฐ์ต์ฅ์น(๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ)์ ์ ์ฌํ ํ๋์ ํ๋ก์ธ์ค์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น(ํ๋๋์คํฌ)์ ์ ์ฌํ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ๋ฒ์ด๋ค.
ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ธฐ ์ํด์๋, ํ๋ก์ธ์ค์ ๋ช ๋ น์ด์ ๋ช ๋ น์ด๊ฐ ์ ๊ทผํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด์์ด์ผ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด, ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์กด์ฌํ๋ ๊ธฐ์กด ํ๋ก์ธ์ค๋ฅผ backing store(ํ๋๋์คํฌ, ๋ณด์กฐ๊ธฐ์ต์ฅ์น)๋ผ๋ ๊ณต๊ฐ์ผ๋ก ๋ด๋ฆด ์ ์๋ค.(=์ซ์๋ธ๋ค) ๊ทธ๋ฆฌ๊ณ ๋ค์ ํ์ํ ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ๋ฌ์์ ์ฌ์ฉํ ์๋ ์๋ค. ํ์์๋ ๋ฐ์ดํฐ๋ฅผ backing store์ ์ ์ฅํ๋ ๊ฒ์ swap out, ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ ๊ฒ์ swap in์ด๋ผ๊ณ ํ๋ค. (๋ฉ๋ชจ๋ฆฌ ๊ธฐ์ค์ผ๋ก in, out)ย ํ๋ก์ธ์ค ๋จ์๋ก swap in, swap outํ๋ ๊ฒ์ swapping์ด๋ผ๊ณ ํ๋ค.- Backing Store: ์ค์ ์์ญ(swap area)๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ, ๋์คํฌ ๋ด์ ํ์ผ ์์คํ
๊ณผ๋ ๋ณ๋๋ก ์กด์ฌํ๋ ์ผ์ ์์ญ์ ๋งํ๋ค.
๋์คํฌ์ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ๊ณต๊ฐ์ด๋ฏ๋ก ์ ์ฅ ๊ธฐ๊ฐ์ด ์๋์ ์ผ๋ก ์งง์ ์ ์ฅ๊ณต๊ฐ์ด๋ค. ๋ค์์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ฅผ ๋ด์ ์ ์์ ๋งํผ ์ถฉ๋ถํ ํฐ ์ ์ฅ๊ณต๊ฐ์ด์ด์ผ ํ๊ณ ์ด๋ ์ ๋์ ์ ๊ทผ ์๋๊ฐ ๋ณด์ฅ๋์ด์ผ ํ๋ค๋ ํน์ง์ด ์๋ค.
์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋ ๋ง์ ํ๋ก์ธ์ค๋ฅผ ์์ฉํ ์ ์๋ค. ์ค์ํ์ ๊ฐ์ฅ ์ค์ํ ์ญํ ์ ํ๋ก์ธ์ค์ ์๋ฅผ ์กฐ์ ํ์ฌ, ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ์ ๋(degree of muliprogramming)๋ฅผ ์กฐ์ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์์ ๊ฐ์ด ํ๋ก์ธ์ค ๋จ์๋ก ์ค์ํํ๋ ํ์ค ์ค์ํ ๋ฐฉ๋ฒ์ ์ต๊ทผ์ ๋ง์ด ์ฌ์ฉ๋์ง ์๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ฅ์น ์ฌ์ด์ ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ์ด๋์ํค๋ ๊ฒ์ด ํ๋ค๊ธฐ ๋๋ฌธ์ด๋ค. ๋์ , ํ์ด์ง ๋จ์ ์ค์ํ์ ์ด์ฉํ๋ค. - Backing Store: ์ค์ ์์ญ(swap area)๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ, ๋์คํฌ ๋ด์ ํ์ผ ์์คํ
๊ณผ๋ ๋ณ๋๋ก ์กด์ฌํ๋ ์ผ์ ์์ญ์ ๋งํ๋ค.