Philosophers bonus ๋™์ž‘๋ฐฉ์‹

1. ๋ฉ˜๋ฐํ† ๋ฆฌ

1.1 ๋™์ž‘๋ฐฉ์‹

๋ฉ˜๋ฐํ† ๋ฆฌ ์ฒ ํ•™์ž ๊ณผ์ œ๋Š” philoํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฒ ํ•™์ž ์Šค๋ ˆ๋“œ๋“ค์„ ์ƒ์„ฑํ•˜์—ฌ ์ƒ์กด์‹œํ‚ค๋Š” ๊ณผ์ œ์ด๋‹ค. ํ•ด๋‹น๊ณผ์ œ์—์„œ ๋ฉ”์ธ์Šค๋ ˆ๋“œ์˜ ์—ญํ• ๊ณผ ๋‚˜๋จธ์ง€ ์ฒ ํ•™์ž ์Šค๋ ˆ๋“œ๋“ค์˜ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋‚ด ์Šค๋ ˆ๋“œ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ stack์ •๋„๋งŒ ๊ฐ์ž์˜ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , heap, code๊ณต๊ฐ„ ๋“ฑ์€ ๊ณต์œ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ heap์˜ ํŠน์„ฑ์„ ์ด์šฉํ•ด ๋ฎคํ…์Šค๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด heap์˜์—ญ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜์˜€๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ, printfํ•˜์—ฌ ์ถœ๋ ฅํ• ๋•Œ, ์ถœ๋ ฅ ๋„์ค‘ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋กœ ๋„˜์–ด๊ฐ€์„œ ํ…์ŠคํŠธ๊ฐ€ ์„ž์ด๋Š” ํ˜„์ƒ์ด ๊ฐ„ํ˜น ๋ฐœ์ƒํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ announce๋ผ๋Š” ๋ณ„๋„์˜ ๋ฎคํ…์Šค๋ฅผ ๋งŒ๋“ค์–ด mutex_lock(announce)๋ฅผ ํ†ต๊ณผํ•œ ์Šค๋ ˆ๋“œ๋งŒ ์ถœ๋ ฅํ• ์ˆ˜ ์žˆ๊ฒŒ(ํ•œ๋ฒˆ์— ํ•˜๋‚˜์”ฉ) ํ•˜์˜€๋‹ค.

1.2 ๊ต์ฐฉ ํšŒํ”ผ

1.2.1 ๊ต์ฐฉ์ƒํƒœ(๋ฐ๋“œ๋ฝ) ์กฐ๊ฑด๊ณผ ๋Œ€์‘๋ฒ•

๊ต์ฐฉ์ƒํƒœ๋Š” ๊ฐ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ/ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑ์‹œ ๋ฐœ์ƒํ•œ๋‹ค.

์ด๋ฅผ ํ•ด๋‹น๊ณผ์ œ์— ์ ์šฉ์‹œ์ผœ๋ณด๋ฉด, ๋ชจ๋“  ์ฒ ํ•™์ž๊ฐ€ ์ž์‹ ์˜ ์™ผ์ชฝ ํฌํฌ๋งŒ ๋“ค๊ณ  ์˜ค๋ฅธ์ชฝ ํฌํฌ๋ฅผ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์ด๋‹ค. ์ด ์ƒํƒœ๋ฅผ ๊ต์ฐฉ์ƒํƒœ ํ•„์š”์กฐ๊ฑด์„ ํŒŒ์•…ํ•˜๋ฉด ํฌํฌ๋Š” ๋ˆ„๊ฐ€ ์ง‘์œผ๋ฉด ์ง‘์„์ˆ˜์—†๊ณ (์ƒํ˜ธ๋ฐฐ์ œ), ๋บ์„์ˆ˜ ์—†๋Š”(๋น„์„ ์ ) ํŠน์ง•์„ ์ง€๋‹Œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋‘ ์™ผ์ชฝํฌํฌ๋ฅผ ๋“ค๊ณ  ์˜ค๋ฅธ์ชฝํฌํฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์œผ๋ฉฐ(์ ์œ ์™€ ๋Œ€๊ธฐ), ๊ธฐ๋‹ค๋ฆฌ๋Š” ์˜ค๋ฅธ์ชฝ ํฌํฌ๋Š” ์˜ค๋ฅธ์ชฝ ์ฒ ํ•™์ž๊ฐ€ ๋“  ์™ผ์ชฝํฌํฌ์ด๋‹ค(์›ํ˜•๋Œ€๊ธฐ).

์œ„์™€๊ฐ™์€ ๊ต์ฐฉ์ƒํƒœ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ต์ฐฉ์ƒํƒœ ์˜ˆ/ํšŒํ”ผ/๊ฒ€์ถœ ๋ฐ ํšŒ๋ณต 3๊ฐ€์ง€ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์˜ˆ๋ฐฉ ๊ธฐ๋ฒ•-์›ํ˜•๋Œ€๊ธฐ๋ฌดํšจํ™”์™€ ํšŒํ”ผ ๊ธฐ๋ฒ•๋‘๊ฐ€์ง€ ๋ฟ์ด๋‹ค.

1.2.2 ๊ต์ฐฉ์ƒํƒœ ๋Œ€์‘

๋ฉ˜๋ฐํ† ๋ฆฌ ๋ถ€๋ถ„์—์„œ ๊ณ ๋ คํ•  ์‚ฌํ•ญ์„ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ๋ชจ๋“  ํฌํฌ๋Š” ์ฒ ํ•™์ž ์‚ฌ์ด์— ์žˆ๋‹ค(์„œ๋กœ ๋‹ค๋ฅธ ํฌํฌ๋“ค์ด๋‹ค).
  2. ๋ฎคํ…์Šค๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์€ ํŠน์„ฑ๋•Œ๋ฌธ์— ํšŒํ”ผ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ์ž์›(ํฌํฌ)๋ฅผ ์–ต์ œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋“ค์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜์˜€๋‹ค. 1. ๊ฐํฌํฌ์™€ ์ฒ ํ•™์ž๋งˆ๋‹ค ๋ฎคํ…์Šค๋ฅผ ํ• ๋‹นํ•ด์„œ ์ ‘๊ทผ์„ ์ œ์–ดํ•ด์•ผํ•œ๋‹ค. 2. ์–ด๋–ค ํฌํฌ ์‚ฌ์šฉ์„ ์ˆ˜๋ฝํ• ์ง€ ์ œ์–ดํ•˜๋Š” ์Šค๋ ˆ๋“œ๋„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ๋Œ๋ ค์•ผํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.3. ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค๊ณ  ํ•ด๋„, ์ œ์–ดํ•˜๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ํฌํฌ๋ฅผ ์ง‘๊ธฐ์ „์— ๋™์ž‘ํ•˜์—ฌ ๊ต์ฐฉ์ƒํƒœ๋ฅผ ๋ง‰์„์ˆ˜ ์žˆ์„์ง€๋„ ๋ณด์žฅํ• ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์•ฝ๊ฐ„์˜ ์–ด์ƒ‰ํ•จ์ด ์žˆ์ง€๋งŒ ๋” ํ™•์‹คํ•œ ์˜ˆ๋ฐฉ๊ธฐ๋ฒ•์˜ ์›ํ˜•๋Œ€๊ธฐ ๋ฌดํšจํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์Šค๋ ˆ๋“œ์— ์ ์šฉํ•˜์˜€๋‹ค.

์œ„์˜ ๋‚ด์šฉ๋“ค์€ ๊ณผ์ œ๋ฅผ ์ž˜๋ชป ๊ตฌํ˜„ํ•˜์—ฌ์„œ ์ ์šฉํ•œ ๋‚ด์šฉ๋“ค์ด๋‹ค. ๋ฉ˜๋ฐํ† ๋ฆฌ ๊ณผ์ œ์—์„œ๋Š” ๊ต์ฐฉ์ƒํƒœ๋ฅผ ํšŒํ”ผํ•˜๋”๋ผ๋„ ์ฒ ํ•™์ž๋“ค์ด ๊ตถ์–ด์ฃฝ์„์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ **์Šค์ผ€์ค„๋ง**์„ ํ†ตํ•ด ํฌํฌ๋ฅผ ๋“ค์„ ์ฒ ํ•™์ž ์ˆœ์„œ๋ฅผ ์ •ํ•œ๋‹ค.

philo controll

์ง์ˆ˜์ธ๊ฒฝ์šฐ ๋ชจ๋“  ํฌํฌ๊ฐ€ ๋†€์ง€ ์•Š๊ฒŒ ์Šค์ผ€์ค„๋ง ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์Šค์ผ€์ค„๋ง ํ•˜๋ฉด ๋œ๋‹ค.

  1. ์ง์ˆ˜ ์ฒ ํ•™์ž๋“ค ์‹์‚ฌ
  2. ํ™€์ˆ˜ ์ฒ ํ•™์ž๋“ค ์‹์‚ฌ

ํ™€์ˆ˜์ธ๊ฒฝ์šฐ ์ตœ์†Œ ํ•˜๋‚˜์˜ ํฌํฌ๊ฐ€ ๋†€ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋…ธ๋Š” ํฌํฌ์˜ ์œ„์น˜๋ฅผ ํšŒ์ „ํ•˜๊ฒŒ ํ•˜์—ฌ ์ตœ๋Œ€ํ•œ ๊ณตํ‰ํ•˜๊ฒŒ ์‹์‚ฌํ•˜๊ฒŒ ํ•œ๋‹ค. 7๋ช…์˜ ์ฒ ํ•™์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ๊ทธ๋Ÿฌ๋ฉด ์ฒ ํ•™์ž๋Š” 0๋ฒˆ๋ถ€ํ„ฐ 6๋ฒˆ๊นŒ์ง€ ์žˆ๋‹ค.

  1. 0 2 4 ๋ฒˆ ์ฒ ํ•™์ž ์‹์‚ฌ(5๋ฒˆ ํฌํฌ ๋†‚)
  2. 1 3 5 ๋ฒˆ ์ฒ ํ•™์ž ์‹์‚ฌ(6๋ฒˆ ํฌํฌ ๋†‚)
  3. 2 4 6 ๋ฒˆ ์ฒ ํ•™์ž ์‹์‚ฌ(1๋ฒˆ ํฌํฌ ๋†‚)
  4. 3 5 0 ๋ฒˆ ์ฒ ํ•™์ž ์‹์‚ฌ(2๋ฒˆ ํฌํฌ ๋†‚)
  5. 4 6 1 ๋ฒˆ ์ฒ ํ•™์ž ์‹์‚ฌ(3๋ฒˆ ํฌํฌ ๋†‚)โ€ฆ

์œ„์™€ ๊ฐ™์€ ๊ทœ์น™์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์œ„๋ฅผ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ง์ˆ˜์—์„œ๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ•˜๋‚˜์˜ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์ˆ˜์‹์„ ์Šค์ผ€์ค„๋Ÿฌ ์Šค๋ ˆ๋“œ์— ์ ์šฉํ•˜์—ฌ ์ •ํ•ด์‹  ์ˆœ์„œ์˜ ์Šค๋ ˆ๋“œ์˜ restriction์„ unlockํ•ด์ฃผ์–ด์„œ ๋™์ž‘ํ•˜๊ฒŒ ํ•œ๋‹ค.

์ดํ›„ ์Šค์ผ€์ค„๋Ÿฌ๋Š” eat๋ฎคํ…์Šค๋ฅผ ํ†ตํ•ด ์ •ํ•œ ์ฒ ํ•™์ž๋“ค์ด ํฌํฌ๋ฅผ ๋‹ค ์ง‘์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์„œ์˜ ์ฒ ํ•™์ž๋“ค์˜ restriction์„ unlockํ•ด์ค€๋‹ค.

2. ๋ณด๋„ˆ์Šค

2.1 ๋™์ž‘๋ฐฉ์‹

๋ณด๋„ˆ์Šค์—์„œ ์ฒ ํ•™์ž๋Š” ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค๋“ค์ด๋ฏ€๋กœ ์–ด๋– ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋„ ๊ณต์œ ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋˜ํ•œ ํ•ด๋‹น ๊ณผ์ œ์—์„œ ํ—ˆ์šฉ๋˜๋Š” ํ•จ์ˆ˜์ค‘ kill์„ ์ œ์™ธํ•œ ์–ด๋– ํ•œ signal๊ด€๋ จ ํ•จ์ˆ˜๋„ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์„ธ๋งˆํฌ์–ด์˜ ์ ์œ (wait) ๋ฐ ํ•ด์ œ(post)๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ƒํƒœ๋ฅผ ์ „๋‹ฌํ• ์ˆ˜ ์žˆ๋‹ค.

๋™์ž‘๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ž‘์šฉํ•œ ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์„ธ๋งˆํฌ์–ด์˜ ์ˆ˜๋Ÿ‰์ด ๋ถ€์กฑํ•˜์—ฌ ๋Œ€๊ธฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ์˜ ๊ฒฝ์šฐ ๋Œ€๊ธฐ ํ์— ๋“ค์–ด๊ฐ€์„œ ๋Œ€๊ธฐ์ƒํƒœ๋กœ ์ „ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์—, CPU ์ ์œ ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์น˜ ์•Š๋Š”๋‹ค. ๋˜ํ•œ, ๋ฎคํ…์Šค์™€ ๋‹ฌ๋ฆฌ ์„ธ๋งˆํฌ์–ด๋ฅผ ์„ ์ (wait)ํ•˜์ง€ ์•Š์€ ํ”„๋กœ์„ธ์Šค์—์„œ ํ’€์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐœ๋…๋“ค์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์—ฌ ๋ฐ”์œ ๋Œ€๊ธฐ๋ฅผ ์ตœ์†Œํ™” ํ•ด๋ณด๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

  1. ์šฐ์„  ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ์œ„ํ•œ ์„ธ๋งˆํฌ์–ด๋ฅผ ํ• ๋‹น ๋ฐ ์ ์œ ์‹œํ‚จ๋‹ค. ์ฒ ํ•™์ž ์ˆ˜๋งŒํผ die์™€ full ์„ธ๋งˆํฌ์–ด๋ฅผ ํ• ๋‹นํ•˜๊ณ , fork ์ด์ „์— ์ด๋ฅผ ์ „๋ถ€ ์ ์œ ์‹œํ‚จ๋‹ค.
  2. ์ดํ›„ ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค(philo_bonus)์˜ [die], [full]์Šค๋ ˆ๋“œ๋Š” ๊ฐ๊ฐ sem_wait(die), sem_wait(full)์ฝ”๋“œ์— ์˜ํ•ด ๋Œ€๊ธฐํ ์ƒํƒœ๋กœ ๋น ์ง„๋‹ค. -> ๋ฐ”์œ๋Œ€๊ธฐ ํšŒํ”ผ

์ดํ›„๋Š” ์•„๋ž˜ ์ด๋ฏธ์ง€์—์„œ ์„ค๋ช….

๋ณด๋„ˆ์Šค ํฌํฌ ๋ณด๋„ˆ์Šค์—์„œ ํฌํŠธ๋Š” ์ค‘์•™์— ๋†“์—ฌ์žˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํฌํฌ๊ฐ€ ์ƒ๊ธฐ๋ฉด, sem_wait์— ์˜ํ•ด block๋˜์—ˆ๋˜ ํ”„๋กœ์„ธ์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€ (OS์— ์˜ํ•ด) run state๋กœ ์ง‘์ž…ํ•˜๊ฒŒ ๋˜์— ๋จน๊ณ ์ž๊ณ ์ƒ๊ฐํ•˜๊ณ โ€ฆ ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹น์—ฐํžˆ ๋จน๊ณ  ๋‚˜์„œ๋Š” ํฌํฌ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋ณด๋„ˆ์Šค ๋ฐฐ๋ถ€๋ฆ„

  1. ๊ฐ ์ฒ ํ•™์ž๋“ค์€ ์ง€์ •๋œ ํšŒ์ˆ˜๋งŒํผ ์‹์‚ฌํ•˜๋ฉด sem_post(full)ํ•˜์—ฌ ์ ์œ ๋ฅผ ํ•˜๋‚˜์”ฉ ํ‘ผ๋‹ค.
  2. ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค(philo_bonus)์˜ [full]์Šค๋ ˆ๋“œ๋Š” ์ฒ ํ•™์ž ๊ฐœ์ˆ˜๋งŒํผ sem_wait(full)ํ•œ๋‹ค.
  3. ์ฒ ํ•™์ž ์ˆ˜๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๋ฉด ๊ทธ ์ดํ›„์—” sem_post(die)๋œ๋‹ค(์ด๋•Œ die์ถœ๋ ฅ์€ ํ•˜์ง€ ์•Š์Œ.). ๋ชจ๋“  ์ฒ ํ•™์ž ํ”„๋กœ์„ธ์Šค๋“ค์„ killํ•˜๊ณ  ํ• ๋‹น๋œ ๊ฐ’๋“ค์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋๋‚ธ๋‹ค.

๋ณด๋„ˆ์Šค ์ฃผ๊ธˆ

  1. ์ฒ ํ•™์ž ํ”„๋กœ์„ธ์Šค์˜ [die_check]์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์˜ die_check์„ธ๋งˆํฌ์–ด์— ์˜ํ•ด ํ•œ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ๋Œ์•„๊ฐ€๋ฉด์„œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค. -> ๋ฐ”์œ ๋Œ€๊ธฐ๋ฅผ ํ†ตํ•œ CPU๋ถ€ํ•˜ ์ตœ์†Œํ™”
  2. [die_chekc]์Šค๋ ˆ๋“œ์—์„œ ์ฃฝ์Œ์ด ํ™•์ธ๋˜๋ฉด die์ถœ๋ ฅ์„ ํ•˜๊ณ , sem_post(die)๋ฅผ ํ•œ๋‹ค.
  3. ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค(philo_bonus)์˜ [die]์Šค๋ ˆ๋“œ๊ฐ€ ๊นจ์–ด๋‚˜๊ณ  ๋ชจ๋“  ์ฒ ํ•™์ž ํ”„๋กœ์„ธ์Šค๋“ค์„ killํ•˜๊ณ  ํ• ๋‹น๋˜์—ˆ๋˜ ์ž์›๋“ค์„ ๋ฐ˜ํ™˜ํ›„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค.

2.2 ๊ต์ฐฉ ํšŒํ”ผ ๊ธฐ๋ฒ•

๋ณด๋„ˆ์Šค๊ณผ์ œ๋Š” ๋ฉ˜๋ฐํ† ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ์„ธ๋งˆํฌ์–ด๋ฅผ ํ†ตํ•ด ํฌํฌ์˜ ์ ‘๊ทผ์„ ์ œํ•œํ•œ๋‹ค. ์ด๋•Œ ์„ธ๋งˆํฌ์–ด๋Š” ๋ฎคํ…์Šค์™€ ๋‹ฌ๋ฆฌ ์ž์›์˜ ๊ฐœ์ˆ˜๋ฅผ ์ •ํ• ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ชจ๋“  ์ฒ ํ•™์ž๋“ค์ด ํ•œ์†์— ํฌํฌ๋ฅผ ๋“ค๊ณ ์žˆ๋Š” ์ƒํ™ฉ๋งŒ ํ”ผํ•˜๋ฉด ๊ต์ฐฉ์ƒํƒœ๋ฅผ ๋ง‰์„์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์€ ์‹๊ถŒ์„ ํ†ตํ•ด ์ฒซํฌํฌ๋ฅผ ๋“ค๊ณ ์žˆ๋Š” ์ฒ ํ•™์ž์˜ ์ˆ˜๋ฅผ **๋ชจ๋“  ์ฒ ํ•™์ž์˜ ์ˆ˜ - 1**๋กœ ์ œํ•œํ•˜์—ฌ ํšŒํ”ผํ•˜์˜€๋‹ค(๊ต์ฐฉ ํšŒํ”ผ ๊ธฐ๋ฒ•).