โ
1. ๊ต์ฐฉ์ํ ํํผ
(1) ๊ต์ฐฉ์ํ ํํผ๋?
- ๊ต์ฐฉ์ํ ์๋ฐฉ: ๊ต์ฐฉ์ํ๊ฐ ์ผ์ด๋ ์ ์๋ ์กฐ๊ฑด 4๊ฐ์ง ์ค ํ๋๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ์๋ฐฉ์ ์๋ ํ์.
- ์ฆ, 4๊ฐ์ง ํ์ ์กฐ๊ฑด ์ค ํ๋๋ฅผ ์์ ์ ๊ฑฐํด๋ฒ๋ฆฌ๋ ์์ฃผ ๋ณด์์ ์ด๊ณ ์๊ฒฉํ ๊ท์น์ ์ ์ฉํ๋ ๋๋์ด์์.
- ๊ต์ฐฉ์ํ ํํผ: ํ๋ก์ธ์ค์ ์์ ์ฌ์ฉ์ ๋ํ ์ฌ์ ์ ๋ณด๋ฅผ ํ์ฉํด ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ์ง ์๋ ์ํ๋ฅผ ๊ณ์ํด์ ์ ์งํด์ฃผ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.
- ** ์ฆ, ์๋ฐฉ์ฒ๋ผ ๋ฌด์กฐ๊ฑด ๋ง๋๊ฒ ์๋, ์์ ์์ฒญ์ด ๋ค์ด์ฌ ๋๋ง๋ค ๋์ค์ ๋ฌธ์ ๊ฐ ์๊ธธ์ง ๋ฏธ๋ฆฌ ๊ณ์ฐํด๋ณด๊ณ ์์ ํ ๋๋ง ๋น๋ ค์ฃผ๋ ๋ฐฉ์์ผ๋ก ๋ณด๋ฉด ๋จ. **
- ์ฌ์ ์ ๋ณด: ํ์ฌ ํ ๋น๋ ์์ ์ ๋ณด, ๊ฐ์ฉ์ํ์ ์์ ์ ๋ณด, ํ๋ก์ธ์ค๋ค์ ์ต๋ ์๊ตฌ๋์ ๋ํ ์ ๋ณด๊ฐ ํ์ํจ.
(2) ์์ ์ํ์ ์์ ์์์ด
- ์์ ์ํ: ์ฌ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐํ์ ๋, ๊ต์ฐฉ์ํ๋ฅผ ํํผํ๋ฉด์ ํ๋ก์ธ์ค์ ์์ ์๊ตฌ๋์ ๋ชจ๋ ์ถฉ์กฑํ ์ ์๋ ์ํ์ธ ์ฆ, ํ๋ก์ธ์ค๊ฐ ์ํ๋ ์์๋ค์ ๋ชจ๋ ํ ๋น ํ ์ ์๋ ์ํ๋ฅผ ์์ ์ํ๋ผ๊ณ ๋ถ๋ฆ.
- ๊ฒฐ๋ก ์ ์์ ์์์ด์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ์ ์์.
- ๋ถ์์ ์ํ: ์์ ์ํ์ ์๋ฐ๋๊ฒ ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ ์ ์๋ ์์ ์์์ด์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋ถ์์ ์ํ๋ก ๋ณผ ์ ์์.
- ** ๋จ, ๋ถ์์ ์ํ๋ ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ ์๋ ์๊ณ , ์ํ ์๋ ์์. **
- ํต์ฌ: ์์ ์์์ด์ด ์กด์ฌํ๋๋ ์ํ๋๋์ ๋ฐ๋ผ ์์ ์ํ์ ๋ถ์์ ์ํ๋ก ๊ฐ๋ฆด ์ ์์ผ๋ฉฐ, ์์ ์ํ๋ฅผ ์ ์งํ๋๊ฒ ํต์ฌ์.
(3) ์์ ์์์ด
- ์์ ์์์ด: ์์๊ฐ ์กด์ฌํ๋ ํ๋ก์ธ์ค๋ค์ ์งํฉ์ ์๋ฏธํจ. ( ์ฆ, ํ๋ก์ธ์ค๋ค์ ์์๋๋ก ๋์ดํ ์ ์์ด์ผ ํจ )
- ํ๋ก์ธ์ค ์์ ๊ฒฐ์ ๊ธฐ์ค: ํ๋ก์ธ์ค๊ฐ ์ถ๊ฐ๋ก ์๊ตฌํ ์ ์๋ ์์์ ์์ด ํ์ฌ ๊ฐ์ฉ์ํ์ ์์์ผ๋ก ์ถฉ๋น๋๊ฑฐ๋ ํน์ ์ฌ๊ธฐ์ ํ ๋น๋ ์์๊น์ง ํฌํจํ์ฌ ์ถฉ๋น ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ ์์๊ฐ ๊ฒฐ์ ์ด ๋๋ค.
p1(์ต๋์๊ตฌ๋:5, ํ์ฌ ๋น๋ฆฐ ์์๊ฐ์:0)
p2(์ต๋์๊ตฌ๋:2, ํ์ฌ ๋น๋ฆฐ ์์๊ฐ์:1)
p3(์ต๋์๊ตฌ๋:8, ํ์ฌ ๋น๋ฆฐ ์์๊ฐ์:5)
r1(์์์ด๊ฐ์:8๊ฐ, ํ์ฌ์์๊ฐ์:2)
- ์์ ์ด๋ฏธ์ง์ ๋ํ ์์๋ฅผ ๋ค๋ฉด, ํ์ฌ ๊ฐ์ฉ ๊ฐ๋ฅํ ์์์ ์ํ๋ฅผ ๋ณด๋ฉด, 2๊ฐ๋ฅผ ๋ ๋น๋ฆด ์ ์๋ ์ํ์ด๋ฉฐ p1 ์ 5๊ฐ๋ฅผ ์ถ๊ฐ๋ก ๋น๋ ค์ผ ํ๋ฉฐ, p2๋ 1๊ฐ๋ฅผ ์ถ๊ฐ๋ก ๋น๋ ค์ผ ํ๊ณ , p3 ๋ 3๊ฐ๋ฅผ ์ถ๊ฐ๋ก ๋น๋ ค์ผ ํ๋ ์ํ์ด๋ค.
- ์ด ์ํ์์ r1์ ๋จ์ ์์์ ๊ฐ์๋ 2๊ฐ์ด๋ฏ๋ก, ํ ๋ฒ์ ๋น๋ฆด ์ ์๋ ํ๋ก์ธ์ค๋ p2๊ฐ 1๊ฐ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๋น๋ฆด ์ ์๊ฒ ๋์ด p2๊ฐ ๋จผ์ ๋น๋ฆฌ๊ฒ ๋๋ค.
- ์ดํ, p2๊ฐ ์์์ ์ฌ์ฉ ํ ๋ฐ๋ฉํ๊ฒ ๋๋ฉด, r1์ ์์ ๊ฐ์๋ 4๊ฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์ p1์ 5๊ฐ, p3๋ 3๊ฐ๊ฐ ํ์ํ ์ํฉ์ด๋ฏ๋ก, p3 ๊ฐ 4๊ฐ์ค 3๊ฐ์ ์์์ ๋น๋ ค๊ฐ๊ฒ ๋ ํ, ๋ฐ๋ฉ ํ p1์ด 5๊ฐ๋ฅผ ๋น๋ฆฌ๋ ์์ผ๋ก ํ๋ก์ธ์ค ์์๊ฐ ๊ฒฐ์ ์ด ๋๊ฒ ๋๋ค.
- ์ฆ, ํ์ฌ ๊ฐ์ฉ์ํ์ ์์์ผ๋ก ์ถฉ๋น์ ํ ๋ค, ์ฌ๊ธฐ์ ํ ๋น๋ ์์๊น์ง ํฌํจํ์ฌ ์ถฉ๋น ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ ์์๊ฐ ๊ฒฐ์ ์ด ๋จ.
- ** ๊ฒฐ๊ณผ์ ์ผ๋ก, p2, p3, p1 ์์ผ๋ก ์์ ์์์ด์ด ๊ฒฐ์ ์ด ๋๋ฉฐ, ํด๋น ์ํ๋ฅผ ์์ ์ํ๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋จ. **
- ์๊ฐ T2: p1 ์ด ๋ง์ฝ 1๊ฐ๊ฐ ํ์ํ๋ค๊ณ ํด์, r1์ ๋จ์์๋ 2๊ฐ ์ค 1๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ ๊ฒฝ์ฐ p2 ๋ r1์์ 1๊ฐ๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ฌ์ฉ์ ํ๊ณ ๋ฐ๋ฉ์ ํ๊ฒ ๋์ด, p2๊ฐ ๋จผ์ ์ํ์ด ๋์ด ๋ฐ๋ฉ์ด ๋ ๊ฒ์ด๊ณ , ๋ ๋ฒ์งธ๋ก๋ p1(4๊ฐ), p3(3๊ฐ) ํ์ํ ์ํฉ์ธ๋ฐ, r1์๋ ํ์ฌ 2๊ฐ ๋ฐ์ ๊ฐ์ฉ ์์์ด ์๊ธฐ ๋๋ฌธ์ ์์ ์์์ด์ด ์กด์ฌํ์ง ์์ ๋ถ์์ ์ํ๊ฐ ๋ ๊ฒ์.
- ** ์ฆ, ๊ฐ์ฉ ์ํ์ ๋จ์ ์์์ด ์๋ค๊ณ ํด๋, ์ต๋์๊ตฌ๋์ ๋ง์ถฐ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๊ณ ๋ฐ๋ฉ์ ํด์ฃผ๋ ๊ฒ์ ์ฐ์ ์ ์ธ ๋ชฉํ๋ก ์ผ์์ผ ์์ ์์์ด์ด ๋ง๋ค์ด์ ธ ์์ ์ํ๊ฐ ๋จ. **
- ์ ๋ฆฌ: ์ด๋ฌํ ๋ถ์์ ์ํ๊ฐ ๋๋ ์๊ตฌ๋ฅผ ๋ง์์ฃผ๋ ์ญํ ์ด ๊ต์ฐฉ์ํ ํํผ์.
(4) ๊ต์ฐฉ์ํ ํํผ - ์ ๋ฆฌ
- ์ ๋ฆฌํ๋ฉด, ๊ต์ฐฉ์ํ ํํผ์์ ๊ต์ฐฉ์ํ๋ ์์ ์์์ด์ด ์กด์ฌํ์ง ์๋ ๋ถ์์ ์ํ์์๋ง ๋ฐ์์ด ๊ฐ๋ฅํ๋ฉฐ, ํญ์ ์์ ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ฉฐ, ํ๋ก์ธ์ค๊ฐ ๊ฐ์ฉ์ํ์ ์์์ ์๊ตฌํ๋๋ผ๋ ์ต๋์๊ตฌ๋์ ๋ง์ถฐ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๊ณ ๋ฐ๋ฉ์ ํด์ฃผ๋ ๊ฒ์ ๋ชฉํ๋ก ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋๊ธฐ์ํ๊ฐ ๋ ์ ์์.
- ๊ฐ์ฉ์์์ด ์์์๋ ์์ ํ ๋น ์ดํ์๋ ๊ฐ ํ๋ก์ธ์ค๊ฐ ์ต๋ ์๊ตฌ๋๊น์ง ๋ชจ๋ ๋ง์กฑํ๊ณ ์ข
๋ฃ๋ ์ ์๋ ์์(์์ ์์)๊ฐ ์กด์ฌํ ๋๋ง ํ ๋น์ด ๋๊ธฐ ๋๋ฌธ์, ์์์ด์ฉ์จ์ ๋ค์ ๋ฎ์์ง ์ ์์.
(5) ๊ต์ฐฉ์ํ ํํผ - ์๊ณ ๋ฆฌ์ฆ
- ๊ฐ ์์์ ๋จ์์์์ด ํ๋๋ฐ์ ์๋ ๊ฒฝ์ฐ: ๋ณํ๋ ์์ํ ๋น ๊ทธ๋ํ๋ฅผ ์ด์ฉํ์ฌ ๊ต์ฐฉ์ํ ํํผ๋ฅผ ํ ์ ์์.
- ๊ฐ ์์์ ๋จ์์์์ด ์ฌ๋ฌ ๊ฐ์ผ ์ ์๋ ๊ฒฝ์ฐ: ์ํ์ ์๊ณ ๋ฆฌ์ฆ ์ด์ฉํ์ฌ ๊ต์ฐฉ์ํ ํํผ๋ฅผ ํ ์ ์์.
(6) ๊ต์ฐฉ์ํ ํํผ - ์๊ณ ๋ฆฌ์ฆ ( ๋ณํ๋ ์์ํ ๋น ๊ทธ๋ํ )
- ๊ธฐ์กด ์์ํ ๋น ๊ทธ๋ํ: ์๊ตฌ๊ฐ์ , ํ ๋น๊ฐ์ 2์ข
๋ฅ์ ๊ฐ์ ์ด ์กด์ฌํ์.
- ๋ณํ๋ ์์ํ ๋น ๊ทธ๋ํ: ๋จ์์์ ๊ฐ์ ํ์๋ฅผ ์ ๊ฑฐํ ์ํ์ด๋ฉฐ, ์ ์ธ๊ฐ์ ์ด ์ถ๊ฐ ๋ ์์ํ ๋น ๊ทธ๋ํ๋ฅผ ์๋ฏธํ๋ค.
- ์ ์ธ๊ฐ์ : ํ๋ก์ธ์ค์์ ์์์ผ๋ก ํฅํ๋ ๊ฐ์ ์ด๋ฉฐ, ํด๋น ํ๋ก์ธ์ค๊ฐ ์์ผ๋ก ํด๋น ์์์ ์์ฒญ์ ํ ์ ์๋ค๋ ์๋ฏธ์.
- ** ์๊ตฌ๊ฐ์ ๊ณผ ๊ตฌ๋ถ์ ์ํด ์ ์ ์ผ๋ก ํ์๋ฅผ ํ๋ฉฐ, ์์ผ๋ก ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ๊ฒ ๋ ๊ฒ์์ ๋ช
์ํจ. **
- ๋ณํ๋ ์์ํ ๋น ๊ทธ๋ํ๋ก ๊ต์ฐฉ์ํ ํํผ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ทธ๋ํ์์์ ์งํ์ ํด๋ณด๊ณ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์ค์ ๋ก ์ํํจ.
- (1) ์์์ ์๊ตฌ๋ฐ์ผ๋ฉด ํด๋น ์ ์ธ๊ฐ์ ์ ์๊ตฌ๊ฐ์ ์ผ๋ก ๋ณ๊ฒฝ
- (2) ๊ทธ๋ํ์์์๋ง ๊ทธ ์๊ตฌ๊ฐ์ ์ ํ ๋น๊ฐ์ ์ผ๋ก ๋ณํํด ๊ณ์ฐ์ ํด๋ณด๊ณ ์ฌ์ดํด์ด ์๊ธฐ์ง ์๋ ๊ฒฝ์ฐ์๋ง ์ค์ ๋ก ์์์ ํ ๋นํ๊ณ ํ ๋น๊ฐ์ ์ผ๋ก ๋ณํ์ ํ๊ฒ ๋จ.
- ์์ ์ํ ์์: ์์๋ฅผ ๋ณด๋ฉด, p1์ด r2๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ์ ์ ์ธ๊ฐ์ ์ ์๊ตฌ๊ฐ์ ์ผ๋ก ๋ณ๊ฒฝ์ ํด์ฃผ๊ณ , ๊ทธ๋ํ ์์์ ํ์ธํด ๋ณธ ๊ฒฐ๊ณผ ์ฌ์ดํด์ด ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก, ์์ ์ํ๋ก ๋ณด๊ณ ํ ๋น๊ฐ์ ์ผ๋ก ๋ณ๊ฒฝ์ ํด์ฃผ๊ฒ ๋จ.
- ๋ถ์์ ์ํ ์์: ๋ ๋ค๋ฅธ ๋ถ์์ ์ํ์ ๋ํ ์์๋ฅผ ๋ณด๋ฉด, p2๊ฐ r2๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ p2 ๋ r1์ ์๊ตฌํ๋ ์ํฉ์ด๊ณ , p1์ r1์ ์ด๋ฏธ ๋น๋ฆฌ๊ณ ์๋ ์ํฉ์ด๊ธฐ ๋๋ฌธ์ p2์๊ฒ r2๋ฅผ ํ ๋นํ๊ฒ ๋๋ค๋ฉด, p1์ด r2๋ฅผ ์ ์ธ๊ฐ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์๋ก์ ์์์ ์๊ตฌํ๋ ์ํฉ์ด๋์ด, ์ฌ์ดํด์ด ๋ฐ์ํด ๊ต์ฐฉ์ํ๊ฐ ๋ ์ ์์. ์ฆ, ๋ถ์์ ์ํ์ด๋ฉฐ, ์ด ๊ฒฝ์ฐ์๋ ์์์ ํ ๋นํ์ง ์๊ฒ ๋จ.
- ์ ๋ฆฌ: ์์์ ๋จ์์์์ด ํ๋๋ฐ์ ์๋ ๊ฒฝ์ฐ์๋ ๋ณํ๋ ์์ํ ๋น ๊ทธ๋ํ ๋ง์ผ๋ก ํ๋จํด ๊ต์ฐฉ์ํ๋ฅผ ํด๊ฒฐ ํ ์ ์์.
(7) ๊ต์ฐฉ์ํ ํํผ - ์๊ณ ๋ฆฌ์ฆ ( ์ํ์ ์๊ณ ๋ฆฌ์ฆ )
- ์ํ์ ์๊ณ ๋ฆฌ์ฆ: ์์์ ์๊ตฌ๋ฐ์ผ๋ฉด ํด๋น ์์์ ํ ๋นํด ์ฃผ๊ณ ๋ ํ์ ์ํ๋ฅผ ๊ณ์ฐํด์ ๊ทธ๊ฒ์ด ์์ ์ํ์ธ์ง ํ์ธ์ ํ๊ณ , ์์ ์ํ๊ฐ ๋ณด์ฅ๋๋ ๊ฒฝ์ฐ์๋ง ์์์ ํ ๋นํด์ฃผ๋ ๋ฐฉ์์ ์๊ณ ๋ฆฌ์ฆ์.
- ์ํ์ ์๊ณ ๋ฆฌ์ฆ ๋ํ, ๋ณํ๋ ์์ํ ๋น ๊ทธ๋ํ์ ๋์ผํ๊ฒ, ์์ ์๊ตฌ์ ๋ฐ๋ผ ํ ๋น์ ํด์ค๋ค๋ฉด ์์ ์์์ด์ด ์กด์ฌํ๋๊ฐ์ ๋ํ ๊ณ์ฐ๋ง์ ๋ฏธ๋ฆฌ ํด๋ณด๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ.
- ์ํ์ ์๊ณ ๋ฆฌ์ฆ ์์: ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์์๋ฅผ ์ดํด๋ณด๋ฉด ์ต๋์๊ตฌ๋, ํ ๋น์์, ์ถ๊ฐ์๊ตฌ, ๊ฐ์ฉ์์ ๋ฑ์ ์ค์ ๋ก ๋ณ์๋ก์จ ๋ง๋ค์ด์ ๊ณ์ฐ์ ํ๋ ๊ฒ์ผ๋ก ๋ณด๋ฉด ๋จ.
- MAX: ํ๋ก์ธ์ค์ ์ต๋์๊ตฌ๋ ( ex: p1 = 5, p2 = 2, p3 = 8 )
- ALLOC: ํ์ฌ ํ๋ก์ธ์ค์ ํ ๋น ๋์ด์๋ ์์์ ์ ( ex: p1 = 0, p2 = 1, p3 = 5 )
- NEED: ํ๋ก์ธ์ค์ ์์ผ๋ก ์ผ๋ง๋ ๋ ์์์ด ํ์ํ์ง ๋ํ๋ด๋ ์ ( ex: pr1 = 5, p2 = 1, p3 = 3 )
- AVAIL: ํ์ฌ ์์์ ์๋ ๊ฐ์ฉ์์์ ์ ( ex: r1 = 2๊ฐ๊ฐ ๋จ์์์ )
- ** ๋ํ, ์์์ ์ข
๋ฅ๊ฐ r1, r2, r3.. ๋์ด๋จ์ ๋ฐ๋ผ์, ๋ณ์์ ๊ดํธ์ ๊ฐ์ด ALLOC(0,3,5,...) ์ด๋ฐ์์ผ๋ก ๋์ด๋ ์ ์์. ์ฆ, ์ฌ๋ฌ๊ฐ์ ๊ฐ๋ค์ ๋ณ์ ํ๋๋ก ๊ด๋ฆฌํ๋ค๊ณ ๋ณด๋ฉด ๋จ. **
- ํต์ฌ ๋ถ๋ถ์ safe() ํจ์์ด๋ฉฐ, ํด๋น ํจ์๋ฅผ ํตํด์ ์์ ์์์ด์ด ์กด์ฌํ๋๊ฐ๋ฅผ ๊ณ์ฐํด์ ํ์
์ ํ ์ ์์.
- p1(MAX): MAX(์ต๋์๊ตฌ๋) ์ ๊ฐ์ด r1์๊ฒ๋ 7๊ฐ๋ฅผ ์๊ตฌํ๋ฉฐ, r2์๋ 5๊ฐ๋ฅผ ์๊ตฌํ๊ณ ์์.
- p1(ALLOC): ALLOC(ํ์ฌํ ๋น๋) ์ ๊ฐ์ด r1์๊ฒ์ 0๊ฐ, r2์๊ฒ์ 2๊ฐ๋ฅผ ํ ๋น๋ฐ๊ณ ์์.
- p1(NEED): NEED(์ถ๊ฐํ ๋น๋) ์ ๊ฐ์ด r1์๊ฒ์ 7๊ฐ๊ฐ ํ์ํ๋ฉฐ, r2์๊ฒ์๋ 3๊ฐ๊ฐ ์ถ๊ฐ์ ์ผ๋ก ํ์ํจ.
- p2(MAX, ALLOC, NEED): p1์ ๋์ผํ๊ฒ ์ต๋์๊ตฌ๋, ํ์ฌํ ๋น๋, ์ถ๊ฐํ ๋น๋์ด r1, r2์ ๋ํด์ ๊ฐ๊ฐ ์กด์ฌํจ.
- p3(MAX, ALLOC, NEED): p1, p2์ ๋์ผํ๊ฒ r1, r2์ ๋ํด ์กด์ฌํจ.
- AVAIL: AVAIL(๊ฐ์ฉ์์์)์ด ํ์ฌ p1,p2,p3 ์๊ฒ r1,r2 ์์๋ค์ด ํ ๋น์ ํด์ฃผ๊ณ ๋จ์ ๊ฐ์ธ (3,3) ์ ๊ฐ์ด ๋ค์ด๊ฐ ์์.
- ์์ ์๊ณ ๋ฆฌ์ฆ ์คํ: AVAIL(๊ฐ์ฉ์์์)์ ๋ณ์๊ฐ์ ๊ฐ์ง๊ณ ์์ WORK ๋ณ์์ ๋ฃ๊ฒ๋๋ฉฐ, WORK์ p1,p2,p3 ๊ฐ ํ๋ก์ธ์ค์ NEED(์ถ๊ฐํ ๋น๋) ๋ณ์์ ๊ฐ๊ณผ ๋น๊ต ํ ๊ฐ์ฉ์์์๋ณด๋ค ๊ฐ๊ฑฐ๋ ์ ์ด์ ํ ๋น์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ง false ์ด๊ธฐ ์ํ๋ฅผ true๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉฐ, ์์ ์์์ด์ ๋ฃ๊ฒ ๋จ.
- ** ์ฆ, AVAIL = (3,3) ์ธ๋ฐ, p1์ p3๋ ๊ฐ๊ฐ NEED ๊ฐ์ด AVAIL ๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ p2๊ฐ ๋จผ์ ์์์ ๋ชจ๋ ํ ๋น ๋ฐ์ ์ฒ๋ฆฌ ํ ์์์ ๋ฐ๋ฉํด ๋ค์ p3 -> p1 ์์ผ๋ก ์ฒ๋ฆฌ๊ฐ ๋๋ ๊ฒ์. **
- ๊ฒฐ๊ณผ์ ์ผ๋ก p2, p3, p1 ์์ ์์์ด์ด ๋ง๋ค์ด์ง ์ ์์ผ๋ฉฐ, ์์ ์ํ๊ฐ ๋จ.
- (1) p1 ์ด r1๊ณผ r2 ์๊ฒ ๊ฐ 1,1 ์ฉ ์์์ ์ํด์ ๊ฐ์ ธ๊ฐ ์ํ -> AVAIL = (2, 2) ์ธ ์ํ
- (2) p2 ์ NEED ๋ 2, 1 ์ด๋ฏ๋ก, AVAIL(ํ์ฌ๊ฐ์ฉ๋) ์ด 2, 2 ๋ผ ์์์ ๋น๋ฆด ์ ์์.
- (3) p2๊ฐ ํ ๋น์ ๋ฐ๊ณ ์ฒ๋ฆฌ๋ฅผ ํ ๋ค ๋ฐ๋ฉ์ ํ๋ฉด AVAIL(ํ์ฌ๊ฐ์ฉ๋)์ 3,7 ๋ก ๋ณํจ.
- (4) AVAIL(ํ์ฌ๊ฐ์ฉ๋) ์ด 3, 7 ๋ก p1 ๋๋ p3 ํ๋ก์ธ์ค๋ NEED ๋ฅผ ๋ ์ด์ ํ ์ ์์ผ๋ฏ๋ก, ๋ถ์์ ์ํ๊ฐ ๋จ.
- safe ํจ์: ์ฆ, ์ด๋ ๊ฒ ์คํ ๊ฐ๋ฅํ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ฐพ์ผ๋ฉฐ, FINISH ๋ฐฐ์ด์ ๋ชจ๋ ์์๊ฐ true ์ธ ์ํ๊ฐ ์์ ์ํ๋ก ๋ณผ ์ ์์ผ๋ฉฐ, safe ํจ์๊ฐ ์์ ํ์ง๋ฅผ ํ๋จ์ ํด์ฃผ๋ ํต์ฌ ๋ก์ง์.
- ** ๋ํ, ์ด๋ ๊ฒ ์๋ฎฌ๋ ์ด์
์ ๋๋ ค๋ณธ ๊ฒฐ๊ณผ๋ก REQ = (1, 1) ๋ก ์ธํด ๋ถ์์ ์ํ๊ฐ ๋ ๊ฒ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ REQ ์ ์์ฒญ์ ๋ค์ด์ฃผ๋ฉด ์๋๋ค๊ณ ํ๋จํด ์๋ค์ด์ฃผ๊ฒ ๋จ. **
- ** ๊ฒฐ๋ก ์ ๋ถ์์ ์ํ๋ก ๊ต์ฐฉ์ํ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๊ฒ ๋จ. **
โ
2. ๊ต์ฐฉ์ํ ํ์ง ๋ฐ ๋ณต๊ตฌ
(1) ๊ต์ฐฉ์ํ ํ์ง ๋ฐ ๋ณต๊ตฌ ๋ฐฉ์์ด๋?
- ๊ต์ฐฉ์ํ ํ์ง ๋ฐ ๋ณต๊ตฌ ๋ฐฉ์์ ๊ต์ฐฉ์ํ๊ฐ ์ผ์ด๋ฌ์ ๋ ์ฆ, ์ฌํ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๊ต์ฐฉ์ํ ํํผ ๋จ์ : ๊ฐ ํ๋ก์ธ์ค์ ์ต๋ํ ๋น๋์ ์์์ผํ๋ฉฐ, ํด๋น ๊ฐ์ ์ ์ ์กฐ๊ฑด์ผ๋ก ๋๋ฆฌ๊ฒ ๋๋๋ฐ ๋ฌธ์ ๋ ์ต๋ํ ๋น๋์ ๋ฏธ๋ฆฌ ๋ค ์๊ณ ์๊ธฐ์๋ ์ฝ์ง๊ฐ ์๋ค๋ ๋จ์ ์ด ์กด์ฌํจ.
- ๋ํ, ์์ ์์์ด์ ๋๋ฆฌ๋๊ฑด ๋งค ์๊ฐ๋ง๋ค ๋๋ฆฌ๊ฒ ๋๋๋ฐ ์์คํ
์ ๋ถ๋ด์ด ๋๋ ๋จ์ ๋ ์กด์ฌํจ.
- ๊ทธ๋์ ํํผ๋ณด๋จ ์ฐจ๋ผ๋ฆฌ ํ์ง ๋ฐ ๋ณต๊ตฌ์ ๋ํ ์ ๊ทผ์ ํ๊ฒ ๋จ.
- ๊ต์ฐฉ์ํ ํ์ง: ์์คํ
์ ๊ต์ฐฉ์ํ ์ฌ๋ถ๋ฅผ ์กฐ์ฌํ๊ธฐ ์ํด ๋งค ์๊ฐ๋ง๋ค ํ์ง๋ ํ๋ ๊ฒ์ ์๋๋ฉฐ(์์คํ
์ ๋ถ๋ด์ด ๋๊ธฐ ๋๋ฌธ), ์ ๋นํ ์์ ๋ง๋ค ์ฃผ๊ธฐ์ ์ผ๋ก ์ํ ์กฐ์ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ํ์ด ๋๊ฒ ๋จ.
- ๊ต์ฐฉ์ํ ๋ณต๊ตฌ: ๊ต์ฐฉ์ํ ํ์ง๋ฅผ ํตํด ๊ต์ฐฉ์ํ ๋ณต๊ตฌ ์์
์ด ๋ค์ด๊ฐ๋ฉฐ, ์ ์ ํ ์กฐ์น๋ฅผ ํตํด ์ ์์ํ๋ก ๋ณต๊ตฌ๋ฅผ ํ๊ฒ ๋จ.
(2) ๊ต์ฐฉ์ํ ํ์ง
- ๊ต์ฐฉ์ํ ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ์์ ๋ณธ ์ํ์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋์๊ณผ์ ์ ๊ฑฐ์ ๋น์ทํจ.
- ๋ค๋ง ์ฐจ์ด์ ์ ํ์ฌ ์ค์ ์ํ๋ฅผ ์ฒดํฌํ๊ณ ์๊ธฐ ๋๋ฌธ์ NEED ๋ ํ์ํ์ง ์์.
- ์ฝ๊ฒ ๋งํด, ๊ต์ฐฉ์ํ ํํผ์ ๊ฒฝ์ฐ ์ง๊ธ ๋น์ฅ ์์์ ์ค๋ ๋ฏธ๋๊น์ง ์์ ํ์ง ๋ฏธ๋ฆฌ ์๋ฎฌ๋ ์ด์
ํด๋ณด๊ณ ์์ ํ๋ฉด ํ ๋นํ๋ ๋๋์ด์ง๋ง ๊ต์ฐฉ์ํ ํ์ง์ ๊ฒฝ์ฐ ์์์ ๋น๋ฆฌ๊ณ ๋ฐ๋ฉํ๋ ๊ณผ์ ์ด ๊ณ์ ์ผ์ด๋๋ ์ํฉ์์ ํน์ ์์ ์ ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํ์ฌ ์ ์ /์์ฒญ ์ํ๋ฅผ ํตํด ํ์
์ ํ๊ฒ ๋๋ ์๋ฆฌ์.
- ํ์ง๋ฅผ ํตํด ๊ต์ฐฉ์ํ ์ฌ๋ถ๋ฅผ ํ์
ํ ๋ค์๋ ๋ณต๊ตฌ์์
์ ์ถ๊ฐ์ ์ผ๋ก ์งํ์ ํด์ค์ผํจ.
- ์๊ฐ๋ณต์ก๋๊ฐ O(mn^2) ์ด๊ธฐ ๋๋ฌธ์, ๊ณ์ํด์ ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ๋๋ฆฌ๊ธฐ์๋ ํจ์จ์ ์ด์ง ๋ชปํจ.
- ํ์ง ์๊ณ ๋ฆฌ์ฆ ์ํ ์์ :
- (1) ์ ํด์ง ์๊ฐ๊ฐ๊ฒฉ์ ์ํด ์ํ์ด ๋จ.
- (2) ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ๋๋ฐ ํ ๋น์ด ์๋๋ ๊ฒฝ์ฐ
- (3) CPU ํจ์จ์ด ์ผ์ ์์ค ์ดํ๋ก ๋จ์ด์ง ๋
- ** ํ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ด์๊ฐ์ ์ํฉ์์ ์ํ์ด ๋จ. **
(3) ๊ต์ฐฉ์ํ ๋ณต๊ตฌ
- ๊ต์ฐฉ์ํ๊ฐ ํ์ง๋๋ฉด ๋ณต๊ตฌ๋ฅผ ์งํํ๊ฒ ๋จ.
- ๋ณต๊ตฌ ์ฃผ์ฒด: ์คํผ๋ ์ดํฐ(์ฌ๋)์ด ์์์
์ผ๋ก ๋ณต๊ตฌ ๋๋ ์ด์์ฒด์ ๊ฐ ์๋์ผ๋ก ๋ณต๊ตฌ๋ฅผ ์งํํ ์ ์์.
- ๋ณต๊ตฌ ๋ฐฉ๋ฒ: ๊ต์ฐฉ์ํ ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃ ์ํค๊ฑฐ๋, ๊ต์ฐฉ์ํ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์ ์ ์์์ ํด์ ํ๋ ๋ฐฉ๋ฒ์ด ์์.
- ** ๊ต์ฐฉ์ํ ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃ ์ํค๋ ๋ฐฉ๋ฒ์ผ๋ก ํฌ๊ฒ 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌํจ. **
- ๋ฐฉ๋ฒ1: ๊ต์ฐฉ์ํ์ ๊ด์ฌํ๋ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃ์ํค๋ ๋ฐฉ๋ฒ
- ๋จ์ : ์งํํ๋ ๋ด์ฉ์ ๋ํ ๋ณต์๋น์ฉ์ด ํฌ๋ค๋ ๋จ์ ์ด ์กด์ฌํจ.
- ๋ฐฉ๋ฒ2: ์ฌ์ดํด์ด ์ ๊ฑฐ๋ ๋๊น์ง ๊ต์ฐฉ์ํ ํ๋ก์ธ์ค๋ฅผ ํ๋์ฉ ์ข
๋ฃํ๋ฉด์ ์งํํ๋ ๋ฐฉ๋ฒ
- ๋จ์ : ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ข
๋ฃํ ์ง ์ข
๋ฃ ๋์์ ์ ํํ๋๋ฐ ์ถ๊ฐ์ ์ธ ๋น์ฉ์ด ๋ค๋ฉฐ, ๋งค ํ๋ก์ธ์ค ์ข
๋ฃ ํ ๊ต์ฐฉ์ํ ์ฌํ์ธ์ ๋ ํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ๋น์ฉ์ด ๋ฆ.
- ** ๊ต์ฐฉ์ํ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ํด์ ํ๋ ๋ฐฉ๋ฒ์ด๋ฉฐ, ์ฌ์ดํด์ด ์ ๊ฑฐ๋ ๋๊น์ง ํ ๋น๋ ์์์ ๋จ๊ณ์ ์ผ๋ก ์ ์ ํ์ฌ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ ํ ๋นํ๋ ๋ฐฉ์์. **
- ํ๋ก์ธ์ค์ ์์ ์ ํ ๊ธฐ์ค: ํ๋ก์ธ์ค ์ง์ฒ๋, ์ฌ์ฉ ์ค์ธ ์์์ ์๋ฑ์ ๊ณ ๋ คํ์ฌ ์์์ ํด์ ํด์ค์ผ ํ๋ฉฐ, ์๋ฅผ๋ค๋ฉด p1 ์ ์ง์ฒ๋๊ฐ 90%, p2 ์ ์ง์ฒ๋๊ฐ 10% ์ธ ๊ฒฝ์ฐ 90% ์ p1 ์ ์์์ ํด์ ์ํค๋ฉด ๊ทธ๋งํผ ๋ง์ ์์์ด ํด์ ๊ฐ ๋๋ฏ๋ก, ๋ง์ ํ๋ก์ธ์ค๋ค์ด ์งํ์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง, ํด์ ํ ๋ค์ ๋ณต๊ตฌํ๋ ๋น์ฉ์ด ํฌ๋ค๋ ๋จ์ ์ด ์๋ค. ๋ฐ๋ฉด, 10% ์ธ p2 ์ ์์์ ํด์ ์ํค๋ฉด ๋ณต๊ตฌ ๋น์ฉ์ ๋ฎ์ง๋ง, ๊ทธ๋งํผ ์ ์ ์์์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ๋ง์ง ์์ ํ๋ก์ธ์ค๋ค์ด ์งํ์ด ๋ ์ ์๋ ๋จ์ ์ด ์์.
- ํ๋ก์ธ์ค์ ๋ณต๊ท ์์ ๋ ์ ๋ฐ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ๊ฒฐ์ : ์์ ํด์ ์ ํด๋น ํ๋ก์ธ์ค์ ์์์ ๋ชจ๋ ๋บ ๊ฒ์ธ์ง ์๋๋ฉด ํ๋์ฉ ๋นผ๋ฉด์ ์ฒดํฌ๋ฅผ ํ ๊ฒ์ธ๊ฐ์ ๋ํ ๋ด์ฉ์.
- ๊ธฐ์์ํ์ ๋น ์ง์ง ์๋๋ก ํ๋ก์ธ์ค ์ ํ ์ ๋ณต๊ตฌ ํ์ ๊ณ ๋ ค: ์์์ ํด์ ๋นํ ํ๋ก์ธ์ค๊ฐ ๋ณต๊ท ์์ ์ ๊ต์ฐฉ์ํ๊ฐ ๋ ์ผ์ด๋ ์์์ ๋ ํด์ ๋นํ๋ ๊ธฐ์์ํ์ ๋น ์ง ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค ์ ํ ์ ๋ณต๊ตฌ ํ์๋ฅผ ๊ณ ๋ คํด์ผํจ.
(4) ๊ต์ฐฉ์ํ ์ ๋ฆฌ
- ๊ต์ฐฉ์ํ ์๋ฐฉ: ๊ต์ฐฉ์ํ 4์กฐ๊ฑด ์ค ํ๋๋ฅผ ๋ฌด์กฐ๊ฑด ๊นจ๋ฒ๋ฆฌ๋ ๋ฐฉ์
- ๊ต์ฐฉ์ํ ํํผ: ์ง๊ธ ์์ฒญ์ ํ์ฉํ์ ๋ ์์ ํ์ง ์๋ฎฌ๋ ์ด์
ํด์ ํ๋จ
- ๊ต์ฐฉ์ํ ํ์ง ๋ฐ ๋ณต๊ตฌ: ์ผ๋จ ์คํํ๊ณ , ๋ฌธ์ ์๊ธฐ๋ฉด ๊ทธ๋ ๊ต์ฐฉ์ํ๋ฅผ ์ฒ๋ฆฌ
- ๊ต์ฐฉ์ํ ์๋ฐฉ, ๊ต์ฐฉ์ํ ํํผ ๋ฐฉ์์ ํ์ค์์๋ ๊ฑฐ์ ์ ์ฐ๊ณ , ์ค์ ์์คํ
์์๋ ๋ณดํต ํ์ง ๋ฐ ๋ณต๊ตฌ ์ชฝ์ ๋ ๋ง์ด ์ ํํจ.
(5) ์ฌ๊ธฐ๊น์ง ์ ๋ฆฌ
- ํ๋ก์ธ์ค ๊ด๋ฆฌ์: ์ ์ฒด ์ฃผ๋ฐฉ์ฅ (์ด๊ด)
- CPU ์ค์ผ์ค๋ง: ์๋(ํ๋ก์ธ์ค)์๊ฒ ์๋ฆฌ(CPU ์์)๋ฅผ ๋๊ฐ๋ ์์๋ฅผ ์ ํ๋ ๋ฐฐ์ฐจ/์๋ฒ ์์คํ
- ๋ณํ์ฑ/์๊ณ์์ญ/๋๊ธฐํ: ์ฌ๋ฌ ์๋ฆฌ์ฌ๊ฐ ์ข์ ์ฃผ๋ฐฉ์์ **๊ณต๋ ๋๊ตฌ(๊ณต์ ์์)**๋ฅผ ์ธ ๋ ์ธ์ฐ์ง ์๊ฒ ํ๋ ์ฃผ๋ฐฉ ๊ท์น
- ๊ต์ฐฉ ์ํ: ๋ ์๋ฆฌ์ฌ๊ฐ ์๋ก์ ๋๊ตฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ์๋ฌด๊ฒ๋ ๋ชป ํ๋ ๋ง๋น ์ํ๋ฅผ ํธ๋ ๋์ฑ