์๊ณ๊ตฌ์ญ3 18. ์ํธ๋ฐฐ์ ๊ตฌํ ๋ฐฉ๋ฒ ๋จผ์ , ํด๋น ํฌ์คํ ์ ๋จ์ผ ํ๋ก์ธ์ ์ํธ๋ฐฐ์ ๊ตฌํ ๋ฐฉ๋ฒ์ธ ๊ฒ์ ์๊ณ ์์ด์ผ ํ๋ค.์ธํฐ๋ฝํธ ์๋น์ค ๊ธ์ง ๋ฐฉ๋ฒ ์ง์ ์ฝ๋(Entry Code)์์ cli(clear interrupt flag) ๋ช ๋ น์ผ๋ก ์ธํฐ๋ฝํธ ์๋น์ค๋ฅผ ์ค์งํ๊ณ ์๊ณ ๊ตฌ์ญ(Critical Code)์์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ๋ฌด์ํ๋ค.์ง์ถ ์ฝ๋(Exit Code)์์ sti(set interrupt flag) ๋ช ๋ น์ผ๋ก ์ธํฐ๋ฝํธ ์๋น์ค๋ฅผ ์ฌ์คํํ๋ค. ์ธํฐ๋ฝํธ ์๋น์ค๋ฅผ ์ค์งํ์ง ์์ ๊ฒฝ์ฐ, ๊ทธ๋ฆผ2์ ๊ฐ์ด T1์ด ์๊ณ๊ตฌ์ญ์ ์ ๊ทผํ์ ๋, T1์๊ฒ์ ์ธํฐ๋ฝํธ ์๋น์ค๊ฐ ๋ฐ์ํ๋ฉด ์ค๋ ๋๋ ๋๊ธฐ ์ํ๊ฐ ๋๊ณ T2๋ฅผ ์ค์ผ์คํ๋ค. ์ด ๋, T2๊ฐ ์๊ณ ๊ตฌ์ญ์ ์ ๊ทผํ๊ฒ ๋๋ค๋ฉด ๊ณต์ ์์์ T1๊ณผ T2๊ฐ ๊ณต์กดํ๋ ํ์์ด ๋ฐ์ํ๋ค. ์ฆ T1์ด ๋ณ์์ ๊ฐ์ ์ฝ๊ณ ์ธํฐ.. 2024. 6. 16. 17. ์ํธ ๋ฐฐ์ (Mutual Exclusion) ์ํธ๋ฐฐ์ ๋? ์์ ์ค๋ ๋ ๋๊ธฐํ์์ ์ธ๊ธ๋ ์๊ณ๊ตฌ์ญ๊ณผ ์ํธ๋ฐฐ์ ๋ ์ค๋ ๋ ๋๊ธฐํ๋ฅผ ์ํ ์ค์ํ ๊ฐ๋ ์ด๋ค.๋จผ์ , ์๊ณ ๊ตฌ์ญ(Critical Section)์ ๊ฐ ์ค๋ ๋๋ค์ด ๋์์ ์ ๊ทผํ ์ ์๋ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ตฌ์ญ์ด๋ค.์ํธ ๋ฐฐ์ ๋ ๋จผ์ ์๊ณ ๊ตฌ์ญ์ ์ ๊ทผํ ์ค๋ ๋๊ฐ ์๊ณ ๊ตฌ์ญ์ ๋ ์ ์ ์ผ๋ก ์ฌ์ฉํ์ฌ ์ค๋ ๋ ๊ฐ์ ์์๋ฅผ ๋ณด์ฅํ ์ ์๋ ๊ฐ๋ ์ด๋ค. ์๊ณ ๊ตฌ์ญ๊ณผ ์ํธ ๋ฐฐ์ ๋ ์กฐ๊ธ ๋ ์ฝ๊ฒ ์๊ฐํด๋ณด์. ์ค๋ ๋ A๋ ํ์ง, ์ค๋ ๋ B๋ ๋งค์ดํ ์ง์ด๋ค. ์ค๋ ๋ A์ B๋ ์์ฐ๋๋งค์์ ์ฑ์ฑํ ์์ ์ ๊ฐ์ ธ์์ผํ๋ค. ์ค๋ ๋ A์ B๋ ์๋ก ๊ฒฝ๋งค๊ฐ๋ฅผ ๋ถ๋ฅด๊ณ ์๋๋ฐ ๋๋งค์์ด "๋ง์ง๋ง์ผ๋ก ํ์ฌ ๊ฒฝ๋งค๊ฐ ๋ณด๋ค ๋์ ๊ฐ๊ฒฉ์ ๋จผ์ ์ ์ํ ์ฌ๋์๊ฒ ํ๋งคํ๊ฒ ์ต๋๋ค."๋ผ๊ณ ํ๋ค. ์ค๋ ๋ A์ B๋ ๋์์ "100๋ง ์!"์ ์ธ์ณค๋ค. ์ด.. 2024. 6. 15. 16. ์ค๋ ๋ ๋๊ธฐํ (Thread Synchronization) ์ค๋ ๋ ๋๊ธฐํ๋ ๋ญ๊น? ์ค๋ ๋ ๋๊ธฐํ๋ ๋ค์์ ์ค๋ ๋๊ฐ ํ๋์ ์์์ ๋์์ ์ ๊ทผํ ๋ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.๋ค์์ ์ค๋ ๋๊ฐ ํ๋์ ์์์ ๋์์ ์ ๊ทผํ๋ค๋๊ฒ ๋ฌด์จ ๋ง์ผ๊น?์ค๋ ๋ ๋๊ธฐํ ์ดํดํ๊ธฐ ๋จผ์ , ์ปดํจํฐ์ ๊ตฌ์กฐ๋ฅผ ์ ์๊ณ ์์ด์ผํ๋ค.๋ ผ๋ฆฌํ๋ก, ์ปดํจํฐ ๊ตฌ์กฐ, ์ด์์ฒด์ ์ ๋จ์์ ์ด์ฌํ ๊ณต๋ถํ๋ค๋ฉด ์ฝ๊ฒ ์ดํดํ ์ ์๋ ๋ถ๋ถ์ด๋ค. ์ดํด๋ฅผ ํด๋ณด์.์ปดํจํฐ๋ ํด๋ญ ๋จ์๋ก ๋์ํ๋ค.ํด๋ญ ๋จ์๋ก ๋์ํ๋ค๋ ๊ฒ์ ํ๋์ ์์ ์ ์ํํ ๋, ์ผ์ ์๊ฐ์ด ์์๋๋ค๋ ์๋ฏธ์ด๋ค. TEMP = 10 ์ด ์์ ๋, ํ๋์ ํด๋ญ์ด ์์๋๋๋ฐ 0.001์ด๋ผ๊ณ ํด๋ณด์. ์ค๋ ๋ A์ B๊ฐ TEMP์ ์ ๋ ฅํ ๊ฐ์ ๋ํ๋ ค๊ณ ํ๋ค. 1. 0์ด์ ์ค๋ ๋ A๋ TEMP์ ๊ฐ์ ํ์ธํ๋ค. ๊ฐ์ 10์ด๋ค. 5๋ฅผ .. 2024. 6. 15. ์ด์ 1 ๋ค์