1. ๊ต์ฐฉ์ํ์ ๊ฐ๋
๋๊ฐ ์ด์์ ํ๋ก์ธ์ค๊ฐ ์๋ก ์์ ํ ๋น์ ์ํด ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์์ ์ด ๋๋๊ธฐ๋ง์ ๋ฌดํํ๊ฒ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ์ํ๋ฅผ ์๋ฏธํ๋ค.
๊ธฐ์์ํ๋ ํ๋ก์ธ์ค์ ์ผ๋ถ๊ฐ ์์ ํ ๋น์ ์ํ ๋๊ธฐ๊ฐ ์ง์์ ์ผ๋ก ์ผ์ด๋๋ ๊ฒ์ ์๋ฏธํ๊ณ , ๊ต์ฐฉ์ํ๋ ๋ชจ๋ ํ๋ก์ธ์ค์ ์งํ์ด ๋ฉ์ถ ์ํ๋ฅผ ์๋ฏธํ๋ค.
2. ๊ต์ฐฉ์ํ์ ํน์ฑ
๊ต์ฐฉ์ํ์ ํ์์กฐ๊ฑด
- ์ํธ๋ฐฐ์ ์กฐ๊ฑด
- ๋ฐฐํ์ ์ธ ํต์ ๊ถ์ ์๋ฏธํ๋ค.
- ์ ์ ๋๊ธฐ ์กฐ๊ฑด
- ํ์๋ก ํ๋ ์์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ ์ ์ค์ด๋ผ๋ฉด ๋ฐ๋์ ๋๊ธฐํด์ผ ํจ
- ๋น์ ์ ์กฐ๊ฑด
- ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ ์ ์ค์ธ ์์์ ๋นผ์์ ์ ์๋ค. (์๋ฐ์ ๋ฐํ๋ง ํ์ฉ)
- ํํ ๋๊ธฐ ์กฐ๊ฑด
์์ํ ๋น ๊ทธ๋ํ
๊ต์ฐฉ์ํ๋ฅผ ๋ช ํํ๊ฒ ํํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ทธ๋ํ๋ฅผ ์๋ฏธํ๋ค.
- ์ ์
- P : ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํ๋ ์ ์ ์ ์งํฉ
- R : ์์์ ์๋ฏธํ๋ ์ ์ ์ ์งํฉ
- ๊ฐ์ (๋ฐฉํฅ์๋ ๊ฐ์ ์ ์งํฉ)
- Q (p → r) : ํ๋ก์ธ์ค p ๊ฐ ์์ r ์ ์๊ตฌํ๋ ๊ฒ์ ๋ํ๋ (์๊ตฌ๊ฐ์ )
- S (r → p) : ์์ r ๊ฐ ํ๋ก์ธ์ค p ์ ํ ๋น๋์ด ์๋ ๊ฒ์ ๋ํ๋ (ํ ๋น๊ฐ์ )
3. ๊ต์ฐฉ์ํ ์ฒ๋ฆฌ
๋ฐฉ์ง
- ์ํธ๋ฐฐ์ ์กฐ๊ฑด์ ์ ๊ฑฐ
- ๊ณต์ ๋ถ๊ฐ๋ฅํ ์์์ ์ ๊ฑฐํ๋ ๊ฒ์ ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ๋ค.
- ์ ์ ๋๊ธฐ ์กฐ๊ฑด์ ์ ๊ฑฐ
- ์์์ ์์ฒญํ๋ ์์ ์ ์ด๋ ํ ๋ค๋ฅธ ์์๋ ์ ์ ํ๊ณ ์์ง ์์์ผ ํ๋ค.
- ๋ฐฉ๋ฒ1. ์์ ์ ์์ํ๋ ์์ ์ ๋ชจ๋ ์์์ ํ๊บผ๋ฒ์ ์์ฒญํ๋ค.
- ๋ฐฉ๋ฒ2. ์์ ๋จ์๋ณ๋ก ์์์ ํ ๋น๋ฐ๊ณ ๋ค๋ฅธ ์์ ์ ์ ๋ชจ๋ ํ ๋น์ ํด์ ํ๋ค.
- ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์์ ์ด์ฉ๋ฅ ์ด ํ์ ํ ๋จ์ด์ง๋ค๋ ๋จ์ ์ด ์๊ณ , ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ธฐ์์ํ๋ฅผ ์ ๋ฐํ ์ ์๋ค.
- ๋น์ ์ ์กฐ๊ฑด์ ์ ๊ฑฐ
- ๋ฐฉ๋ฒ1. ๋ค๋ฅธ ์์์ ์์ฒญํ์ผ๋ ํด๋น ์์์ ์ฆ์ ํ ๋น๋ฐ์ง ๋ชปํ๋ ์ํฉ์ด๋ฉด ์ ์ ์ค์ด๋ ์์์ ๋ชจ๋ ๋ฐํํ๋ค.
- ๋ฐฉ๋ฒ2. ๋ค๋ฅธ ์์์ ์์ฒญํ์ผ๋ ์ ์ ์ค์ธ ์์์ด๋ผ๋ฉด ํด๋น ์์์ ์ ์ ํ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์์์ ์์ฒญํ๋ฉฐ ๋๊ธฐ์ํ์ ์๋์ง ํ์ธํ๋ค. ๋ง์ฝ ๊ทธ๋ ๋ค๋ฉด ์์ฒญํ ์์์ ์ ์ ํ์ฌ ๊ฐ์ ธ์จ๋ค.
- CPU์ ๋ ์ง์คํฐ๋ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ด ์ํ๋ฅผ ์ฝ๊ฒ ๋ณด๊ดํ๊ณ ๋ณต๊ตฌํ ์ ์๋ ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ํํ ๋๊ธฐ ์กฐ๊ฑด์ ์ ๊ฑฐ
- ๋ฐฉ๋ฒ1. ์์ ์ ํ์ ์ผ๋ จ๋ฒํธ๋ฅผ ์ง์ ํ๊ณ ์ค๋ฆ์ฐจ์์ผ๋ก๋ง ์์์ ์์ฒญํ ์ ์๊ฒ ํ๋ค.
- ๋ฐฉ๋ฒ2. ๋ฐฉ๋ฒ1์ ์กฐ๊ฑด์์ ๋ฎ์ ์์์ ์์์ ์์ฒญํด์ผ ํ๋ฉด ๋์ ์์์ ์์์ ์ ๋ถ ํ ๋น ํด์ ํ๋ค.
ํํผ
- ํ๋ก์ธ์ค์ ์์ ์ฌ์ฉ์ ๋ํ ์ฌ์ ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ํํผ์ ํ์ํ ์ฌ์ ์ ๋ณด๋ก๋ ํ ๋น๋ ์์, ๊ฐ์ฉ์ํ ์์, ํ๋ก์ธ์ค๋ค์ ์ต๋ ์๊ตฌ๋์ด ์๋ค.
- ๊ต์ฐฉ์ํ๋ฅผ ํํผํ๋ฉด์ ์ต๋ ์๊ตฌ๋๊น์ง ๋น ์ง์์ด ์์์ ํ ๋นํ ์ ์๋ ์ํ๋ฅผ ์์ ์ํ(safe state) ๋ผ๊ณ ํ๋ค.
์์ ์์์ด (safe sequence)์ด๋
์์ ์๋ ํ๋ก์ธ์ค ์งํฉ P {p_1, p_2, …, p_n} ์ ๊ดํ์ฌ p_i ๋ p_i ๊ฐ ์ถ๊ฐ๋ก ์๊ตฌํ ์ ์๋ ์์ ์์๋์ด ํ์ฌ ๊ฐ์ฉ ์ํ์ด๊ฑฐ๋ ํน์ ํ์ฌ ๊ฐ์ฉ์ธ ์์์ ๋ํด j < i ์ธ p_j ์ ํ ๋น๋ ์์๊น์ง ํฌํจํ์ฌ ํ ๋น์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ
๋ฅผ ์์ ์์์ด์ด ์กด์ฌํ๋ค๊ณ ํ๋ค.
์ฆ, ํ์ฌ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์์์ ํ ๋น๋ฐ์ ์ ์๊ฑฐ๋, ์์ ๋ณด๋ค ์ ์์์ ํ๋ก์ธ์ค๋ค์ด ์์์ ์ ๋ถ ๋ฐ๋ฉํ๋ฉด ์์ ์ ์์ ์๊ตฌ๋์ด ๋ง์กฑ๋๋ ์ํ๋ฅผ ์๋ฏธํ๋ค.
- ์์ ์์์ด์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ๋ฅผ ์์ ์ํ๋ผ๊ณ ํ๋ฉฐ, ์์ ์์์ด์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ๋ ๋ถ์์ ์ํ๋ผ๊ณ ํ๋ค.
- ๋ถ์์ ์ํ๊ฐ ๊ต์ฐฉ์ํ๋ฅผ ์๋ฏธํ์ง๋ ์๋๋ค. ํ ๋น ๊ณผ์ ์ ๋ฐ๋ผ์ ๊ต์ฐฉ์ํ๊ฐ ๋ ์๋ ์์์ ์๋ฏธํ๋ค.
- ์์ ์์์ด์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ํ๋ณ ๋จ์์์์ด ์ฌ๋ฌ๊ฐ ์์๊ฒฝ์ฐ์ ํ๋๋ง ์์๊ฒฝ์ฐ๋ก ๋๋์ด ์ฌ์ฉํ๋ ๋๊ฐ์ง ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค.
์ ํ๋ณ ๋จ์ ์์์ด ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ
์ํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์์คํ ์ด ์์์ ์์ฒญ๋ฐ์ผ๋ฉด ์์์ ํ ๋นํด ์ฃผ๊ณ ๋ ํ์ ์ํ๊ฐ ์์ ์ํ๊ฐ ๋๋์ง๋ฅผ ๊ณ์ฐํ์ฌ ์์ ์ํ๊ฐ ๋๋ ๊ฒฝ์ฐ์๋ง ํ ๋นํ๋ ๊ฒ์ด๋ค.
์ํ์ ์๊ณ ๋ฆฌ์ฆ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ค ๊ฐ์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํด์ผ ํ๋ค.
- ๊ฐ์ฉ์์ AVAIL
- ์ต๋์๊ตฌ MAX
- ํ ๋น์์ ALLOC
- ์ถ๊ฐ์๊ตฌ NEED
REQ_i ๋ฅผ p_i ์ ์๊ตฌ ๋ฒกํฐ๋ผ ํ๋ค. REQ_i(j) = k ๋, p_i ๊ฐ r_j ์ ํ์ ์์ k ๊ฐ๋ฅผ ์๊ตฌํจ์ ์๋ฏธํ๋ค. p_i ๊ฐ ์์์ ์์ฒญํ ๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ด ์๋ํ๋ค.
- REQ_i ≤ NEED_i ๊ฐ TRUE ์ฌ์ผ ํ๋ค. (์์ ์ ์ต๋ ์๊ตฌ๋ ์ด์์ ์์ฒญํ ๊ฒฝ์ฐ)
- REQ_i ≤ AVAIL ์ด ๊ฑฐ์ง์ด๋ฉด p_i ๋ ๋๊ธฐ์ํ๋ก ์ ํ๋๋ค.
- REQ_i ≤ AVAIL ์ผ ๊ฒฝ์ฐAVAIL = AVAIL - REQ_iNEED_i = NEED_i - REQ_i3-3. ์์ ์ํ์ด๋ฉด REQ_i ๋ฅผ ํ ๋นํ๋ค.
- 3-4. ๋ถ์์ ์ํ๋ผ๋ฉด ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐ์ํ๋ก ๋ง๋ค๊ณ ๋ฐ์ดํฐ๋ฅผ ๋๋๋ฆฐ๋ค.
- 3-2. ์ด ์ํ๊ฐ ์์ ์ํ์ธ์ง ์กฐ์ฌํ๋ค.
- ALLOC_i = ALLOC_i + REQ_i
- 3-1. ๋ค์๊ณผ ๊ฐ์ด ํ ๋น ํ์ ์ํ๋ฅผ ๋ง๋ ๋ค.
๊ฐ ์ ํ์ ๋จ์์์์ด ํ๋๋ฐ์ ์์ ๊ฒฝ์ฐ
์ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋งค๋ฒ m * n^2 ์ฐ์ฐ์ ์ํํด์ผํ๋ฏ๋ก ๋จ์์์์ด ํ๋์ธ ๊ฒฝ์ฐ ์์ํ ๋น ๊ทธ๋ํ๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ดํด์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ฅผ ํ์งํ๊ณ ์ด๋ฅผ ๋ฏธ์ฐ์ ๋ฐฉ์งํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ค.
๊ต์ฐฉ์ํ์ ํ์ง ๋ฐ ๋ณต๊ตฌ
- ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋๋นํด ์ ์ ํ ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ณต๊ตฌํ๋ ๊ฒ์ด ์ค์ํ๋ค.
- ํ์ง ์๊ณ ๋ฆฌ์ฆ ์ญ์ ๋น์ฉ์ด ์๋ชจ๋๋ฏ๋ก CPU์ ํจ์จ์ด ์ผ์ ์์ค ์ดํ๋ก ๋ด๋ ค๊ฐ ๋๋ง๋ค ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๋ค.
- ๊ต์ฐฉ์ํ ๋ณต๊ตฌ๋ฅผ ์ํด ๊ต์ฐฉ์ํ์ ๋ค์ด๊ฐ ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ์ข
๋ฃํ๋ ๋ฐฉ๋ฒ๊ณผ, ์ฌ์ดํด์ด ์ ๊ฑฐ๋ ๋ ๊น์ง ํ๋์ฉ ์ข
๋ฃ์ํค๋ ๋ฐฉ๋ฒ์ด ์๋ค.
- ์ ์ฒด๋ฅผ ์ข ๋ฃํ๊ฒ ๋๋ฉด ๋ณต์ ๋น์ฉ์ด ๋ง์ด ์๋ชจ๋๊ฒ ๋๋ค
- ํ๋์ฉ ์ข ๋ฃํ๋ฉด ์ฐ์ ์์์ ์ง์ฒ๋, ์ฌ์ฉ๋ ์์๋ฑ ๋ค์ํ ์์๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค.
๋ณตํฉ์ ์ ๊ทผ
์์ ๊ธฐ์ ํ ๊ต์ฐฉ์ํ ๋ฐฉ์ง, ํํผ, ํ์ง ๋ฐ ๋ณต๊ตฌ ๋ฑ์ ๋ณตํฉ์ ์ผ๋ก ์ฌ์ฉํ์ฌ ๊ต์ฐฉ์ํ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค. ์ด๋ฅผ ์ํด์๋ ์ฐ์ ์์คํ ์ ๊ตฌ์ฑํ๋ ์์์ ์ ํ๋ณ๋ก ๊ตฌ๋ถํ๋ค.
- ๋ด๋ถ ์์ (PCB ์ ๊ฐ์ด ์์คํ ์ ์ฌ์ฉ)
- ๋ฉ๋ชจ๋ฆฌ
- ์์ ์ฉ ์์ (ํ ์ดํ ์ฅ์น ๋ฑ)
- ๊ต์ฒด ๊ฐ๋ฅ ๊ณต๊ฐ (๋ณด์กฐ๊ธฐ์ต์ฅ์น ๋ฑ)
์ด์์ ์ธ ์กฐํฉ์ ์ํด ๊ฐ ์ ํ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ํ ๋ฐฉ๋ฒ์ ์ ํํ๋ค.
์ด๋ ์ผ๋ถ ์์์ ๋ํ ์์์ด๋ฉฐ ์์์ ๋ฐ๋ผ ๋ ๋ค์ํ ์กฐํฉ์ด ์์ ์ ์๋ค.
- ๋ด๋ถ์์์ ์์์ ์์๋ฅผ ์ฃผ๋ ๊ต์ฐฉ์ํ ๋ฐฉ์ง๋ฅผ ์ ํ
- → ์ํ๋๋ฉด์ ๊ธฐ๋ค๋ฆฌ๋ ์์ฒญ ์ค์ ํ ๋น ๋์์ ์ ํํ ํ์๊ฐ ์์
- ์ ์ ์ ํตํด ๊ต์ฐฉ์ํ ๋ฐฉ์ง
- → ๋ฉ๋ชจ๋ฆฌ ๋ฐ CPU ์์ ์ ๊ต์ฒด๊ฐ ๊ฐ๋ฅํจ
- ์์
์ฉ ์์
๋ฑ์ ๊ต์ฐฉ์ํ ํํผ๋ฅผ ์ ํ
- → ์์์ ๋ํ ์ ๋ณด๋ฅผ ์์ ์ ์ด ์นด๋๋ก ์ป์ ์ ์์
- ๊ต์ฒด ๊ฐ๋ฅ ๊ณต๊ฐ์ ๋ํด์๋ ์ฌ์ ํ ๋น์ ์ ํ
- → ๊ธฐ์ต์ฅ์น์ ์ต๋ ์ฌ์ฉ๋์ ์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋ฆฌ ์ ์ ์์
'๋ ธํธ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] 7. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (0) | 2022.06.07 |
---|---|
[์ด์์ฒด์ ] 6. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ (0) | 2022.05.25 |
[์ด์์ฒด์ ] 3. ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ (0) | 2022.05.10 |
[์ด์์ฒด์ ] 4. ๋ณํ ํ๋ก์ธ์ค (0) | 2022.05.09 |
[์ด์์ฒด์ ] 2. ํ๋ก์ธ์ค ๊ฐ์ (0) | 2022.04.08 |