๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ง๊ฐ๋กœ๊ทธ

ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ WEEK07 DAY55 - ํ€ด์ฆˆ ๊ณต๋ถ€ ๋ณธ๋ฌธ

Krafton jungle

ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ WEEK07 DAY55 - ํ€ด์ฆˆ ๊ณต๋ถ€

habbn 2024. 3. 4. 23:21
728x90
๐Ÿ“†2024.3.4

1. PintOS- Project1 Alarm
2. ํ€ด์ฆˆ ๊ณต๋ถ€

 

PintOS-Project1 - Alarm

 

 

 

 

ํ€ด์ฆˆ ๊ณต๋ถ€

 

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

ํ”„๋กœ์„ธ์Šค

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

์Šค๋ ˆ๋“œ

  • ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ์‹คํ–‰ ๋‹จ์œ„์ด๋‹ค.
  • ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์ผํ•œ ์ž์›์— ๋™์‹œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ Stack ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๊ณต์œ ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋ ค๋ฉด IPC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ์˜ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•˜์ง€๋งŒ, ์Šค๋ ˆ๋“œ๋Š” ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ์ •๋ณด ๊ณต์œ ๊ฐ€ ์‰ฝ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์‹คํ–‰ ๋‹จ์œ„์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ๋…๋ฆฝ์ ์ธ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ๊ณต์œ ํ•œ๋‹ค.

 

์„ธ๋งˆํฌ์–ด์™€ ๋ฎคํ…์Šค

 

์ž„๊ณ„๊ตฌ์—ญ(Critical Section)

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ ์ˆ˜ํ–‰๋  ๋•Œ, ๊ฐ ํ”„๋กœ์„ธ์Šค์—์„œ ๊ณต์œ  ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ๋ธ”๋ก

์ฆ‰, ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ผ ์ž์›์„ ๋™์‹œ์— ์ฐธ์กฐํ•˜์—ฌ ๊ฐ’(๊ณต์œ ํ•˜๋Š” ๋ณ€์ˆ˜๋ช…, ํŒŒ์ผ ๋“ฑ)์ด ์˜ค์—ผ๋  ์œ„ํ—˜ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์˜์—ญ

 

์ž„๊ณ„๊ตฌ์—ญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œ์„ ๋‘๋Š” ๋™๊ธฐํ™” ๋ฐฉ์‹์„ ์ทจํ•ด์•ผ ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ๋ฎคํ…์Šค์™€ ์„ธ๋งˆํฌ์–ด๊ฐ€ ์žˆ๋‹ค.

 

๋ฎคํ…์Šค

  • ๋™์‹œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ณต์œ  ๋ถˆ๊ฐ€๋Šฅํ•œ ์ž์›์˜ ๋™์‹œ ์‚ฌ์šฉ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • ๋ฎคํ…์Šค๋Š” ์ƒํ˜ธ ๋ฐฐ์ œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์ž ๊ธˆ(lock) ์—ฐ์‚ฐ์€ ๋ฎคํ…์Šค๋ฅผ ์†Œ์œ ํ•˜๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๋ฎคํ…์Šค๋ฅผ ํš๋“ํ•˜๊ณ , ์ด๋ฏธ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฎคํ…์Šค๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ํ˜ธ์ถœํ•œ ์Šค๋ ˆ๋“œ๋Š” ๋ธ”๋ก๋œ๋‹ค.
  • ํ•ด์ œ(unlock) ์—ฐ์‚ฐ์€ ๋ฎคํ…์Šค๋ฅผ ํ•ด์ œํ•˜๊ณ  ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฎคํ…์Šค๋ฅผ ํš๋“ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

์„ธ๋งˆํฌ์–ด

  • ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ๊ณต์œ ๋œ ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œํ•œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • ์„ธ๋งˆํฌ์–ด๋Š” ์ •์ˆ˜ ๋ณ€์ˆ˜๋กœ, ์ผ๋ฐ˜์ ์œผ๋กœ 0 ์ด์ƒ์˜ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค.
  • ์„ธ๋งˆํฌ์–ด๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š”ํ•œ ์—ฐ์‚ฐ์„ ์ง€์›ํ•œ๋‹ค.
  • P(Produce) ์—ฐ์‚ฐ์€ ์„ธ๋งˆํฌ์–ด ๊ฐ’์„ ๊ฐ์†Œ์‹œํ‚ค๊ณ , ์„ธ๋งˆํฌ์–ด ๊ฐ’์ด ์Œ์ˆ˜๊ฐ€ ๋˜๋ฉด ํ˜ธ์ถœํ•œ ์Šค๋ ˆ๋“œ๋Š” ๋ธ”๋ก๋œ๋‹ค. ์ด๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์‚ฌ์šฉ ์ค‘์ผ ๋•Œ ๋Œ€๊ธฐํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • V(Consume) ์—ฐ์‚ฐ์€ ์„ธ๋งˆํฌ์–ด ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ์„ธ๋งˆํฌ์–ด ๊ฐ’์ด ์–‘์ˆ˜๊ฐ€ ๋˜๋ฉด ๋Œ€๊ธฐ ์ค‘์ธ ์Šค๋ ˆ๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊นจ์šด๋‹ค.

 

๋ฎคํ…์Šค์™€ ์„ธ๋งˆํฌ์–ด์˜ ์ฐจ์ด์ 

 

1. ๋™๊ธฐํ™” ๋Œ€์ƒ์˜ ๊ฐฏ์ˆ˜

  • ๋ฎคํ…์Šค๋Š” ๋™๊ธฐํ™” ๋Œ€์ƒ์ด 1๊ฐœ ์ผ ๋•Œ ์‚ฌ์šฉ
  • ์„ธ๋งˆํฌ์–ด๋Š” ๋™๊ธฐํ™” ๋Œ€์ƒ์ด 1๊ฐœ ์ด์ƒ์ผ ๋•Œ ์‚ฌ์šฉ

 

2. ๋ฎคํ…์Šค ์ž์› ์†Œ์œ  ๊ฐ€๋Šฅ + ์ฑ…์ž„์„ ๊ฐ€์ง€๋Š” ๋ฐ˜๋ฉด, ์„ธ๋งˆํฌ์–ด๋Š” ์ž์› ์†Œ์œ  ๋ถˆ๊ฐ€

  • ๋ฎคํ…์Šค๋Š” ์ƒํƒœ๊ฐ€ 0, 1 ๋ฟ์ด๋ฏ€๋กœ Lock์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค

 

3. ๋ฎคํ…์Šค๋Š” ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋งŒ์ด ์ด ๋ฎคํ…์Šค๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฐ˜๋ฉด, ์„ธ๋งˆํฌ์–ด๋Š” ์„ธ๋งˆํฌ์–ด๋ฅผ ์†Œ์œ ํ•˜์ง€ ์•Š๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ์„ธ๋งˆํฌ์–ด๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ฒฝ์Ÿ ์กฐ๊ฑด(Race condition)

  • ๊ฒฝ์Ÿ ์กฐ๊ฑด์€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋˜๋Š” ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋™๊ธฐํ™” ๋ฌธ์ œ์ด๋‹ค.
  • ๋‘ ๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ๋œ ์ž์›์— ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฝ์Ÿ ์กฐ๊ฑด์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ์Šค๋ ˆ๋“œ ์‹คํ–‰ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

๊ฒฝ์Ÿ ์กฐ๊ฑด์ด ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์‹œ

1. ๊ณต์œ ๋œ ์ž์›์˜ ๋™์‹œ ์ ‘๊ทผ

๋‘ ๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ๊ณต์œ ๋œ ๋ณ€์ˆ˜, ์ž๋ฃŒ ๊ตฌ์กฐ ๋˜๋Š” ํŒŒ์ผ ๋“ฑ์— ์ ‘๊ทผํ•˜๊ณ  ์ˆ˜์ •ํ•  ๋•Œ, ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. ๋™๊ธฐํ™” ์—†๋Š” ์ž„๊ณ„๊ตฌ์—ญ ์ ‘๊ทผ

์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์ž„๊ณ„ ๊ตฌ์—ญ์— ์ ‘๊ทผํ•˜๊ณ  ์ˆ˜์ •ํ•  ๋•Œ, ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ๋ณด์žฅ๋˜์ง€ ์•Š๊ณ , ์ผ๊ด€์„ฑ์ด ๊นจ์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

3. ์Šค์ผ€์ค„๋ง์˜ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅ์„ฑ

์Šค๋ ˆ๋“œ์˜ ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ, ๊ฒฝ์Ÿ ์กฐ๊ฑด์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง„๋‹ค.

 

๋ฐ๋“œ๋ฝ(DeadLock , ๊ต์ฐฉ์ƒํƒœ)

๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์„œ๋กœ ์ž์›์„ ์–ป์ง€ ๋ชปํ•ด์„œ ๋‹ค์Œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์ด๋‹ค.

๋ฌดํ•œํžˆ ๋‹ค์Œ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋Š” ์ƒํƒœ.

ex ) ์™ธ๋‚˜๋ฌด ๋‹ค๋ฆฌ์˜ ์–‘ ๋์—์„œ ์„œ๋กœ๊ฐ€ ๋น„์ผœ์ฃผ๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ ๋งŒ ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

 

๋ฐ๋“œ๋ฝ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ

ํ˜„์žฌ ์„œ๋กœ ์›ํ•˜๋Š” ์ž์›์ด ์ƒ๋Œ€๋ฐฉ์— ํ• ๋‹น๋˜์–ด ์žˆ์–ด์„œ ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌดํ•œ์ • wait ์ƒํƒœ์— ๋น ์งˆ ๋•Œ

 

๋ฐ๋“œ๋ฝ ๋ฐœ์ƒ ์กฐ๊ฑด

(4๊ฐ€์ง€ ๋ชจ๋‘ ์„ฑ๋ฆฝํ•ด์•ผ ๋ฐ๋“œ๋ฝ ๋ฐœ์ƒ, ํ•˜๋‚˜๋ผ๋„ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐ๋“œ๋ฝ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ)

 

1. ์ƒํ˜ธ ๋ฐฐ์ œ(Mutual exclusion)

์ž์›์€ ํ•œ ๋ฒˆ์— ํ•œ ํ”„๋กœ์„ธ์Šค๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. ์ ์œ  ๋Œ€๊ธฐ(Hold and Wait)

์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ์ž์›์„ ์ ์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜์–ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ž์›์„ ์ถ”๊ฐ€๋กœ ์ ์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.

 

3. ๋น„์„ ์ (No preemption)

๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ž์›์€ ์‚ฌ์šฉ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ฐ•์ œ๋กœ ๋นผ์•—์„ ์ˆ˜ ์—†๋‹ค.

 

4. ์ˆœํ™˜ ๋Œ€๊ธฐ(Circular wait)

ํ”„๋กœ์„ธ์Šค์˜ ์ง‘ํ•ฉ์—์„œ ์ˆœํ™˜ ํ˜•ํƒœ๋กœ ์ž์›์„ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.

 

๋ฐ๋“œ๋ฝ ์ฒ˜๋ฆฌ

๊ต์ฐฉ ์ƒํƒœ๋ฅผ ์˜ˆ๋ฐฉ & ํšŒํ”ผ

1. ์˜ˆ๋ฐฉ

๊ต์ฐฉ ์ƒํƒœ ๋ฐœ์ƒ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด์„œ ํ•ด๊ฒฐํ•œ๋‹ค.(์ž์› ๋‚ญ๋น„ ์—„์ฒญ ์‹ฌํ•จ)

2. ํšŒํ”ผ

์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํƒ์ง€ & ํšŒ๋ณต

1. ํƒ์ง€

์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํƒ์ง€ํ•œ๋‹ค.

2. ํšŒ๋ณต

๊ต์ฐฉ ์ƒํƒœ ์ผ์œผํ‚จ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜, ํ• ๋‹น๋œ ์ž์›์„ ํ•ด์ œ์‹œ์ผœ ํšŒ๋ณต์‹œํ‚จ๋‹ค.

 

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(๋ฌธ๋งฅ ๊ตํ™˜)

  • ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ CPU์— ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.
  • ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค์˜ PC์™€ SP ๋“ฑ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์•„์ฃผ ์ž‘์€ ๊ณต๊ฐ„์„ PCB๋ผ๊ณ  ํ•˜๋Š”๋ฐ, PCB์—๋Š” Process ID(PID), ๋ ˆ์ง€์Šคํ„ฐ(PC,SP ๋“ฑ)์„ ํฌํ•จํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ PCB์— ์—…๋ฐ์ดํŠธ ํ›„ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค.
  • ๋‹ค์Œ ์‹คํ–‰ ํ•  ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์ ธ์™€ CPU ๋ ˆ์ง€์Šคํ„ฐ์— ๋„ฃ๊ณ  ์‹คํ–‰ํ•œ๋‹ค.

 

 

 

 

 

 

 

 

 

 


์ฐธ์กฐ

 

 

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์ˆ ๋ฉด์ ‘์—์„œ ๋‹จ๊ณจ ์งˆ๋ฌธ ์‚ฌํ•ญ์œผ๋กœ ๋‚˜์˜จ๋‹ค.

velog.io

 

 

[OS] ๋ฎคํ…์Šค(Mutex)์™€ ์„ธ๋งˆํฌ์–ด(Semaphore)๋ž€?

ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ฑฐ๋‚˜, ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ ๋œ ์ž์›์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ•˜๋ฉด Critical Section ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜

chelseashin.tistory.com

 

[์šด์˜์ฒด์ œ] Context Switch

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ CPU์— ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•ด์„œ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ธฐ์ˆ ๋“ค์— ์‚ฌ์šฉ๋˜๋Š” ๊ฒŒ ๋ฐ”๋กœ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ์— ์‹ค

velog.io

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Operating%20System/DeadLock.md

 

728x90