5. ์šด์˜์ฒด์ œ

Process์™€ Thread์˜ ์ฐจ์ด


๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค vs ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

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


์บ์‹œ์˜ ์ง€์—ญ์„ฑ


Thread-safe


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

Pasted image 20250313165558.png

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

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


์Šค์ผ€์ค„๋Ÿฌ

Pasted image 20250306143348.png


CPU ์Šค์ผ€์ค„๋Ÿฌ์˜ ์ข…๋ฅ˜


๋™๊ธฐ์™€ ๋น„๋™๊ธฐ

Pasted image 20250306143935.png


๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ „๋žต


๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ

Valid

Valid bit: ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น์ด ๋˜์–ด์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จ.
Modified bit: ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ€๋“ ์ฐผ์„ ๋•Œ Page Replacement์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค. -> ์ˆ˜์ •๋˜์ง€ ์•Š์€(bit == 0) ํŽ˜์ด์ง€ ์ค‘ ์„ ํƒ


๋ฐ๋“œ๋ฝ


์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ vs ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ


์™ธ๋ถ€ ๋‹จํŽธํ™” ๋‚ด๋ถ€ ๋‹จํŽธํ™”


Context Switching


Swapping