CPU๋ ๊ทธ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด๋ค์ ์คํ
- ๋ ์ง์คํฐ : CPU ์์ ์๋ ์์ ๋ฉ๋ชจ๋ฆฌ
- ์บ์ : L1, L2 ์บ์๋ฅผ ์ง์นญํ๋ค.
- ์ฃผ๊ธฐ์ต์ฅ์น : (= ๋ฉ๋ชจ๋ฆฌ, RAM)
- ์ ์ฅ์ฅ์น(HDD SDD) : (= ๋ณด์กฐ๊ธฐ์ต์ฅ์น)
์บ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋๋
์์ ์ ์ฅ์
์ด์ ๋น ๋ฅธ ์ฅ์น์ ๋๋ฆฐ ์ฅ์น์์ ์๋ ์ฐจ์ด์ ๋ฐ๋ฅธ ๋ณ๋ชฉ ํ์์ ์ค์ด๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ
- ํ๋ก๊ทธ๋จ์ด ์ํ๋ ๋ ๋ํ๋๋ ์ง์ญ์ฑ์ ์ด์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ ๋์คํฌ์์ ์ฌ์ฉ๋์๋ ๋ด์ฉ์ ํน๋ณํ ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋ ๊ณณ์ ๋ณด๊ดํ๊ณ ๊ด๋ฆฌํจ์ผ๋ก์จ ์ด ๋ด์ฉ์ ๋ค์ ํ์๋กํ ๋ ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ฐธ์กฐํ๋๋ก ํ๋ ๊ฒ
- ๋ฉ๋ชจ๋ฆฌ์ CPU ์ฌ์ด์ ์๋ ์ฐจ์ด๊ฐ ๋๋ฌด ํฌ๊ธฐ ๋๋ฌธ์ ๋ ์ง์คํฐ ๊ณ์ธต์ ๋ฌ์ ์๋ ์ฐจ์ด ํด๊ฒฐ - ์บ์ ๊ณ์ธต
Q. ๊ทธ๋ ๋ค๋ฉด ์บ์๊ณ์ธต์ ๋๋ ๊ฒ์ด ์๋๋ผ ์บ์๋ฅผ ์ง์ ์ค์ ํด์ผ ํ ๋๋ ์ด๋ป๊ฒโฆ?
A. ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ํด์ผ ํ๋๋ฐ ๊ทธ๊ฒ์ด ๊ทผ๊ฑฐ๊ฐ ๋๋ ๊ฒ์ด ๋ฐ๋ก ์ง์ญ์ฑ
- ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ๋์ ์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ์ฐธ์กฐํ ๋ ์ผ๋ถ ํ์ด์ง๋ง ์ง์ค์ ์ผ๋ก ์ฐธ์กฐํ๋ ์ฑ์ง์ด ์๋ค๋ ์ด๋ก
- ์ค๋์ฑ(Thrashing)์ ๋ฐฉ์งํ๊ธฐ ์ํ ์ํน ์ ์ด๋ก ์ ๊ธฐ๋ฐ
- ๋ฐ๋(Denning) ๊ต์์ ์ํด ๊ตฌ์ญ์ฑ์ ๊ฐ๋ ์ด ์ฆ๋ช ๋์ผ๋ฉฐ, ์บ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ์ด๋ก ์ ๊ทผ๊ฑฐ
์ข ๋ฅ | ์ค๋ช |
---|---|
์๊ฐ์ ์ง์ญ์ฑ(Temporal Locality) | โถ ์ต๊ทผ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ์ ๊ทผํ๋ ค๋ ํน์ฑ for ๋ฌธ ๋ฐ๋ณต๋ฌธ์ i์ ๊ฐ์ ๋๋ |
๊ณต๊ฐ์ ์ง์ญ์ฑ(SpatialLocality) | โถ ์ด๋ ํ๋์ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ๋ฉด ๊ฐ์๊ณต๊ฐ์ ๊ทธ ๊ทผ์ฒ์ ํ์ด์ง๋ฅผ ๊ณ์ ์ฐธ์กฐํ ๊ฐ๋ฅ์ฑ์ด ๋์ |
- ์บ์ ํํธ(Cache Hit)
- CPU๊ฐ ์ฐธ์กฐํ๊ณ ์ ํ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์บ์์ ์กด์ฌํ๊ณ ์์ ๊ฒฝ์ฐ
- ์บ์์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ โ ๋ฐ์ดํฐ๋ฅผ ํด๋น
์ ์ด์ฅ์น
๋ฅผ ๊ฑฐ์ณ ๊ฐ์ ธ์ด(๋น ๋ฆ)
- ์บ์ ๋ฏธ์ค(Cache Miss)
- ํด๋น ๋ฐ์ดํฐ๊ฐ ์บ์์ ์๋ค๋ฉด ์ฃผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์์ด(๋๋ฆผ)
๐ ์ถ์ฒ : ๋ฉด์ ์ ์ํ cs ์ง์
- ์บ์๊ฐ ํํธ๋๊ธฐ ์ํด ๋งคํํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ฉฐ CPU์ ๋ ์ง์คํฐ์ ์ฃผ ๋ฉ๋ชจ๋ฆฌ(RAM) ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช
- ๋ ์ง์คํฐ๋ ์ฃผ ๋ฉ๋ชจ๋ฆฌ์ ๋นํด ๊ดด์ฅํ ์๊ณ ์ฃผ ๋ฉ๋ชจ๋ฆฌ๋ ํฌ๊ธฐ ๋๋ฌธ์ ์์ ๋ ์ง์คํฐ๊ฐ ์บ์ ๊ณ์ธต์ผ๋ก์จ ์ญํ ์ ์ ํด์ฃผ๋ ค๋ฉด ๋งคํ์ด ์ค์
Mapping
์ด๋ ๊ฐ์์ฃผ์์ ๋ฌผ๋ฆฌ์ฃผ์์ ๋์ ๊ด๊ณ ๋๋ ๊ฐ์ ์ฃผ์๋ก๋ถํฐ ๋ฌผ๋ฆฌ ์ฃผ์๋ฅผ ์ฐพ์๋ด๋ ์ผ์ ๋งํ๋ค.
- ์ง์ ๋งคํ, ์ฐ๊ด ๋งคํ, ์งํฉ ์ฐ๊ด ๋งคํ
์ฌ์ฉ์์ ์ปค์คํ ์ ๋ณด๋ ์ธ์ฆ ๋ชจ๋ ๊ด๋ จ ์ฌํญ๋ค์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํด์ ์ถํ ์๋ฒ์ ์์ฒญ ์ ์์ ์ ๋ํ๋ด๋ ์์ด๋ดํฐํฐ๋ ์ค๋ณต ์์ฒญ ๋ฐฉ์ง๋ฅผ ์ํด ์ฌ์ฉ
- ์ฟ ํค
- ๋ง๋ฃ๊ธฐ๊ฐ์ด
์๋
ํค-๊ฐ ์ ์ฅ์ - same site ์ต์ ์ strict๋ก ์ค์ ํ์ง ์์์ ๊ฒฝ์ฐ ๋ค๋ฅธ ๋๋ฉ์ธ์์ ์์ฒญํ์ ๋ ์๋ ์ ์ก๋๋ฉฐ, 4KB๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๊ณ ๋ง๋ฃ๊ธฐ๊ฐ์ ์ ํ ์ ์๋ค.
- ๋ก์ปฌ ์คํ ๋ฆฌ์ง
- ๋ง๋ฃ๊ธฐ๊ฐ์ด
์๋
ํค-๊ฐ ์ ์ฅ์ - 10MB๊น์ง ์ ์ฅํ ์ ์์ผ๋ฉฐ, ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์๋ ์ ์ง๋๊ณ ๋๋ฉ์ธ ๋จ์๋ก ์ ์ฅ, ์์ฑ
- ์ธ์ ์คํ ๋ฆฌ์ง
- ๋ง๋ฃ ๊ธฐํ์ด ์๋ ํค-๊ฐ ์ ์ฅ์
- ํญ ๋จ์๋ก ์ธ์ ์คํ ๋ฆฌ์ง ์์ฑํ๋ฉฐ, ํญ์ ๋ซ์ ๋ ํด๋น ๋ฐ์ดํฐ ์ญ์
- ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์คํ
๊ตฌ์ถ ์์๋ ๋ฉ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ ๋์ค(REDIS) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณ์ธต์
์บ์ฑ ๊ณ์ธต
์ผ๋ก ๋ฌ์ ์ฑ๋ฅ ํฅ์
์ด์์ฒด์ ์ ๋ํ์ ์ธ ํ ์ผ ์ค ํ๋์ธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ปดํจํฐ ๋ด์ ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ทนํ์ผ๋ก ํ์ฉํด์ผ ํจ
- ์ปดํจํฐ ์์คํ ์ ์์๋ค์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ํธ๋ฆฌํ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ๋ชจ์
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ์ํค๋ ์๊ธฐ(When), ์ ์ฌ ์์น(Where) ๋ฑ์ ์ง์ ํ์ฌ ํ์ ๋ ์ฃผ๊ธฐ์ต์ฅ์น์ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํจ
- #๋ฐ์ (Fetch), ๋ฐฐ์น(Placement), ํ ๋น(Allocation), ๊ต์ฒด(Replacemnet) ๋ฐ๋ฐฐํ ๊ต
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํ๋๋ก ์ปดํจํฐ๊ฐ ์ค์ ๋ก ์ด์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์์์ ์ถ์ํํ์ฌ ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์๋ค์๊ฒ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณด์ด๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น(ํ๋๋์คํฌ)์ ์ผ๋ถ๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ์ฉ๋์ด ์์ ์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ๋ง์น ํฐ ์ฉ๋์ ๊ฐ์ง ๊ฒ์ฒ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ
- ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฉ๋๋ณด๋ค ํฐ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด ์ฌ์ฉ
- ์ฃผ๊ธฐ์ต์ฅ์น์ ์ด์ฉ๋ฅ ๊ณผ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํจ์จ์ ๋์ผ ์ ์์
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๋ฉด ๊ฐ์๊ธฐ์ต์ฅ์น์ ์ฃผ์๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฃผ์๋ก ๋ฐ๊พธ๋ ์ฃผ์ ๋ณํ ์์ ํ์
- ๋ธ๋ก ๋จ์๋ก ๋๋์ด ์ฌ์ฉํ๋ฏ๋ก ์ฐ์ ํ ๋น ๋ฐฉ์์ ๋จํธํ ํด๊ฒฐ ๊ฐ๋ฅ
- ๋ง์ฝ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์๋ ์กด์ฌํ์ง๋ง ์ค์ ๋ฉ๋ชจ๋ฆฌ์ธ RAM์๋ ํ์ฌ ์๋ ๋ฐ์ดํฐ๋ ์ฝ๋์ ์ ๊ทผํ ๊ฒฝ์ฐ
ํ์ด์ง ๋ณผํธ
๊ฐ ๋ฐ์ - ์ค์ํ : ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋น์ฅ ์ฌ์ฉํ์ง ์๋ ์์ญ์ ํ๋๋์คํฌ๋ก ์ฎ๊ฒจ ํ์ํ ๋ ๋ค์ RAM์ผ๋ก ๋ถ๋ฌ์ ์ฌ๋ฆฌ๊ณ , ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ค์ ํ๋๋์คํฌ๋ก ๋ด๋ฆผ์ ๋ฐ๋ณตํ์ฌ RAM์ ๊ด๋ฆฌํ๋ ๊ฒ
- ํ๋ก๊ทธ๋จ ์ ์ฒด๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ ํ ๋นํ์ฌ ์ฌ์ฉํ๋ค ํ์์๋ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด๋ ๊ต์ฒด๋๋ค .
- ํ๋ก์ธ์ ํ ๋น์ด ๋๋๊ณ ์ํ ์๋ฃ๋ ํ๋ก์ธ์ค๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ก ๋ณด๋ด๊ณ (์ค์ ์์)
- ์๋กญ๊ฒ ์์ํ๋ ํ๋ก์ธ์ค๋ ์ฃผ๊ธฐ์ต์ฅ์น(๋ฉ๋ชจ๋ฆฌ)์ ์ ์ฌ(์ค์ ์ธ)
- ์ค์์์,์ค์์ธ ->์ฃผ๊ธฐ์ต์ฅ์น๊ธฐ์ค
- ํ๋ก์ธ์ค๋ ๋ฉ๋ชจ๋ฆฌ์ ์์ด์ผ ์ํ๋๋ฏ๋ก ์ผ์์ ์ผ๋ก ๋์คํฌ๋ก ์ด๋ํ๋ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ก ๋๋์์ ๋ค์ ์ํ ๊ฐ๋ฅ
ํ์ด์ง ๋ถ์ฌ ๋๋ ํ์ด์ง ํดํธ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ์ด์ง์ค์ ์ฌ์ฉ ํ์ด์ง๊ฐ ์์ ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์์คํ ์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ฝ๊ฐ ๋ค๋ฅผ ์ ์์ผ๋, ๋์ฒด๋ก๋ ๋น ํ์ด์ง๊ฐ ํ๋๋ ์๊ฑฐ๋, ๋ฏธ๋ฆฌ ์ ํ ์๋ณด๋ค ์ ์ ๋ ๋ฐ์ํ๋ค.
๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ๋ณด๊ด์ค์ธ ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ธ์ (When) ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ ์ฌํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ ๋ต
โถ ์๊ตฌ ๋ฐ์ (Demand Fetch): ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ด ํน์ ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ ๋ฑ์ ์ฐธ์กฐ๋ฅผ ์๊ตฌํ ๋ ์ ์ฌํ๋ ๋ฐฉ๋ฒ
โถ ์์ ๋ฐ์ (Anticipatory Fetch): ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ ์ํด ์ฐธ์กฐ๋ ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์์ํ์ฌ ์ ์ฌํ๋ ๋ฐฉ๋ฒ
- ์๋ก ๋ฐ์ ๋๋ ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ด๋์(Where) ์์น์ํฌ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ ๋ต
โถ ์ต์ด ์ ํฉ(First Fit): ๋น ์์ญ ์ค์์ ์ฒซ ๋ฒ์งธ ๋ถํ ์์ญ์ ๋ฐฐ์น
โถ ์ต์ ์ ํฉ(Best Fit): ๋น ์์ญ ์ค์์ ๋จํธํ๋ฅผ ๊ฐ์ ์๊ฒ ๋จ๊ธฐ๋ ๋ถํ ์์ญ์ ๋ฐฐ์น[2022.1ํ์ฐจ]
โถ ์ต์ ์ ํฉ(Worst Fit): ๋น ์์ญ ์ค์์ ๋จํธํ๋ฅผ ๊ฐ์ฅ ๋ง์ด ๋จ๊ธฐ๋ ๋ถํ ์์ญ์ ๋ฐฐ์น
#์ต์ ์
๐ ์ถ์ฒ : https://applejam34.tistory.com/4
๋ฉ๋ชจ๋ฆฌ์ ํ๋ก๊ทธ๋จ์ ํ ๋นํ ๋๋ ์์ ๋ฉ๋ชจ๋ฆฌ ์์น, ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋นํ๋๋ฐ, ์ฐ์ ํ ๋น๊ณผ ๋ถ์ฐ์ ํ ๋น์ผ๋ก ๋๋๋ค.
- ํ๋ก๊ทธ๋จ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์คํ์ํค๊ธฐ ์ํด ์ฃผ๊ธฐ์ต์ฅ์น์
์ด๋ป๊ฒ(How) ํ ๋น
ํ ์ง ์ ํจ
- ํ๋ก๊ทธ๋จ์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฐ์์ผ๋ก ํ ๋นํ๋ ๊ธฐ๋ฒ
- ๋จ์ผ ๋ถํ ํ ๋น ๊ธฐ๋ฒ
- ์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ์ด์์ฒด์ ๋ ์ฌ์ฉ์๋ก ๋๋์ด(๊ฒฝ๊ณ ๋ ์ง์คํฐ๋ก ๊ตฌ๋ถ) ์ค์ง ํ๋ช ์ ์ฌ์ฉ์๋ง์ด ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฌ์ฉ์ ์์ญ์ ์ฌ์ฉ
- ์ค๋ฒ๋ ์ด, ์ค์ํ
์ (์ ์ ) ๋ถํ ํ ๋น ๊ธฐ๋ฒ
- ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฌ์ฉ์์์ญ์ ํฌ๊ธฐ๊ฐ ๋์ผํ ํ์ด์ง๋ก ๋๋ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
๊ฐ๋ณ(๋์ ) ๋ถํ ํ ๋น ๊ธฐ๋ฒ
- ๊ณ ์ฅ๋ถํ ํ ๋น์ ๋จํธํ๋ฅผ ์ค์ด๊ธฐ ์ํ๊ฒ์ผ๋ก, ์ฃผ๊ธฐ์ต์ฅ์น์ ์ฌ์ฉ์์ญ์ ํ์ํ ๋งํผ์ ํฌ๊ธฐ๋ก ๋ถํ
- ๋จํธํ์ ์๋น๋ถ๋ถํด๊ฒฐํ๋, ์์ญ๊ณผ ์์ญ์ฌ์ด์ ๋จํธํ๊ฐ ๋ฐ์
- ๋ถ์ฐ ํ ๋น ๊ธฐ๋ฒ
- ํ๋ก๊ทธ๋จ์ ํน์ ๋จ์์ ์กฐ๊ฐ์ผ๋ก ๋๋์ด ํ ๋นํ๋ ๊ธฐ๋ฒ
#์ฐ๋จ๋ค ๋ถํ์ธ
- ํ์ด์ง(Paging) ๊ธฐ๋ฒ - ๊ณ ์ ๋ถํ
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ๋ณด๊ด๋์ด ์๋ ํ๋ก๊ทธ๋จ๊ณผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ญ์ **
๋์ผํ** ํฌ๊ธฐ๋ก ๋๋ ํ ๋๋ ์ง
ํ๋ก๊ทธ๋จ(ํ์ด์ง)์ ๋์ผํ๊ฒ ๋๋ ์ง ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ญ(ํ์ด์ง ํ๋ ์)์ ์ ์ฌ์์ผ ์คํํ๋ ๊ธฐ๋ฒ - ์ผ์ ํ ํฌ๊ธฐ๋ก ๋๋ ๋จ์๋ฅผ ํ์ด์ง(Page)๋ผ ํ๊ณ , ํ์ด์ง ํฌ๊ธฐ๋ก ์ผ์ ํ๊ฒ ๋๋์ด์ง ์ฃผ๊ธฐ์ต์ฅ์น์ ๋จ์๋ฅผ ํ์ด์ง ํ๋ ์(Page Frame)์ด๋ผ ํจ
- ์ธ๋ถ ๋จํธํ๋ ๋ฐ์ํ์ง ์์ผ๋, ๋ด๋ถ ๋จํธํ ๋ฐ์ __ 4-48
- ์ฃผ์ ๋ณํ์ ์ํด ํ์ด์ง์ ์์น ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ํ์ด์ง ๋งต ํ ์ด๋ธ(Page Map Table) ํ์ โ ํ์ด์ง ๋งต ํ ์ด๋ธ ์ฌ์ฉ์ผ๋ก ๋น์ฉ ์ฆ๊ฐ, ์ฒ๋ฆฌ ์๋ ๊ฐ์
๋จํธํ
์ฉ์ด | ์ค๋ช |
---|---|
๋ฉ๋ชจ๋ฆฌ ๋จํธํ | ๋ถํ ๋ ์ฃผ๊ธฐ์ต์ฅ์น์ ํ๋ก์ธ์ค๋ฅผ ํ ๋น, ๋ฐ๋ฉ ๊ณผ์ ์์ ์ฌ์ฉ๋์ง ๋ชปํ๊ณ ๋ญ๋น๋๋ ๊ธฐ์ต์ฅ์น๊ฐ ๋ฐ์ํ๋ ํ์ |
๋ด๋ถ ๋จํธํ | ๋ถํ ๋ ๊ณต๊ฐ์์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ ํ ๋จ์ ๊ณต๊ฐ์ผ๋ก, ๊ณ ์ ๋ถํ ํ ๋น ๋ฐฉ์ ๋๋ ํ์ด์ง ๊ธฐ๋ฒ ์ฌ์ฉ์ ๋ฐ์ํ๋ ํ์ |
2. ์ธ๊ทธ๋จผํ ์ด์ (Segmentation) ๊ธฐ๋ฒ โ |
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ๋ณด๊ด๋์ด ์๋ ํ๋ก๊ทธ๋จ์ **
๋ค์ํ** ํฌ๊ธฐ์ ๋ ผ๋ฆฌ์ ์ธ ๋จ์๋ก ๋๋ ํ
์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ์์ผ ๊ธฐ์ต๊ณต๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ์คํ์ํค๋ ๋ฐฉ๋ฒ - ๋ฉ๋ชจ๋ฆฌ ๋ถ์ฐ ํ ๋น ๊ธฐ๋ฒ ์ค ๊ฐ์๊ธฐ์ต์ฅ์น ๋ด์ ํ๋ก์ธ์ค๋ฅผ ์๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ถํ ํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ์ผ๋ก, ๋ถํ ํํ๊ฐ ๋ฐฐ์ด์ด๋ ํจ์์ ๊ฐ์ ๋ ผ๋ฆฌ์ ์ธ ๋ค์ํ ํฌ๊ธฐ์ ๊ฐ๋ณ์ ์ธ ํฌ๊ธฐ๋ก ๊ด๋ฆฌ๋๋ ๊ธฐ๋ฒ
- ๋ ผ๋ฆฌ์ ์ธ ํฌ๊ธฐ๋ก ๋๋ ๋จ์๋ฅผ ์ธ๊ทธ๋จผํธ(Segment)๋ผ๊ณ ํ๋ฉฐ, ๊ฐ ์ธ๊ทธ๋จผํธ๋ ๊ณ ์ ํ ์ด๋ฆ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง
- ๊ธฐ์ต์ฅ์น์ ์ฌ์ฉ์ ๊ด์ ์ ๋ณด์กดํ๋ ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ ๊ธฐ๋ฒ
- ์ฃผ์ ๋ณํ์ ์ํด์ ์ธ๊ทธ๋จผํธ๊ฐ ์กด์ฌํ๋ ์์น ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ์ธ๊ทธ๋จผํธ ๋งต ํ ์ด๋ธ(Segment Map Table) ํ์
- ์ธ๊ทธ๋จผํธ๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ๋ ๋ ๋ค๋ฅธ ์ธ๊ทธ๋จผํธ์๊ฒ ํ ๋น๋ ์์ญ์ ์นจ๋ฒํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ํด ๊ธฐ์ต์ฅ์น ๋ณดํธํค(Storage Protection Key)๊ฐ ํ์
- ๋ด๋ถ ๋จํธํ๋ ๋ฐ์ํ์ง ์์ผ๋, ์ธ๋ถ ๋จํธํ ๋ฐ์ __ 4-48
์ด๋ฏธ ์ฌ์ฉ๋๊ณ ์๋ ์์ญ ์ค์์ ์ด๋(Who) ์์ญ์ ๊ต์ฒดํ ์ง ๊ฒฐ์ ํ๋ ์ ๋ต, ๊ฐ์ฉ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ
#FIFO, LRU, LFU, NUR, OPT, SCR
โถ FIFO(First In First Out) = FCFS(First Come First Serve)
- ๊ฐ ํ์ด์ง๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ๋ ๋๋ง๋ค ๊ทธ๋์ ์๊ฐ์ ๊ธฐ์ต์์ผ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์์ ๊ฐ์ฅ ์ค๋ ์์๋ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ๋ฒ
๐ ์ฐธ๊ณ : https://velog.io/@infoqoch/์ด์์ฒด์ -๋ ผ๋ฆฌ-๋ฉ๋ชจ๋ฆฌ์-ํ์ด์งํดํธ
โถ LRU(Least Recently Used)
- ์ต๊ทผ์ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ๋ฒ
- ๊ฐ์ฅ ์ค๋ ์ ์ ์ฌ์ฉ๋ ํ์ด์ง ๊ต์ฒด
โถ LFU(Least Frequently Used)
- ์ฌ์ฉ ๋น๋๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ๋ฒ, ์ฐธ์กฐํ์๊ฐ ๊ฐ์ฅ ์ ์ ๊ฒ์ ๊ต์ฒด
โถ OPT(OPTimal replacement, ์ต์ ๊ต์ฒด)
- ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ๋ฒ
- ๋ฒจ๋ ์ด๋(Belady)๊ฐ ์ ์ํ ๊ฒ์ผ๋ก, ํ์ด์ง ๋ถ์ฌ ํ์๊ฐ ๊ฐ์ฅ ์ ๊ฒ ๋ฐ์ํ๋ ๊ฐ์ฅ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ
โถ NUR(Not Used Recently)
- LRU์ ๋น์ทํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ต๊ทผ์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ๋ฒ
- ๊ฐ ํ์ด์ง๋ง๋ค ๋ ๊ฐ์ ๋นํธ, ์ฆ ์ฐธ์กฐ ๋นํธ์ ๋ณํ ๋นํธ ์ฌ์ฉ
์ฐธ์กฐ ๋นํธ | 0 | 0 | 1 | 1 |
---|---|---|---|---|
๋ณํ ๋นํธ | 0 | 1 | 0 | 1 |
๊ต์ฒด ์์ | 1 | 2 | 3 | 4 |
โถ SCR(Second Chance Replacement, 2์ฐจ ๊ธฐํ ๊ต์ฒด)
- ๊ฐ์ฅ ์ค๋ซ๋์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์๋ ํ์ด์ง ์ค ์์ฃผ ์ฌ์ฉ๋๋ ํ์ด์ง์ ๊ต์ฒด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ฒ์ผ๋ก, FIFO ๊ธฐ๋ฒ์ ๋จ์ ์ ๋ณด์ํ๋ ๊ธฐ๋ฒ
โถ ํ์ด์ง ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ
- ํ์ด์ง ๋จํธํ๊ฐ ๊ฐ์๋๊ณ , ํ ๊ฐ์ ํ์ด์ง๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ด๋ํ๋ ์๊ฐ์ด ์ค์ด๋ฌ
- ๋ถํ์ํ ๋ด์ฉ์ด ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ๋ ํ๋ฅ ์ด ์ ์ผ๋ฏ๋ก ํจ์จ์ ์ธ ์ํน ์ ์ ์ง ๊ฐ๋ฅ
- Locality์ ๋ ์ผ์นํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์ต์ฅ์น ํจ์จ ๋์์ง
- ํ์ด์ง ์ ๋ณด๋ฅผ ๊ฐ๋ ํ์ด์ง ๋งต(์ฌ์) ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๊ณ , ๋งคํ ์๋๊ฐ ๋ฆ์ด์ง
- ๋์คํฌ ์ ๊ทผ ํ์๊ฐ ๋ง์์ ธ์ ์ ์ฒด์ ์ธ ์ , ์ถ๋ ฅ ์๊ฐ์ ๋์ด๋จ
โถ ํ์ด์ง ํฌ๊ธฐ๊ฐ ํด ๊ฒฝ์ฐ
- ํ์ด์ง ๋จํธํ๊ฐ ์ฆ๊ฐ๋๊ณ , ํ ๊ฐ์ ํ์ด์ง๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ด๋ํ๋ ์๊ฐ์ด ๋์ด๋จ
- ๋ถํ์ํ ๋ด์ฉ๊น์ง๋ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ๋ ์ ์์
- ํ์ด์ง ์ ๋ณด๋ฅผ ๊ฐ๋ ํ์ด์ง ๋งต(์ฌ์) ํ ์ด๋ธ์ ํฌ๊ธฐ๊ฐ ์์์ง๊ณ , ๋งคํ ์๋๊ฐ ๋นจ๋ผ์ง
- ๋์คํฌ ์ ๊ทผ ํ์๊ฐ ์ค์ด๋ค์ด ์ ์ฒด์ ์ธ ์ , ์ถ๋ ฅ ํจ์จ์ฑ์ด ์ฆ๊ฐ๋จ
๐ ์ถ์ฒ : https://blog.skby.net/์ค๋ ์ฑ-thrashing/
Page Fault๊ฐ ์ฐ์์ ์ผ๋ก ๋ฐ์ํ์ฌ ํ๋ก์ธ์ค ์ํ์๊ฐ๋ณด๋ค ํ์ด์ง ๊ต์ฒด ์๊ฐ์ด ๋ง์ ์ํ
- ๋ฉ๋ชจ๋ฆฌ์ ๋๋ฌด ๋ง์ ํ๋ก์ธ์ค๊ฐ ๋์์ ์ฌ๋ผ๊ฐ๊ฒ ๋๋ฉด ์ค์ํ์ด ๋ง์ด ์ผ์ด๋์ ๋ฐ์
- ํ์ด์ง ํดํธ๊ฐ ์ผ์ด๋๋ฉด CPU ์ด์ฉ๋ฅ ์ด ๋ฎ์์ง๋ค.
- CPU ์ด์ฉ๋ฅ ์ด ๋ฎ์์ง๋ฉด ์ด์์ฒด์ ๋ CPU๊ฐ ํ๊ฐํ ์ค ์๊ณ ๊ฐ์ฉ์ฑ์ ๋์ด๊ธฐ ์ํด ๋ ๋ง์ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ฒ ๋๋ฉฐ ์ค๋ ์ฑ ๋ฐ์
- ๋ถ์ ์ ํ ํ์ด์ง ๊ต์ฒด ์ ์ฑ
- ์์คํ ๋ฆฌ์์ค ๋ถ์กฑ
- ํ๋ก๊ทธ๋จ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ค
- ํ๋ก์ธ์ค๊ฐ ์ผ์ ์๊ฐ ๋์ ์์ฃผ ์ฐธ์กฐํ๋ ํ์ด์ง๋ค์ ์งํฉ
- ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ฃผ์ํด์ผ๋ก์จ ํ์ด์ง ๋ถ์ฌ ๋ฐ ํ์ด์ง ๊ต์ฒด ํ์์ด ์ค์ด๋ค์ด ํ๋ก์ธ์ค์ ๊ธฐ์ต์ฅ์น ์ฌ์ฉ์ด
์์
๋จ - ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์์ฃผ ์ฐธ์กฐํ๋ ํ์ด์ง๋ค์ ์งํฉ์ด ๋ณํํ๊ธฐ ๋๋ฌธ์ ์ํน ์ ์ ์๊ฐ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋จ
์ค๋ ์ฑ ์๋ฐฉ์ ์ํ ์ง์ ์ก์ธ์ค ๋ฐฉ์ ํ์ด์ง ๋ถ์ฌ ๋น๋(PFF; Page Fault Frequency) ๋ฐฉ์
- ํ์ด์ง ๋ถ์ฌ์จ์ ๋ฐ๋ผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์๋ ํ์ด์ง ํ๋ ์์ ์๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ ํ์ด์ง ๋ถ์ฌ์จ์ ์ ์ ์์ค์ผ๋ก ์ ์งํ๋ ๋ฐฉ์
- ํ์ด์ง ๋ถ์ฌ(Page Fault)๋ ํ๋ก์ธ์ค ์คํ ์ ์ฐธ์กฐํ ํ์ด์ง๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น์ ์๋ ํ์์ด๋ฉฐ, ํ์ด์ง ๋ถ์ฌ ๋น๋๋ ํ์ด์ง ๋ถ์ฌ๊ฐ ์ผ์ด๋๋ ํ์๋ฅผ ์๋ฏธํจ
- ํ์ด์ง ๋ถ์ฌ์จ์ ์ํ๊ณผ ํํ์ ์ ํด ์ง์ ์ ์ผ๋ก ํ์ด์ง ๋ถ์ฌ์จ์ ์์ธกํ๊ณ ์กฐ์ ํ๋ ๊ธฐ๋ฒ
- ์ฒ์์ ๊ณผ๋ํ ํ์ด์ง ๋ถ์ฌ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ํ ๊ฒ ๊ฐ์ ๋ชจ๋ ํ์ด์ง๋ฅผ ๋ฏธ๋ฆฌ ํ๊บผ๋ฒ์ ํ์ด์ง ํ๋ ์์ ์ ์ฌํ๋ ๊ธฐ๋ฒ
โ ๊ธฐ์ต์ฅ์น์ ๋ค์ด์จ ํ์ด์ง๋ค ์ค์์ ์ฌ์ฉ๋์ง ์๋ ํ์ด์ง๊ฐ ๋ง์ ์๋ ์์
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ์ ๋๋ฅผ ์ ์ ์์ค์ผ๋ก ์ ์ง โ
- ํ์ด์ง ๋ถ์ฌ ๋น๋(Page Fault Frequency)๋ฅผ ์กฐ์ ํด ์ฌ์ฉ
- ์ํน ์ธํธ(Working Set)์ ์ ์งํจ
- ๋ถ์กฑํ ์์์ ์ฆ์คํ๊ณ , ์ผ๋ถ ํ๋ก์ธ์ค๋ฅผ ์ค๋จ์ํด
- ๊ฐ ํ๋ก์ธ์ค๊ฐ ํ์๋ก ํ๋ ํ๋ ์ ์ ๊ณต[2021.5]