๐Ÿ“Œ Deadlock 1

๋ชจ๊น…ยท2023๋…„ 5์›” 22์ผ
0

๐Ÿ“– 01. ๊ต์ฐฉ์ƒํƒœ(deadlock)

  • ์ผ๋ถ€ ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด์„œ ์ƒ๋Œ€๋ฐฉ์ด ์›ํ•˜๋Š” ์ž์›์„ ์š”๊ตฌํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ƒ๋Œ€๋ฐฉ์ด ์›ํ•˜๋Š” ๊ฒƒ์„ ๋‚ด๋†“๊ณ  ์žˆ์ง€ ์•Š์„ ๋•Œ ์ด๋ฅผ deadlock์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • ์–ด๋Š ๋ˆ„๊ตฌ๋„ ์–‘๋ณดํ•˜์ง€ ์•Š์œผ๋ฉด ์ง„ํ–‰๋˜์ง€ ์•Š๋Š” ์ƒํƒœ

๐Ÿ“– 02. The Deadlock Problem

๐Ÿ“– 03. Deadlock ๋ฐœ์ƒ์˜ 4๊ฐ€์ง€ ์กฐ๊ฑด

๐Ÿ“– 04. Resource-Allocation Graph (์ž์›ํ• ๋‹น๊ทธ๋ž˜ํ”„)

  • Deadlock์ด ๋ฐœ์ƒํ–ˆ๋Š” ์ง€ ์•Œ์•„๋ณด๋Š” ๋ฐฉ๋ฒ•

  • R -> P : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค
  • P -> R : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์š”์ฒญ

  • ์ž์›์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋ฐ–์— ์—†์„ ๋•Œ ์‚ฌ์ดํด์ด ์ƒ๊ธฐ๋ฉด deadlock์„ ์˜๋ฏธํ•œ๋‹ค.

  • ์ž์›์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋‹ค๋ฉด?
    -> Deadlock ์ผ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค.

  • ์ฒซ๋ฒˆ์งธ ๊ทธ๋ฆผ
    -> R2์˜ ์ž์›์ด 2๊ฐœ์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‚ฌ์ดํด์ด 2๊ฐœ์ด๋‹ค. => Deadlock

  • ๋‘๋ฒˆ์งธ ๊ทธ๋ฆผ
    -> P4๊ฐ€ ์ž์›์„ ๋‹ค์“ฐ๊ณ  ๋‚ด๋†“์œผ๋ฉด P3๊ฐ€ ๊ทธ ์ž์›์„ ๊ฐ€์ ธ๊ฐ€๊ฒŒ ๋˜๊ณ  ์‚ฌ์ดํด์ด ์—†์–ด์ง€๊ฒŒ ๋œ๋‹ค. => Deadlock X

๐Ÿ“– 05. Deadlock์˜ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

  • ์œ„๋กœ ๊ฐˆ์ˆ˜๋ก Deadlock ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์ด ๊ฐ•ํ•œ ๊ฒƒ

  • Deadlock Ignorance
    -> ์šด์˜์ฒด์ œ๊ฐ€ ์ฒ˜๋ฆฌ๋ฅผ ์•ˆํ•˜๋ฉด ์–ด๋–ป๊ฒŒ Deadlock์ด ์ฒ˜๋ฆฌ๋˜๋‚˜?
    -> ํ”„๋กœ์„ธ์Šค๋ฅผ ๋Œ๋ฆฌ๋‹ค๊ฐ€ ์ด์ƒํ•œ ๋‚Œ์„ธ๊ฐ€ ๋Š๊ปด์ง€๋ฉด(๋Š๋ ค์ง€๋Š” ๋“ฑ) ์‚ฌ๋žŒ์ด ์•Œ์•„์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒ ํ•  ๊ฒƒ์ด๋‹ค.
    -> Deadlock์„ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ›จ์”ฌ ๋” ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋“ค์ด๋Š” ๊ฒƒ์ด ๋น„ํšจ์œจ์ ์ด๋‹ค.

๐Ÿ“– 05-1. Deadlock Prevention

  • Deadlock์ด ๋ฐœ์ƒํ•˜๋Š” 4๊ฐ€์ง€ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ฅผ ์›์ฒœ์ ์œผ๋กœ ์ฐจ๋‹จํ•ด์„œ Deadlock์— ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

  • Mutual Exclusion : ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์ด๋ผ๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์€ ์•„๋‹ˆ๋‹ค.

  • Hold and Wait : ๋‚ด๊ฐ€ ๊ฐ€์ง„ ์ž์›์€ ๋‚ด๋†“์ง€ ์•Š์œผ๋ฉด์„œ ๋‹ค๋ฅธ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— Deadlock์ด ์ƒ๊ธด๋‹ค.
    -> ์ด ์กฐ๊ฑด์„ ์—†์• ๋ ค๋ฉด?
    -> ์ž์›์„ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ์ž์›์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด ๋œ๋‹ค.
    -> ๋ฐฉ๋ฒ• 1: ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘ ๋  ๋•Œ ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ‰์ƒ์— ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์„ ๋ชจ๋‘๋‹ค ํ• ๋‹น๋ฐ›๊ฒŒ ํ•˜๋ฉด ์ด ์นœ๊ตฌ๊ฐ€ ๋‹ค ์“ฐ๊ณ ๋‚˜์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ ๋  ๋•Œ ์ž์›์„ ๋ฐ˜๋‚ฉ์„ ํ•  ๊ฒƒ์ด๋‹ค.
    -> ์ค‘๊ฐ„์— ํ•„์š”ํ•œ ์ž์›์ด ์—†์„ ๊ฒƒ์ด๋‹ค.
    -> Wait์„ ํ•  ์ผ์ด ์—†์„ ๊ฒƒ์ด๋‹ค.
    -> ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๋•Œ ๋งˆ๋‹ค ํ•„์š”ํ•œ ์ž์›๋งŒ ์žˆ์œผ๋ฉด ๋˜๋Š”๋ฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ์ž์›๋ฐฐ๋ถ„์— ๋Œ€ํ•œ ๋น„ํšจ์œจ์ด ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค.

  • ๋ฐฉ๋ฒ• 2: ๋‚ด๊ฐ€ ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋„์ค‘ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค๋ฉด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ์ž์›์„ ๋ชจ๋‘ ๋‚ด๋ ค๋†“๊ณ  ๋‹ค์‹œ ์š”์ฒญํ•œ๋‹ค.

  • No Preemption : ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค๋ฉด Deadlock์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

  • CPU๋Š” timer๊ฐ™์€ ๊ฒƒ์„ ๊ฑธ์–ด์„œ Preemptiveํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    -> ์ด๋Ÿฐ ์ž์›์€ Deadlock์ด ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.
    -> ์ฆ‰, ๋นผ์•—์•„ ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ž์›์ด๋ผ๋ฉด Deadlock์€ ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

  • Circular Wait : ํ•„์š”ํ•œ ์ž์›๋“ค์ด ๊ผฌ๋ฆฌ์˜ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ๊ณ  ์žˆ์œผ๋ฉด์„œ ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋œ ๊ฒฝ์šฐ Deadlock์ด ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
    -> ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด๊ฐ€ 1, 3, 5๋ฒˆ ์ž์›์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋‚ฎ์€ ๋ฒˆํ˜ธ๋ถ€ํ„ฐ ์ž์›์„ ํš๋“ํ•ด์•ผ ๋†’์€ ๋ฒˆํ˜ธ๋ฅผ ํš๋“ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์ž.
    -> 1๋ฒˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  3๋ฒˆ์„ ์š”์ฒญํ•˜๊ณ  3๋ฒˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  1๋ฒˆ์„ ์š”์ฒญํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ Deadlock์ด ๊ฑธ๋ฆฌ๋Š”๋ฐ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด Deadlock์ด ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

  • Prevention์€ Deadlock์„ ๋ง‰์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ž์›์— ๋Œ€ํ•œ ์ด์šฉ๋ฅ ์ด ๋‚ฎ์•„์ง€๊ณ  ์ „์ฒด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋ฉฐ starvation ํ˜„์ƒ์ด ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“– 05-2. Deadlock Avoidance

  • Deadlock Prevention๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜์„œ ์ข…๋ฃŒ ๋  ๋•Œ๊นŒ์ง€ ๊ทธ๋•Œ๊ทธ๋•Œ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์ข…๋ฅ˜์™€ ์ž์›์˜ ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค.
    -> Deadlock Avoidance๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘ ๋  ๋•Œ ํ‰์ƒ์— ์“ธ ์ž์›์˜ ์ตœ๋Œ€๋Ÿ‰์„ ๋ฏธ๋ฆฌ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  Deadlock์„ ํ”ผํ•ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค.
    -> ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์š”์ฒญํ•˜์˜€์ง€๋งŒ ํ˜น์‹œ ๋‚ด๊ฐ€ ์ž์›์„ ํ• ๋‹น ํ•ด์ฃผ๋ฉด Deadlock์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ฒ ๋‹ค ์‹ถ์œผ๋ฉด ์ž์›์˜ ์—ฌ๋ถ„์ด ์žˆ๋”๋ผ๋„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
    -> Deadlock์„ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค!

  • 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. ์ž์›์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜์”ฉ ๋ฐ–์— ์—†์„ ๋•Œ
    -> ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด adoidance๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. 2๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์กด์žฌ ํ•  ๋•Œ
    -> Banker's Algorithm ์‚ฌ์šฉ
    -> ์ด ๋‘๊ฐ€์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Deadlock์„ ํ”ผํ•ด ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์ž์›์ด 1๊ฐœ ๋ฐ–์— ์—†์„ ๋•Œ Deadlock์„ ํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ํ”„๋กœ์„ธ์Šค์™€ ์ž์›์ด 2๊ฐœ์”ฉ ์žˆ๋‹ค.
  • P -> R : ์ž์›์š”์ฒญ(์•„์ง ํ• ๋‹น ๋ฐ›์ง€๋Š” ๋ชปํ•œ ์ƒํƒœ)
  • R -> P : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • '์ ์„ '์€ P -> R ๋ฐ–์— ์—†์œผ๋ฉฐ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋Š” ํ•ด๋‹น ์ž์›์— ์ผํ‰์ƒ ์ ์–ด๋„ ํ•œ๋ฒˆ์€ ์‚ฌ์šฉํ•  ์ผ์ด ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.
    -> ์ง€๊ธˆ์€ ์•„๋‹ˆ์ง€๋งŒ ํ‰์ƒ ์ ์–ด๋„ ํ•œ๋ฒˆ์€ ์š”์ฒญ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ์‹ค์ œ๋กœ ์š”์ฒญ์„ ํ•œ๋‹ค๋ฉด ์‹ค์„ ์œผ๋กœ ๋ฐ”๋€๋‹ค.

-2๋ฒˆ์งธ ๊ทธ๋ฆผ์ด ๋Œ€ํ‘œ์ ์ธ ๊ทธ๋ฆผ
-> ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ์—๋„ ์ฃผ๊ฒŒ๋˜๋ฉด ์‚ฌ์ดํด์ด ๋งŒ๋“ค์–ด์งˆ ์œ„ํ—˜์ด ์ƒ๊ธฐ๋ฏ€๋กœ P2์—๊ฒŒ ์ž์›์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
-> ๋งŒ์•ฝ P1์ด R2์—๊ฒŒ ์š”์ฒญํ•œ๋‹ค๋ฉด ์ž์›์„ ์ค€๋‹ค.
-> ์คฌ์„ ๋•Œ ์–ด๋–ค์ผ์ด ์ƒ๊ฒจ๋„ ์‚ฌ์ดํด์€ ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  • ์ž์›์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ๊ฒฝ์šฐ


-> ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™๋‹ค๋ฉด ์ž์›์ด ๋‚จ์•„์žˆ๋”๋ผ๋„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

  • ์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ P1์ด A:1๊ฐœ, C:2๊ฐœ๋ฅผ ์š”์ฒญํ–ˆ๋‹ค๊ณ  ํ•˜์ž.

    -> ์ถ”๊ฐ€ ์š”์ฒญํ• ์ˆ˜ ์žˆ๋Š” ์–‘์ด ๊ฐ€์šฉ์ž์›๊ฐ€์ง€๊ณ  ๋ชจ๋‘ ์ถฉ์กฑ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์ž.
    -> P1์— ๊ฒฝ์šฐ ์•ž์œผ๋กœ ํ•„์š”๋กœ ํ•˜๋Š” ์ž์›(Need)์ด 1, 2, 2์ธ๋ฐ ๊ฐ€์šฉ์ž์›์ด 3, 3, 2๋กœ ์ด๋ฅผ ๋„˜๋Š”๋‹ค.
    -> ์ž์›์„ ๋„˜๊ฒจ ์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์–˜๊ธฐ!! (Deadlock์œผ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•˜๋‹ค)

  • P0์ด B๋ฅผ 2๊ฐœ ์š”์ฒญํ•œ๋‹ค.
    -> B๋Š” 3๊ฐœ๋กœ ์—ฌ๋ถ„์ด ์กด์žฌํ•˜์ง€๋งŒ ์ถ”๊ฐ€ ์š”์ฒญ(Need)๊ฐ€ ๋‚จ์•„์žˆ๋Š”(Available)์„ ์ถฉ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•œ๋‹ค.
    -> P0ํ•œํ…Œ ์ค„ ์ž์›์ด ์žˆ์ง€๋งŒ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
    -> ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
    -> ์ข…๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค๋Š” ํ• ๋‹น๋œ ์ž์›์„ ๋ฑ‰์–ด๋‚ด๋ฉฐ ๊ฐ€์šฉ์ž์›์„ ๋ฐ”๊พธ๊ณ  ํ•„์š”๋กœ ํ•˜๋Š” ์ž์›๋ณด๋‹ค ๊ฐ€์šฉ์ž์›์ด ๋งŽ์•„์ง„๋‹ค๋ฉด ์ž์›ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

  • ๊ฐ€์šฉ์ž์› > ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ์ž์› ์ด ์„ฑ๋ฆฝํ•  ๊ฒฝ์šฐ ์ž์›์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“– 05-3. Deadlock Detection and Recovery

  • DFS์˜ ์‹œ๊ฐ„๋ณต์žก๋„ O(n^2)

  • P0, P3์˜ Request๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ ์ž˜ ๋๋‚˜๊ณ  ์ž์›์„ ๋ฐ˜๋‚ฉํ•  ๊ฒƒ์ด๋‹ค.
    -> Available (3,1,3)
    -> ์ด์šฉ ๊ฐ€๋Šฅํ•œ ์ž์›์ด ์ƒ๊ฒผ์œผ๋‹ˆ P1๋„ ์ž˜ ๋๋‚ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
    -> ์ด๋Ÿฐ์‹์œผ๋กœ ๋ง‰ํžˆ์ง€ ์•Š๊ณ  sequence๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด Deadlock์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค!

  • P2๊ฐ€ ์ž์› C๋ฅผ ์š”์ฒญํ•˜๋ฉด?

  • ์–ด๋Š ๋ˆ„๊ตฌ์˜ ์š”์ฒญ๋„ ๋ฐ›์•„๋“œ๋ฆด ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ์ดˆ๋ž˜๋œ๋‹ค.
    -> Deadlock!

  • Deadlock์ด ๋ฐœ์ƒํ•˜๋ฉด Recoveryํ•˜์ž

  • Process termination : Deadlock์— ์—ฐ๋ฅ˜๋œ ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ข…๋ฃŒํ•˜์ž!
    -> 1. ๋ชจ๋‘ ์ฃฝ์ด์ž.
    -> 2. ํ•˜๋‚˜์”ฉ ์ฃฝ์—ฌ๋ด์„œ Deadlock์ด ์—†์–ด์ง€๋ฉด ok
    -> Deadlock์ด ์—†์–ด์งˆ ๋•Œ๊นŒ์ง€

  • Resource Preemption : Deadlock์— ์—ฐ๋ฅ˜๋œ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ์ž์›์„ ๋บ์ž!

๐Ÿ“– 05-4. Deadlock Ignorance

  • Deadlock์ด ์ผ์–ด๋‚˜๋“  ์ผ์–ด๋‚˜์ง€ ์•Š๋“  ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋งํ•จ

  • Deadlock์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ๋„ ์ž์›์„ ๋น„ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋˜๊ณ  Deadlock์„ Detection ํ•˜๋Š” ๊ฒƒ๋„ Detection์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ rutine์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋œ๋‹ค.
    -> ๋”ฐ๋ผ์„œ, Deadlock์ด ์ƒ๊ธฐ๋“  ๊ทธ๋ ‡์ง€ ์•Š๋“  ์šด์˜์ฒด์ œ๋Š” ์ฑ…์ž„์„ ์ง€์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ๋‘๋Š” ๊ฒƒ์ด๋‹ค.
    -> ์‹œ์Šคํ…œ์ด ๋Š๋ ค์ง€๊ณ  ์ •์ง€ ํ•  ๊ฒƒ์ด๋‹ค.
    -> ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ!
    -> ํ˜„์žฌ ๋Œ€๋ถ€๋ถ„์˜ ์šด์˜์ฒด์ œ๋Š” ์ด๋ฅผ ์ฑ„ํƒํ•œ๋‹ค.





[์ถœ์ฒ˜] ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜

profile
๋ฉˆ์ถ”์ง€ ์•Š๊ธฐ

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