728x90
- ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋ ๊ฐ์ง ๋ฌธ์ ์
- ์ธ๋ถ ๋จํธํ
- ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ํ๋ก์ธ์ค ์คํ ๋ถ๊ฐ
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
- ์คํํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ์ฌ, ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋ค ๋ ํฐ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์๊ฒ ํ๋ ๊ธฐ์
- ํ์ด์ง, ์ธ๊ทธ๋ฉํ ์ด์
1. ํ์ด์ง์ด๋
- ์ธ๋ถ ๋จํธํ๊ฐ ๋ฐ์ํ๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ?
- ๊ฐ๊ธฐ ๋ค๋ฅธ ํฌ๊ธฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ํ ๋น๋์๊ธฐ ๋๋ฌธ
- ๊ทธ๋ฌ๋ฉด, ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํฌ๊ธฐ๋ก ์๋ฅด๊ณ , ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฐ์์ ์ผ๋ก ํ ๋นํ ์ ์๋ค๋ฉด ์ด๋จ๊น? → ์ธ๋ถ ๋จํธํ๋ ๋ฐ์ํ์ง ์๊ฒ ์ฃ !
- ํ์ด์ง: paging
- ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ์ ํ์ด์ง(page)๋ผ๋ ์ผ์ ๋จ์๋ก ์๋ฅด๊ณ ,
- ๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ์ ํ๋ ์(frame)์ด๋ผ๋ ํ์ด์ง์ ๋์ผํ ์ผ์ ํ ๋จ์๋ก ์๋ฅธ ๋ค
- ํ์ด์ง๋ฅผ ํ๋ ์์ ํ ๋นํ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ
- ํ์ด์ง์์์ ์ค์ํ
- ํ๋ก์ธ์ค ๋จ์์ ์ค์ ์ธ, ์ค์ ์์์ด ์๋ ํ์ด์ง ๋จ์์ ์ค์ ์ธ(ํ์ด์ง ์ธ), ์ค์ ์์(ํ์ด์ง ์์)
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ์๊ฐ ์๋ ํ์ด์ง๋ค์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ก ์ค์ ์์
- ์คํ์ ํ์ํ ํ์ด์ง๋ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ค์ ์ธ
- ํ์ด์ง ์ธ์์์ด ์์ฌํ๋ ์ : ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ํด์ ๋ชจ๋ ํ์ด์ง๊ฐ ์ ๋ถ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด์์ ํ์๋ ์๋ค๋ ์
- ๋ฌ๋ฆฌ ๋งํด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ํ๋ก์ธ์ค๋ ์คํ๋ ์ ์๋ค
- ๋ฌธ์ !!
- ํ๋ก์ธ์ค๋ฅผ ์ด๋ฃจ๋ ํ์ด์ง๊ฐ ์ด๋ ํ๋ ์์ ์ ์ฌ๋์ด ์๋์ง CPU๊ฐ ์ผ์ผ์ด ์๊ธฐ๋ ์ด๋ ต๋ค
- ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋์ด ์๋ค๋ฉด CPU์ ์ฅ์์ ์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ ์๊ฐ ์์
- CPU ์ ์ฅ์์ ‘๋ค์์ ์คํํ ๋ช ๋ น์ด ์์น’๋ฅผ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์์ง
- → ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ: ํ์ด์ง ํ ์ด๋ธ
2. ํ์ด์ง ํ ์ด๋ธ
- (์ค์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฃผ์์ธ) ๋ฌผ๋ฆฌ ์ฃผ์์ ๋ถ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋๋ผ๋
- (CPU๊ฐ ๋ฐ๋ผ๋ณด๋ ์ฃผ์์ธ) ๋ ผ๋ฆฌ ์ฃผ์์๋ ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋๋ก ํ๋ ๋ฐฉ๋ฒ
- ํ์ด์ง ๋ฒํธ์ ํ๋ ์ ๋ฒํธ๋ฅผ ์ง์ง์ด ์ฃผ๋ ์ผ์ข ์ ์ด์ ํ
- ํ๋ก์ธ์ค๋ง๋ค ํ์ด์ง๊ฐ ์๊ณ , ํ์ด์ง ํ ์ด๋ธ์ด ์๋ค
- ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ถ์ฐ๋์ด ์ ์ฅ๋์ด ์๋๋ผ๋ CPU ์ ์ฅ์์ ๋ฐ๋ผ๋ณธ ๋ ผ๋ฆฌ ์ฃผ์๋ ์ฐ์์ ์ผ๋ก ๋ณด์
- CPU๋ ๊ทธ์ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ๋ฉด ๋ ๋ฟ
- ํ์ด์ง ํ ์ด๋ธ์ ํตํด ์ธ๋ถ ๋จํธํ๋ฅผ ํด๊ฒฐํ ์ ์์ง๋ง, ๋ด๋ถ ๋จํธํ๋ผ๋ ๋๋ค๋ฅธ ๋ถ์์ฉ์ ์ผ๊ธฐํ ์ ์์
3. ๋ด๋ถ ๋จํธํ
- ํ์ด์ง ํฌ๊ธฐ๊ฐ 10KB, ํ๋ก์ธ์ค ํฌ๊ธฐ 108KB?
- 2KB: ๋ด๋ถ ๋จํธํ
- ํ๋์ ํ์ด์ง ํฌ๊ธฐ๋ณด๋ค ์์ ํฌ๊ธฐ๋ก ๋ฐ์(ํ์ด์ง์ ํ๋ก์ธ์ค ํฌ๊ธฐ๊ฐ ๋ฐฐ์์ ํฌ๊ธฐ๊ฐ ์๋ ๊ฒฝ์ฐ)
4. PTBR
- ํ๋ก์ธ์ค๋ง๋ค ํ์ด์ง ํ ์ด๋ธ์ด ์๊ณ , ๊ฐ ํ์ด์ง ํ ์ด๋ธ์ CPU ๋ด์ ํ๋ก์ธ์ค ํ ์ด๋ธ ๋ฒ ์ด์ค ๋ ์ง์คํฐ(PTBR)๊ฐ ๊ฐ๋ฆฌํจ๋ค.
- ๊ทธ๋ฐ๋ฐ, ํ์ด์ง ํ ์ด๋ธ์ด ๋ฉ๋ชจ๋ฆฌ์ ์์ผ๋ฉด? ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๊ฐ ๋ ๋ฐฐ๋ก
- ํ์ด์ง ํ ์ด๋ธ ์ฐธ์กฐํ๊ธฐ ์ํด ํ ๋ฒ, ํ์ด์ง ์ฐธ์กฐํ๊ธฐ ์ํด ํ ๋ฒ
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฒ์ด TLB
5. TLB
- TLB: CPU ๊ณ์ ํ์ด์ง ํ ์ด๋ธ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ
- ํ์ด์ง ํ ์ด๋ธ์ ์ผ๋ถ๋ฅผ ๊ฐ์ ธ์ ์ ์ฅ
- CPU๊ฐ ์ ๊ทผํ๋ ค๋ ๋ ผ๋ฆฌ ์ฃผ์๊ฐ TLB์ ์๋ค๋ฉด? TLB ํํธ (๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํ ๋ฒ)
- CPU๊ฐ ์ ๊ทผํ๋ ค๋ ๋ ผ๋ฆฌ ์ฃผ์๊ฐ TLB์ ์๋ค๋ฉด TLB ๋ฏธ์ค (๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๋ ๋ฒ)
6. ํ์ด์ง์์์ ์ฃผ์ ๋ณํ
- ํน์ ์ฃผ์์ ์ ๊ทผํ๊ณ ์ ํ๋ค๋ฉด ์ด๋ค ์ ๋ณด๊ฐ ํ์ํ ๊น?
- ์ด๋ค ํ์ด์ง/ํ๋ ์์ ์ ๊ทผํ๊ณ ์ถ์์ง
- ์ ๊ทผํ๋ ค๋ ์ฃผ์๊ฐ ๊ทธ ํ์ด์ง ํน์ ํ๋ ์์ผ๋ก๋ถํฐ ์ผ๋ง๋ ๋ฉ์ด์ ธ ์๋์ง
- ํ์ด์ง ์์คํ
์์์ ๋
ผ๋ฆฌ ์ฃผ์
- ํ์ด์ง ๋ฒํธ(page number)์ ๋ณ์(offset)
- <ํ์ด์ง ๋ฒํธ, ๋ณ์> ๋ก ์ด๋ฃจ์ด์ง ๋ ผ๋ฆฌ ์ฃผ์๋ ํ์ด์ง ํ ์ด๋ธ์ ํตํด <ํ๋ ์ ๋ฒํธ, ๋ณ์> ๋ก ๋ณํ๋๋ค
7. ํ์ด์ง ํ ์ด๋ธ ์ํธ๋ฆฌ
ํ์ด์ง ํ ์ด๋ธ์ ๊ฐ๊ฐ์ ํ: ํ์ด์ง ํ ์ด๋ธ ์ํธ๋ฆฌ(PTE)
ํ์ฌ๊น์ง ์ค๋ช ํ PTE๋ "ํ์ด์ง ๋ฒํธ", "ํ๋ ์ ๋ฒํธ"์์
- ์ด์ธ์ ๋ด๊ธฐ๋ ์ ๋ณด๋? ์ด์์ฒด์ ๋ง๋ค ์ฐจ์ด๊ฐ ์์
- ์ ํจ ๋นํธ
- ํ์ฌ ํด๋น ํ์ด์ง์ ์ ๊ทผ ๊ฐ๋ฅํ์ง ์ฌ๋ถ
- ํ์ฌ ํ์ด์ง๊ฐ ์ค์์์ญ์ ์๋์ง, ๋ฉ๋ชจ๋ฆฌ์ ์๋์ง์ ์ฌ๋ถ๋ฅผ ์ ์ ์์
- 1์ด๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ ์ฌ, 0์ด๋ฉด ๋ณด์กฐ๊ธฐ์ต์ฅ์น-์ค์์์ญ์ ์ ์ฌ
- ๋ง์ฝ ์ ํจ๋นํธ๊ฐ 0์ธ ํ์ด์ง์ ์ ๊ทผํ๋ ค๊ณ ํ๋ฉด?
- ํ์ด์ง ํดํธ(page fault)๋ผ๋ ์ธํฐ๋ฝํธ ๋ฐ์
- CPU๋ ๊ธฐ์กด์ ์์ ๋ด์ญ์ ๋ฐฑ์ ํฉ๋๋ค.
- ํ์ด์ง ํดํธ ์ฒ๋ฆฌ ๋ฃจํด์ ์คํํฉ๋๋ค.
- ํ์ด์ง ์ฒ๋ฆฌ ๋ฃจํด์ ์ํ๋ ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์จ ๋ค ์ ํจ ๋นํธ๋ฅผ 1๋ก ๋ณ๊ฒฝํด ์ค๋๋ค.
- ํ์ด์ง ํดํธ๋ฅผ ์ฒ๋ฆฌํ๋ค๋ฉด ์ด์ CPU๋ ํด๋น ํ์ด์ง์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค.
- ํ์ด์ง ํดํธ(page fault)๋ผ๋ ์ธํฐ๋ฝํธ ๋ฐ์
- ๋ณดํธ ๋นํธ
- ํ์ด์ง ๋ณดํธ ๊ธฐ๋ฅ์ ์ํด ์กด์ฌํ๋ ๋นํธ
- ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์คํ ๋ฑ ๊ถํ์ ๋๋์ด์ ์ค์
- ์ฐธ์กฐ ๋นํธ
- CPU๊ฐ ์ด ํ์ด์ง์ ์ ๊ทผํ ์ ์ด ์๋์ง ์ฌ๋ถ
- ์์ ๋นํธ(dirty bit)
- CPU๊ฐ ์ด ํ์ด์ง์ ๋ฐ์ดํฐ๋ฅผ ์ด ์ ์ด ์๋์ง ์ฌ๋ถ
- ์์ ๋นํธ์ ์กด์ฌ ์ด์ ?
์์ ๋ ํ์ด์ง๋ ์ค์ ์์๋ ๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์๋ ์ฐ๊ธฐ ์์ ์ ๊ฑฐ์ณ์ผ ํ๋ค.(๋ณ๊ฒฝ ๋ด์ญ์ ๋ฐ์ํด์ผํ๋ค) -
- ์ ํจ ๋นํธ
ใํผ์ ๊ณต๋ถํ๋ ์ปดํจํฐ ๊ตฌ์กฐ+์ด์์ฒด์ ใ ๊ฐ์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ๊ธ์ ๋๋ค
728x90
'๐ ๏ธ OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] 15. ํ์ด์ง์ ์ด์ ๊ณผ ๊ณ์ธต์ ํ์ด์ง (0) | 2024.03.12 |
---|---|
[OS] 14. ํ์ด์ง ๊ต์ฒด์ ํ๋ ์ ํ ๋น (0) | 2024.03.08 |
[OS] 12. ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น (0) | 2024.03.03 |
[OS] 11. ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ | ์๋ฐฉ | ํํผ | ๊ฒ์ถ ํ ํ๋ณต (0) | 2024.02.29 |
[OS] 10. ๊ต์ฐฉ ์ํ | ๋ฐ๋๋ฝ (0) | 2024.02.28 |