Q1. ๋๊ธฐํ๊ฐ ๋ฌด์์ธ๊ฐ์
์ด๋ค ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ์ฌ๋ฌ ํ๋ก์ธ์ค๋ค์ด ํ๋ ฅํ๋ฉฐ ์คํ๋๋ค.
ํ๋ก์ธ์ค ๋๊ธฐํ๋, ์ด๋ฐ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ.
(ํ๋ก์ธ์ค ๋ฟ๋ง ์๋๋ผ ์ค๋ ๋๋ ๋๊ธฐํ ๋์์ด๋ค.)
ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ค๋ ๊ฒ์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ฅผ ์๋ฏธํ๋ค.
1) ์คํ ์์ ์ ์ด : ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ์คํํ๊ธฐ
2) ์ํธ ๋ฐฐ์ : ๋์์ ์ ๊ทผํด์๋ ์๋๋ ์์์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผํ๊ฒ ํ๊ธฐ
Q2. ๋๊ธฐํ๊ฐ ์ ํ์ํ๊ฐ์? (ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐํํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ค)
๋๊ธฐํ์ ๋ชฉ์ ์ ํฌ๊ฒ 1. ์คํ ์์ ์ ์ด, 2. ์ํธ ๋ฐฐ์ ๋ผ๊ณ ํ๋ค.
๋๊ธฐํํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ค๋ก ๋๊ธฐํ๊ฐ ํ์ํ ์ด์ ๋ฅผ ์ค๋ช ํ๊ฒ ๋ค.
์คํ ์์๋ฅผ ์ ์ดํ์ง ์์ผ๋ฉด, ์ฐ๊ธฐ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ธฐ ์ ์ ์ฝ๊ธฐ ํ๋ก์ธ์ค๊ฐ ์คํ๋์ด ๋ณ๊ฒฝ๋ ๊ฐ์ ์ฝ์ด์ค์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
๋ ๋ค๋ฅธ ์์๋ก ํ๋ก์ธ์ค A๊ฐ ์์ก์ 2๋ง์์ ๋ํ๊ณ , ํ๋ก์ธ์ค B๊ฐ ์์ก์ 5๋ง์์ ๋ํ๋ค๊ณ ํ ๋, ํ๋ก์ธ์ค A๊ฐ ๋๋๊ธฐ๋ ์ ์ ํ๋ก์ธ์ค B๊ฐ '์์ก'์ด๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ค๋ฉด, ์ต์ข ์ ์ผ๋ก 5๋ง์๋ง ๋ํด์ ธ ์์ ๊ฒ์ด๋ค.
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋๊ธฐํ๊ฐ ํ์ํ๋ค.
Q3. ์์ฐ์์ ์๋น์ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ๊ฐ์
10์ด๋ผ๋ ์ดํฉ์ด ์์ ๋, ์์ฐ์๋ 10์์ 1์ ๋ํ๋ ํ๋ก์ธ์ค์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์๋น์๋ 10์์ 1์ ๋นผ๋ ํ๋ก์ธ์ค๋ผ๊ณ ๊ฐ์ ํ๋ค. ์ด ์ํฉ์์ ์์ฐ์๋ฅผ 10๋ง๋ฒ, ์๋น์๋ฅผ 10๋ง๋ฒ ๋์์ ์ํํ๋ค๊ณ ํ์.
์คํ ๊ฒฐ๊ณผ, ๋นผ๊ณ ๋ํ๋ ๊ฒ์ ๋ฐ๋ณตํ๋ ์ดํฉ์ ๊ทธ๋๋ก 10์ผ๊ฒ์ ์์ํ์ง๋ง.. ์๋๋ค.
์์ฐ์์ ์๋น์๋ '์ดํฉ'์ด๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ฌ์ฉํ๋๋ฐ, ์๋น์๊ฐ ์์ฐ์์ ์์ ์ด ๋๋๊ธฐ ์ ์ ์ดํฉ์ ์์ ํ๊ฑฐ๋, ์์ฐ์๊ฐ ์๋น์์ ์์ ์ด ๋๋๊ธฐ ์ ์ ์ดํฉ์ ์์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฑํ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ด๋ ๊ณต์ ์์์ ๋ ๊ฐ ์ด์์ ํ๋ก์ธ์ค๊ฐ ๋์์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์ ์ด๋ค.
Q4. ๊ณต์ ์์๊ณผ ์๊ณ ๊ตฌ์ญ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ๊ฐ์
๊ณต์ ์์ : ์ฌ๋ฌ ํ๋ก์ธ์ค๋ค์ด ๊ณต๋์ผ๋ก ์ด์ฉํ๋ ์์. (์ ์ญ๋ณ์๊ฐ ๋ ์๋ ์๊ณ , ํ์ผ์ด ๋ ์๋ ์๋ค.)
์๊ณ ๊ตฌ์ญ : ๊ณต์ ์์์ ์ ๊ทผํ๋ ์ฝ๋ ์ค ๋์์ ์คํํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ฝ๋ ์์ญ.
Q5. ์๊ณ ๊ตฌ์ญ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ธ ๊ฐ์ง ์์น
1) ์ํธ ๋ฐฐ์ (mutual exclusion) : ํ ํ๋ก์ธ์ค๊ฐ ์๊ณ ๊ตฌ์ญ์ ์ง์ ํ๋ค๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ๊ธฐ๋ค๋ ค์ผ ํ๋ค
2) progress : ์๊ณ ๊ตฌ์ญ์ ์ด๋ค ํ๋ก์ธ์ค๋ ์ง์ ํ์ง ์์๋ค๋ฉด, ์ง์ ํ๊ณ ์ ํ๋ ์ด๋ค ํ๋ก์ธ์ค๋ ์ง์ ํ ์ ์์ด์ผ ํ๋ค
3) ์ ํ ๋๊ธฐ (bounded waiting) : ์๊ณ ๊ตฌ์ญ์ ์ง์ ํ๊ธธ ์ํ๋ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด, ์ธ์ ๊ฐ๋ ๋ค์ด๊ฐ ์ ์์ด์ผ ํ๋ค (๋ฌดํ์ ๋๊ธฐํด์๋ ์๋๋ค)
Q6. ์๊ณ ๊ตฌ์ญ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋๊ธฐํ ๊ธฐ๋ฒ
1) ๋ฎคํ ์ค ๋ฝ : ๋์์ ์ ๊ทผํด์๋ ์๋๋ ์์์ ๋์์ ์ ๊ทผํ์ง ์๋๋ก ๋ง๋๋ ๋๊ตฌ. ์ํธ๋ฐฐ์ ๋ฅผ ์ํ ๋๊ธฐํ ๋๊ตฌ.
์๊ณ ๊ตฌ์ญ์ ์ง์ ํ๋ ํ๋ก์ธ์ค๋ '๋ด๊ฐ ์ง๊ธ ์๊ณ ๊ตฌ์ญ์ ์์'์ ์๋ฆฌ๊ธฐ ์ํด ๋ฎคํ ์ค ๋ฝ์ ์ด์ฉํด ์๋ฌผ์ ๋ฅผ ๊ฑธ์ด๋ ์ ์๋ค. acquire() ๊ณผ release() ์ด์ฉ. -> acquire() ํจ์๋ ์๊ณ ๊ตฌ์ญ์ด ์ ๊ฒจ์์ ๋, ์๊ณ ๊ตฌ์ญ์ด ์ด๋ฆด ๋๊น์ง ๋ฐ๋ณต์ ์ผ๋ก ํ์ธํ๋ค. (busy wait)
2) ์ธ๋งํฌ์ด : ๋ฎคํ ์ค ๋ฝ๊ณผ ๋น์ทํ์ง๋ง, ๋ ์ผ๋ฐํ๋ ๋ฐฉ์์ ๋๊ธฐํ ๋๊ตฌ. ๋ฎคํ ์ค ๋ฝ์ด ํ๋์ ๊ณต์ ์์์ ๋ณดํธํ๋ ๋๊ตฌ๋ผ๋ฉด, ์ธ๋งํฌ์ด๋ ์ฌ๋ฌ ๊ฐ์ ๊ณต์ ์์์ ๋ณดํธํ๋ ๋๊ตฌ.
์ธ๋งํฌ์ด๋ ์ด์ง ์ธ๋งํฌ์ด(binary semaphore)์ ์นด์ดํ ์ธ๋งํฌ์ด(counting semaphore)๊ฐ ์๋ค. ์ด์ง ์ธ๋งํฌ์ด๋ ๋ฎคํ ์ค ๋ฝ๊ณผ ๋น์ทํ ๊ฐ๋ ์ด๋ฏ๋ก ์นด์ดํ ์ธ๋งํฌ์ด๋ฅผ ๋ณด์.
<์ธ๋งํฌ์ด์ ๊ตฌ์ฑ>
- ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต์ ์์์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์ญ ๋ณ์ S
- ์๊ณ ๊ตฌ์ญ์ ๋ค์ด๊ฐ๋ ์ข์์ง, ๊ธฐ๋ค๋ ค์ผ ํ ์ง๋ฅผ ์๋ ค์ฃผ๋ wait() ํจ
- ์๊ณ ๊ตฌ์ญ์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค์๊ฒ '์ด์ ๊ฐ๋ ์ข๋ค'๊ณ ์ ํธ๋ฅผ ์ฃผ๋ signal() ํจ์
3) ๋ชจ๋ํฐ : ์ธ๋งํฌ์ด์ ๋นํด ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํ ๋๊ธฐํ ๋๊ตฌ. ์ธ๋งํฌ์ด๋ ๋งค๋ฒ ์๊ณ ๊ตฌ์ญ ์๋ค๋ก ์ผ์ผ์ด wait๊ณผ signal ํจ์๋ฅผ ๋ช ์ํด์ผ ํ๋๋ฐ, ์ด๋ ๊ต์ฅํ ๋ฒ๊ฑฐ๋กญ๊ณ , wait -> signal ์์๋ฅผ ์งํค์ง ์์ ์ ์๋ค. ์ฆ, ํ๋ก๊ทธ๋๋จธ์ ์ค์ ๋ฐ์ ํ๋ฅ ์ด ๋๋ค. ๋ชจ๋ํฐ๋ ์ด๋ฅผ ๊ฐ์ ํ ๋ฐฉ๋ฒ์ผ๋ก, ํ(queue)๋ฅผ ์ด์ฉํด ๊ณต์ ์์์ ์ ๊ทผํ๊ธฐ ์ํ ํต๋ก๋ฅผ ๊ด๋ฆฌํ๋ค.
๋ชจ๋ํฐ๋ฅผ ํตํด ๊ณต์ ์์์ ์ ๊ทผํ๊ณ ์ ํ๋ ํ๋ก์ธ์ค๋ฅผ ํ์ ์ฝ์ ํ๊ณ , ํ์ ์ฝ์ ๋ ์์๋๋ก ํ๋์ฉ ๊ณต์ ์์์ ์ด์ฉํ๋๋ก ํ๋ค. (๋ชจ๋ํฐ ์์๋ ํญ์ ํ๋์ ํ๋ก์ธ์ค๋ง ๋ค์ด์ค๋๋ก ํ์ฌ ์ํธ ๋ฐฐ์ ๋ฅผ ์ ๊ณตํ๋ค)
Q7. ๊ต์ฐฉ์ํ๋ ๋ฌด์์ธ์ง
์์ฌํ๋ ์ฒ ํ์ ๋ฌธ์ ๋ก ๊ต์ฐฉ์ํ๋ฅผ ์ค๋ช ํ ์ ์๋ค.
๋๊ทธ๋ ์ํ์ ๋ค์ฏ๋ช ์ ์ฒ ํ์๊ฐ ์์์๊ณ , ์ฒ ํ์๋ค ์์๋ ์์๊ณผ ํฌํฌ๊ฐ ์๋ค.
๋ ๊ฐ์ ํฌํฌ๋ฅผ ๋ชจ๋ ์ง์์ ๋ ์์์ ๋จน์ ์ ์๋ค๊ณ ๊ฐ์ ํ ๋, ๋ชจ๋ ์ฒ ํ์๊ฐ ๋์์ ํ ํฌํฌ์ฉ์ ๋ค๋ฉด ์๋ฌด๋ ์์ฌ๋ฅผ ํ ์ ์๊ฒ ๋๋ ์ํฉ์ด ๋ฐ์ํ๋ค. ๋ชจ๋ ์ฒ ํ์๋ ๋ค๋ฅธ ์ฒ ํ์๊ฐ ํฌํฌ๋ฅผ ๋ด๋ ค๋์ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
์ด๋ ๊ฒ ์ผ์ด๋์ง ์์ ์ฌ๊ฑด์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ์งํ์ด ๋ฉ์ถ์ด๋ฒ๋ฆฌ๋ ํ์์ ๊ต์ฐฉ ์ํ๋ผ๊ณ ํ๋ค.
์์ฌํ๋ ์ฒ ํ์ ๋ฌธ์ ์์, ์ฒ ํ์๋ ํ๋ก์ธ์ค ํน์ ์ค๋ ๋, ํฌํฌ๋ฅผ ์์์ผ๋ก ๋น๋์ด ๋ณผ ์ ์๋ค.
Q8. ๊ต์ฐฉ์ํ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง
- ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ๋ ๋ค ๊ฐ์ง ์กฐ๊ฑด ์ค ํ๋๋ผ๋ ํด๊ฒฐํ๋ค (์ ์ , ๋๊ธฐ, ๋น์ ์ , ์ํ ๋๊ธฐ)
- ํํผํ๋ค (Banker's algorithm : ๋ฐ๋๋ฝ์ด ๋ฐ์ํ์ง ์๋ ์์ ํ ์ํ๋ฅผ ๋ฏธ๋ฆฌ ํ๋ณํ๋ ์๊ณ ๋ฆฌ์ฆ) - ๋ฐ๋๋ฝ์ด ๋ฐ์ํ๋ ์ํฉ์ด ๋งค์ฐ ํฌ๋ฐํ๋ฐ, ๋งค๋ฒ ๋ฏธ๋ฆฌ ํ๋ณํ๋๊ฑด ๋นํจ์จ์ ์ด๋ค.
- ๋ฌด์ -> ๊ฐ์ฅ ํ์ค์ ์ธ ๋ฐฉ๋ฒ
Q9. ์ค์ํ์ด ๋ฌด์์ธ์ง
๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ด์ฉํ๋ ๋ฐฉ๋ฒ. ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ๋ก์ธ์ค๋ค ์ค ํ์ฌ ์คํ๋์ง ์๋ ํ๋ก์ธ์ค๋ฅผ ๋์คํฌ๋ก ์ซ์๋ด๊ณ , ์คํํ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ค์ฌ๋ณด๋ด๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ.
ํ๋ก์ธ์ค๋ค์ด ์ซ๊ฒจ๋๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ผ๋ถ ์์ญ์ ์ค์ ์์ญ์ด๋ผ๊ณ ํ๋ค. ๋ฐ๋๋ก ์ค์ ์์ญ์ ์๋ ํ๋ก์ธ์ค๊ฐ ๋ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฎ๊ฒจ์ง๋ ๊ฒ์ ์ค์ ์ธ์ด๋ผ๊ณ ํ๋ค.
Q10. ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ธฐ๋ฒ๊ณผ ์ธ๋ถ ๋จํธํ ๋ฌธ์
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ธฐ๋ฒ : ๊ฐ๊ฐ์ ํ๋ก์ธ์ค์ ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ๋ ๋ฐฉ์.
์ธ๋ถ ๋จํธํ ๋ฌธ์ : ๋ฉ๋ชจ๋ฆฌ์ ๋จ์ ์๋ ๋น ๊ณต๊ฐ์ ํฉ์ ํ๋ก์ธ์ค๊ฐ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๋ณด๋ค ํฌ์ง๋ง, ๋น ๊ณต๊ฐ์ด ํํธํ๋์ด ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ ์ ์๋ ํ์.
Q11. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ธ ํ์ด์ง์ ๊ฐ๋ ๊ณผ ์๋์ ๋ํด
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ : ์คํํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ์ฌ ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋ค ๋ ํฐ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์๊ฒ ํ๋ ๊ธฐ์
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์๋ ํ์ด์ง๊ณผ ์ธ๊ทธ๋ฉํ ์ด์ ์ด ์์ง๋ง, ํ๋ ๋๋ถ๋ถ์ ์ด์์ฒด์ ๊ฐ ํ์ด์ง ๊ธฐ๋ฒ์ ๋ค๋ฃฌ๋ค.
+) ์?
์ธ๊ทธ๋ฉํ ์ด์ ์ ๊ณ ์ ์ฌ์ด์ฆ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์์ ์ธ๊ทธ๋ฉํ ์ด์ ์ ์ฐ๋ ค๋ฉด best fit, worst fit ์ ํด์ผํ๋ค -> ๋ณต์กํ๋ค
์ธ๊ทธ๋ฉํ ์ด์ ๋ฐฉ์ ๋์ ํ์ด์ง์ ์ฌ์ฉํ๋ฏ๋ก์จ ๋ด๋ถ ๋จํธํ๋ฅผ ์ค์ผ ์ ์๋ค. (ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค!)
ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์๋ค.
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์์ ์ธ๋ถ ๋จํธํ๊ฐ ์๊ธด ์ด์ ๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ํฌ๊ธฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ํ ๋น ๋์๊ธฐ ๋๋ฌธ์ด์๋ค.
ํ์ด์ง : ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํ ๋จ์๋ก ์๋ฅด๊ณ , ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฐ์์ ์ผ๋ก ํ ๋นํ๋ ๋ฐฉ์.
ํ์ด์ง์ ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ์ ํ์ด์ง(page)๋ผ๋ ์ผ์ ํ ๋จ์๋ก ์๋ฅด๊ณ , ๋ฉ๋ชจ๋ฆฌ ๋ฌผ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ์ ํ๋ ์(frame)์ด๋ผ๋ ํ์ด์ง์ ๋์ผํ ํฌ๊ธฐ์ ๋จ์๋ก ์๋ฅธ ๋ค, ํ์ด์ง๋ฅผ ํ๋ ์์ ํ ๋นํ๋ ๊ธฐ๋ฒ์ด๋ค.
ํ์ด์ง์์๋ ์ค์ํ์ ์ฌ์ฉํ ์ ์๋ค.
๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ์๊ฐ ์๋ ํ์ด์ง๋ค์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ก ์ค์ ์์๋๊ณ , ์คํ์ ํ์ํ ํ์ด์ง๋ค์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ค์ ์ธ ๋๋ ๊ฒ์ด๋ค. ์ฆ, ํ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ํด ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ์๊ฐ ์๋ค๋ ๋ง๊ณผ ๊ฐ๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ด๋ฃจ๋ ํ์ด์ง ์ค ์คํ์ ํ์ํ ์ผ๋ถ ํ์ด์ง๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ , ๋น์ฅ ์คํ์ ํ์ํ์ง ์์ ํ์ด์ง๋ค์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ๋จ๊ฒจ๋ ์ ์๋ค. ์ด์ ๊ฐ์ ๋ฐฉ์์ ํตํด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋ ํฐ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์๋ค.
ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋์ด ์๊ธฐ ๋๋ฌธ์ CPU ์ ์ฅ์์ ์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ ์ ์๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด "ํ์ด์ง ํ ์ด๋ธ" ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ค. ํ๋ก์ธ์ค๊ฐ ๋น๋ก (์ค์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฃผ์์ธ) ๋ฌผ๋ฆฌ ์ฃผ์์ ๋ถ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋๋ผ๋ (CPU๊ฐ ๋ฐ๋ผ๋๋ ์ฃผ์์ธ) ๋ ผ๋ฆฌ ์ฃผ์์๋ ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋๋ก ํ์ด์ง ํ ์ด๋ธ์ ์ด์ฉํ๋ค.
Q12. ๋ด๋ถ๋จํธํ๋?
ํ์ด์ง ๋ฐฉ์์์, ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํ ํ์ด์ง ํฌ๊ธฐ๋ก ์๋ฅธ๋ค๊ณ ํ๋ค. ํ์ง๋ง ๋ชจ๋ ํ๋ก์ธ์ค์ ํฌ๊ธฐ๊ฐ ํ์ด์ง์ ๋ฐฐ์๋ ์๋๋ค. ํ์ด์ง ๋ด์์ ๋ฐ์ํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ด๋ถ ๋จํธํ๋ผ ํ๋ค.
ํ์ด์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ผ์ ํ ๋จ์๋ก ์๋ผ ๋ถ์ฐ์์ ์ผ๋ก ํ ๋นํจ์ผ๋ก์จ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ๋ด๋ถ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ค.
Q12. ์๊ตฌ ํ์ด์ง์ ๊ฐ๋ ๊ณผ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
์๊ตฌ ํ์ด์ง : ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ ๋, ์ฒ์๋ถํฐ ๋ชจ๋ ํ์ด์ง๋ฅผ ์ ์ฌํ์ง ์๊ณ ํ์ํ ํ์ด์ง๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๊ธฐ๋ฒ (๋ง๊ทธ๋๋ก, ์คํ์ ์๊ตฌ๋๋ ํ์ด์ง๋ง ์ ์ฌ)
Q13. ์ค๋์ฑ๊ณผ ๊ทธ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ ์ ํ ๋น์ ๋ํด
์ค๋์ฑ : ํ์ด์ง ํดํธ๊ฐ ์์ฃผ ๋ฐ์ํ์ฌ CPU ์ด์ฉ๋ฅ ์ด ๊ธ๊ฒฉํ๊ฒ ์ฆ๊ฐํ๋ ๊ฒ.
+) ์ค๋์ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
1. ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ ์ค๊ณํด์ผ ํ๋ค. ?
2. ์ํน์ ์๊ณ ๋ฆฌ์ฆ - ์บ์์ ์ง์ญ์ฑ์ ๊ณ ๋ คํด์ ์๋์ฐ ํฌ๊ธฐ๋งํผ ํ๊บผ๋ฒ์ ๋ฃ์๋ค ๋นผ๋ ๊ฒ
Q14. ๋ด๋ถ ๋จํธํ ์ธ๋ถ ๋จํธํ๊ฐ ๋ฌด์์ธ์ง์ ๊ฐ๊ฐ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ด๋ถ๋จํธํ
- ??
- ์ฆ, ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋ ๊ฒ
์ธ๋ถ๋จํธํ
- ??
- ์ฆ, ํ ๋น๋ฐ์ง ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋ ๊ฒ
๋ด๋ถ ๋จํธํ ํด๊ฒฐ ๋ฐฉ๋ฒ :
์ธ๊ทธ๋ฉํ ์ด์
์ธ๋ถ ๋จํธํ ํด๊ฒฐ ๋ฐฉ๋ฒ :
ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์๋ค.
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์์ ์ธ๋ถ ๋จํธํ๊ฐ ์๊ธด ์ด์ ๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ํฌ๊ธฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ํ ๋น ๋์๊ธฐ ๋๋ฌธ์ด์๋ค.
Q15. ์บ์์ ์ง์ญ์ฑ์ ๋ํด
- ์๊ฐ ์ง์ญ์ฑ : ํ ๋ฒ ์ก์ธ์ค ๋ ๋ฐ์ดํฐ ๊ทผ์ฒ์ ์๋ ๋ฐ์ดํฐ์ ๋ค์ ์ ๊ทผํ ํ๋ฅ ์ด ๋๋ค.
- ๊ณต๊ฐ ์ง์ญ์ฑ : ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ค์ ๋ค์ ์ฌ์ฉํ ํ๋ฅ ์ด ๋๋ค.
+) ์๊ฐ ์ง์ญ์ฑ ์ด๋ฆฌ๋ ๊ฒ : LRU
๊ณต๊ฐ ์ง์ญ์ฑ ์ด๋ฆฌ๋ ๊ฒ : Prepaging (๋ฏธ๋ฆฌ ์ฌ๋ฆฌ๋ ๊ฒ)
Q16. ๋ณด์๊ณผ ๋ณดํธ์ ์ฐจ์ด์
๋ณด์ : (ํดํน ๋ฐฉ์ด)
๋ณดํธ : ์์์ ์ ๊ทผํ๋ ํ๋ก์ธ์ค๋ฅผ ์ ํ (๊ถํ ๊ด๋ฆฌ)
Q17. MMU์ ์ญํ ?
๊ฐ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํํ๋ค.
+) ๋ณํํ๋ ๋ฐฉ๋ฒ?
MMU๊ฐ ํ์ด์ง ํ ์ด๋ธ์ ์ ๊ทผํด์ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ์ฐพ๋๋ค.
Q18. TLB๋ฅผ ์จ์ผํ๋ ์ด์ ?
ํ์ด์ง ํ ์ด๋ธ๊ณผ ํ์ด์ง๊ฐ ๋ ๋ค ๋ฉ๋ชจ๋ฆฌ์ ์์ด์ ๋๋ฆฌ๋ค.
-> ์บ์์ ์กด์ฌํ๋ ํ์ด์ง ํ ์ด๋ธ์ด TLB์ด๋ค.
Q19. ํ์ด์ง๊ณผ ์ธ๊ทธ๋ฉํ ์ด์ ์ ์ฐจ์ด?
ํ์ด์ง์ ๊ณ ์ ๊ธธ์ด, ์ธ๊ทธ๋ฉํ ์ด์ ์ ๊ฐ๋ณ๊ธธ์ด
ํ์ด์ง์ ๋ด๋ถ๋จํธํ๊ฐ ๋ฐ์ํ ์ ์๋ค. ํ, ์คํ, ์ฝ๋๋ฅผ ๊ฐ๊ฐ .. ํ๋๊ฒ ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์.
+) ๊ทธ๋ผ ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋จํธํ๊ฐ ๋ฐ์ํ์ง ์๋? ๋ฐ์ํ์ง๋ง ๋จํธํ์ ์์ด ์ ์ด์ง๋ค
Q20. ์ค๋ ๋๊ฐ PC(ํ๋ก๊ทธ๋จ ์นด์ดํฐ) ๋ ์ง์คํฐ๋ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉํ๋?
Q21. ํ์ด์ง ํดํธ๊ฐ ์ผ์ด๋ ๋ ๋ฌด์จ์ผ์ด ์ผ์ด๋ ๊น?
TLB ํ์ธ
-> ์์ผ๋ฉด ํ์ด์ง ํ ์ด๋ธ
-> valid bit ์ฒดํฌํด์ 0์ผ๋๊ฐ ํ์ด์ง ํดํธ(๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒฝ์ฐ)์ด๋ค.
-> ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ๋ฉด ๋์คํฌ์์ ๊ฐ์ ธ์จ๋ค
-> ๋ฐฑํน์คํ ์ด์ ์๋ ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฐ๋ค
-> ํ์ด์ง ํ ์ด๋ธ์ ์ฌ๋ผ์๋ค๊ณ valid bit 1๋ก ํ์
+) ์๊ตฌํ์ด์ง์ ๋จ์ ? ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ ์ ์๋ค. -> ํ์ด์ง ํดํธ ๊ฐ๋ ์ผ๋ก ์ด์ด์ง ์๋,,,
Q22. ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ถ๋ฆฌํด์ผ ํ๋ ์ด์ ?
1. ์ฑ๋ฅ์ด ์ข์ CPU๊ฐ ๋ ๋นจ๋ฆฌ ์ ๊ทผํ ์ ์๋ค.
2. ๊ทธ๋ฆฌ๊ณ ์ฑ๋ฅ์ด ์ข์๊ฑด ๋น์ธ๋ค
3. ์์ฃผ ์ฐ์ด๋ ๋ฐ์ดํฐ๋ ๊ณ์ ์์ฃผ ์ฐ์ธ๋ค. ์์ฃผ ์ฐ์ด๋ ๋ฐ์ดํฐ๋ ์ ์ฒด ๋ฐ์ดํฐ ์์ ๋นํด ์์ ์์ด๋ค
-> ์ปดํจํฐ์ ๋น์ฉ์ ๋ฎ์ถ๊ณ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ๋ถ๋ฆฌํ๋ค.
+) ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ธต ๊ตฌ์กฐ
๋ ์ง์ค
์บ์ (L1, L2, L3)
๋ฉ๋ชจ๋ฆฌ
ํ๋๋์คํฌ
Q23. 64๋นํธ ์ด์์ฒด์ ์์ 32๋นํธ ํ๋ก๊ทธ๋จ์ด ๋์๊ฐ๊น?
Q24. JVM์ ๋ฉ๋ชจ๋ฆฌ ๋์์ ๋ํด
GC๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ์๋ฅผ ๋ชปํ๋ ๊ฒฝ์ฐ Memory Leak(๋ฉ๋ชจ๋ฆฌ ๋์)๊ฐ ๋ฐ์ํ๊ณ ์ง์๋๋ฉด OOM(Out of Memory)๋ Can not allocate memory๊ฐ ๋ฐ์ํ ์ ์๋ค
→ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ทธ๋๋ก ๋ฉ์ถ๊ฑฐ๋ ์ข ๋ฃ๋๋ฏ๋ก ๋์ํ ํ์๊ฐ ์๋ค
์ฐธ์กฐ ์ ์ง์ ์ํ ๋ฉ๋ชจ๋ฆฌ ๋ฆญ
์๋ฐ์์ ๋ฉ๋ชจ๋ฆฌ๋ ์ต์ข ์ ์ผ๋ก Old Generation์์ ํ์๋๋๋ฐ, ์ด ๋ ์์ง ์ฐธ์กฐ์ ์ง์ ๋ํด ๊ฐ์ฒด๊ฐ ์ด์์๋ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ ๊ณ์ํด์ Old ์์ญ์ ์์ด๊ณ ์ด๋ฅผ ํ์ํ๊ธฐ ์ํด Major GC๊ฐ ๋ฐ๋ณต๋๋ค ๊ฒฐ๊ตญ OOM ์๋ฌ๊ฐ ๋ฐ์ํ๋ค
→ ์ฐธ์กฐ์ ์ง์ ์ํ ๋ฉ๋ชจ๋ฆฌ ๋ฆญ์ ํ์ ํ๊ณ ํด๊ฒฐํ๋ ๊ฒ์ด ํ์
๋ฉ๋ชจ๋ฆฌ ๋ฆญ ํ์ธ
๊ฐ์ฒด ์ค ์ด๋ค ๊ฐ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฆญ์ ๋ฐ์์ํค๋์ง ํ์ ํ ์ ์์ด์ผํ๋๋ฐ,
์ผ๋ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์จ๋ก๋ ํ์ ํ ์๋ ์์ด Heap-Dump๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
https://velog.io/@agugu95/JVM-Memory-Leak-๋ฉ๋ชจ๋ฆฌ-๋์
JVM Memory Leak, ๋ฉ๋ชจ๋ฆฌ ๋์
๋ฉ๋ชจ๋ฆฌ ๋์์ ๊ด๋ฆฌ
velog.io
+) Heap-Dump ๋ ๋ณธ์ ์๋์?
https://juneyr.dev/jvm-heap-dump
๋์ ์ฒซ JVM heap dump ๋จ๊ธฐ
์๋ก ์ฑ๋ฅํ ์คํธ๋ฅผ ๊ณ์ํ๊ณ ์๋ค. ๋ถํ๋ฅผ ๋ง์ด ์ฃผ๊ธด ํ์ง๋ง, ๋งค์ฐ ๋น ๋ฅธ ์๊ฐ ๋ด์ full GC ๊ฐ ์ผ์ด๋๋๊ฒ ์์์ค๋ฝ๋ค, ์ถ์ด์ heap dump ๋ฅผ ๋ ๋ด์ผ๊ฒ ๋ค๋ ๊ฒฐ์ฌ์ ํ๋ค. heap dump๋ฅผ ์๊ธฐ ์ ์ jvm์ ๊ตฌ์กฐ
juneyr.dev
Q25. ๋ ์ด๋๋?
๋ฐ์ดํฐ ์์ค์ ๋๋นํ์ฌ ์ฌ๋ฌ ๋์คํฌ์ ๋๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๋ฐฉ์(์ ์ฑ )
RAID 0 - ์คํธ๋ผ์ดํ - ๋ณ๋ ฌ๋ก ์ฐ๊ฒฐ๋ ์ฌ๋ฌ๊ฐ์ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ๋๋ ์ ์ ์ถ๋ ฅ
RAID 1 - ๋ฏธ๋ฌ๋ง - ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์์ ๋ณต์ ๋จ
+) 5,6๋ถํฐ ํจ๋ฆฌํฐ ๋นํธ๊ฐ ๋ค์ด๊ฐ๋ค (5๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ด๋ค)
(๋ ์ด๋ 0,4,5,6 ์ธ ๊ฐ๋ง ์ฐ๊ณ 1,2,3์ ๋ํ๋จ)
'๐ STUDY' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
20240320 CS ์คํฐ๋ - DB (2) (0) | 2024.03.18 |
---|---|
240228 CS ์คํฐ๋ - ์ด์์ฒด์ (0) | 2024.02.26 |
240219 CS ์คํฐ๋ - ์ด์์ฒด์ (0) | 2024.02.19 |
240213 CS ์คํฐ๋ - ์ด์์ฒด์ (0) | 2024.02.13 |
240207 CS ์คํฐ๋ - ์น (0) | 2024.02.05 |