๐Ÿ“€์šด์˜์ฒด์ œ(๊ต์ฐฉ์ƒํƒœ์™€ ๊ธฐ์•„์ƒํƒœ)

ํŒ”๋ฆฌ๋™ยท2021๋…„ 5์›” 10์ผ
0

๐Ÿ’ฝ์šด์˜์ฒด์ œ(๊ต์ฐฉ์ƒํƒœ(Deadlock)์™€ ๊ธฐ์•„์ƒํƒœ(Starvation)

๊ต์ฐฉ์ƒํƒœ๋ž€?

  • ๋ฌดํ•œ ๋Œ€๊ธฐ ์ƒํƒœ: ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์—…์ด ์„œ๋กœ ์ƒ๋Œ€๋ฐฉ์˜ ์ž‘์—…์ด ๋๋‚˜๊ธฐ๋งŒ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ

  • ๋ฐฐ์น˜์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๋ฌธ์ œ
  • ํ”„๋กœ์„ธ์Šค, ์Šค๋ ˆ๋“œ ๋‘˜๋‹ค ์ด์™€ ๊ฐ™์€ ์ƒํƒœ๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ

๊ต์ฐฉ์ƒํƒœ ๋ฐœ์ƒ ์กฐ๊ฑด

  • ๋‹ค์Œ ๋„ค ๊ฐ€์ง€ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์„ฑ๋ฆฝ๋  ๋•Œ, ๊ต์ฐฉ์ƒํƒœ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ
  1. ์ƒํ˜ธ๋ฐฐ์ œ(Mutual exclusion): ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ์ž์›์— ๋Œ€ํ•ด ๋ฐฐํƒ€์ ์ธ ํ†ต์ œ๊ถŒ์„ ์š”๊ตฌํ•œ๋‹ค.
  2. ์ ์œ ๋Œ€๊ธฐ(Hold and wait): ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋œ ์ž์›์„ ๊ฐ€์ง„ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
  3. ๋น„์„ ์ (No preemption): ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ์ž์›์˜ ์‚ฌ์šฉ์„ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ทธ ์ž์›์„ ๋บ์„ ์ˆ˜ ์—†๋‹ค.
  4. ์ˆœํ™˜๋Œ€๊ธฐ(Circular wait): ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ˆœํ™˜์ ์œผ๋กœ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๊ต์ฐฉ์ƒํƒœ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  1. ๊ต์ฐฉ์ƒํƒœ ์˜ˆ๋ฐฉ
  2. ๊ต์ฐฉ์ƒํƒœ ํšŒํ”ผ
  3. ๊ต์ฐฉ์ƒํƒœ ๋ฐœ๊ฒฌ
  4. ๊ต์ฐฉ์ƒํƒœ ํšŒ๋ณต

๊ต์ฐฉ์ƒํƒœ ์˜ˆ๋ฐฉ(deadlock prevention)

  • 4๊ฐ€์ง€ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•
  1. ์ƒํ˜ธ๋ฐฐ์ œ ์กฐ๊ฑด์˜ ์ œ๊ฑฐ: ์ž„๊ณ„ ์˜์—ญ ์ œ๊ฑฐ
  2. ์ ์œ ์™€ ๋Œ€๊ธฐ ์กฐ๊ฑด์˜ ์ œ๊ฑฐ: ํ•œ๋ฒˆ์— ๋ชจ๋“  ํ•„์š” ์ž์› ์ ์œ  ๋ฐ ํ•ด์ œ
  3. ๋น„์„ ์  ์กฐ๊ฑด ์ œ๊ฑฐ: ์„ ์  ๊ฐ€๋Šฅ ๊ธฐ๋ฒ•์„ ๋งŒ๋“ค์–ด์คŒ
  4. ์ˆœํ™˜ ๋Œ€๊ธฐ ์กฐ๊ฑด ์ œ๊ฑฐ: ์ž์› ์œ ํ˜•์— ๋”ฐ๋ผ ์ˆœ์„œ๋ฅผ ๋งค๊น€

๊ต์ฐฉ์ƒํƒœ ํšŒํ”ผ(deadlock avoidance)

  • ๊ต์ฐฉ์ƒํƒœ ์กฐ๊ฑด 1, 2, 3์€ ๋†”๋‘๊ณ , 4๋ฒˆ๋งŒ ์ œ๊ฑฐ
    • 1, 2, 3 ์ œ๊ฑฐ์‹œ, ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ๋น„ํšจ์œจ์„ฑ์ด ์ฆ๋Œ€
  • ๊ต์ฐฉ์ƒํƒœ ์กฐ๊ฑด ์ค‘, ์ž์› ํ• ๋‹น ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์Œ(์ˆœํ™˜ ๋Œ€๊ธฐ ์กฐ๊ฑด ์ œ๊ฑฐ)
  1. ์ƒํ˜ธ๋ฐฐ์ œ ์กฐ๊ฑด์˜ ์ œ๊ฑฐ: ์ž„๊ณ„์˜์—ญ ์ œ๊ฑฐ
  2. ์ ์œ ์™€ ๋Œ€๊ธฐ ์กฐ๊ฑด์˜ ์ œ๊ฑฐ: ํ•œ๋ฒˆ์— ๋ชจ๋“  ํ•„์š” ์ž์› ์ ์œ  ๋ฐ ํ•ด์ œ
  3. ๋น„์„ ์  ์กฐ๊ฑด ์ œ๊ฑฐ: ์„ ์  ๊ฐ€๋Šฅ ๊ธฐ๋ฒ•์„ ๋งŒ๋“ค์–ด ์คŒ
  4. ์ˆœํ™˜ ๋Œ€๊ธฐ ์กฐ๊ฑด ์ œ๊ฑฐ: ์ž์› ์œ ํ˜•์— ๋”ฐ๋ผ ์ˆœ์„œ๋ฅผ ๋งค๊น€

๊ต์ฐฉ์ƒํƒœ ๋ฐœ๊ฒฌ(deadlock detection)๊ณผ ํšŒ๋ณต

  • ๊ต์ฐฉ์ƒํƒœ ๋ฐœ๊ฒฌ(deadlock detection)
    • ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์ ๊ฒ€ํ•˜์—ฌ ๊ต์ฐฉ ์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์ž์›์„ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ฒƒ
  • ๊ต์ฐฉ์ƒํƒœ ํšŒ๋ณต(deadlock recovery)
    • ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ์ผ์œผํ‚จ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ๊ต์ฐฉ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น ๋œ ์ž์›์„ ์„ ์ ํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋‚˜ ์ž์›์„ ํšŒ๋ณตํ•˜๋Š” ๊ฒƒ

๊ธฐ์•„์ƒํƒœ(Starvation)

  • ํŠน์ • ํ”„๋กœ์„ธ์Šค์™€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„์„œ ์›ํ•˜๋Š” ์ž์šฐ๋„ˆ์„ ๊ณ„์† ํ• ๋‹น ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ
  • ๊ต์ฐฉ์ƒํƒœ์™€ ๊ธฐ์•„์ƒํƒœ
    • ๊ต์ฐฉ์ƒํƒœ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ผ ์ž์› ์ ์œ ๋ฅผ ์š”์ฒญํ•  ๋•Œ ๋ฐœ์ƒ
    • ๊ธฐ์•„์ƒํƒœ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ถ€์กฑํ•œ ์ž์›์„ ์ ์œ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฝ์Ÿํ•  ๋•Œ, ํŠน์ • ํ”„๋กœ์„ธ์Šค๋Š” ์˜์›ํžˆ ์ž์› ํ• ๋‹น์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฃผ๋กœ ์˜๋ฏธํ•จ

๊ธฐ์•„์ƒํ…Œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

  • ์šฐ์„ ์ˆœ์œ„ ๋ณ€๊ฒฝ
    • ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ˆ˜์‹œ๋กœ ๋ณ€๊ฒฝํ•ด์„œ, ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์งˆ ๊ธฐํšŒ์ฃผ๊ธฐ
    • ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฐ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์—ฌ์ฃผ๊ธฐ
    • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์•„๋‹Œ, ์š”์ฒญ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” FIFO ๊ธฐ๋ฐ˜ ์š”์ฒญํ ์‚ฌ์šฉ

์ถœ์ฒ˜: ํŒจ์ŠคํŠธ์บ ํผ์Šค ์šด์˜์ฒด์ œ ๊ฐ•์˜ ppt

profile
๋ฐฐ์›€์˜ ๊ธฐ๋ก

0๊ฐœ์˜ ๋Œ“๊ธ€