1. ๋๊ธฐํ(Synchronization)๋ํ๋ ฅํ์ฌ ์คํ๋๋ ํ๋ก์ธ์ค๋ค์ ์คํ ์์์ ์์์ ์ผ๊ด์ฑ์ ๋ณด์ฅํด์ผ ํ๊ธฐ์ ๋ฐ๋์ ๋๊ธฐํ ๋์ด์ผ ํ๋ค.์ฆ, ํ๋ก์ธ์ค ๋๊ธฐํ๋ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ์ ์๋ฏธํ๋ค.์คํ ์์ ์ ์ด: ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ์คํํ๊ธฐ์ํธ ๋ฐฐ์ : ๋์์ ์ ๊ทผํด์๋ ์ ๋๋ ์์์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผํ๊ฒ ํ๊ธฐ+) ์ค๋ ๋๋ ๋๊ธฐํ ๋์์ด๋ค. 1) ์คํ ์์ ์ ์ด๋ฅผ ์ํ ๋๊ธฐํ๋์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ์คํํ๋ ๊ฒ2) ์ํธ ๋ฐฐ์ ๋ฅผ ์ํ ๋๊ธฐํ์ํธ๋ฐฐ์ ๋ ๊ณต์ ๋ถ๊ฐ๋ฅํ ์์์ ๋์ ์ฌ์ฉ์ ํผํ๊ธฐ ์ํ ๊ฒ. e.g. ์์ฐ์-์๋น์ ๋ฌธ์ 2. ๋ฐฐ๊ฒฝ์์ฐ์-์๋น์ ๋ฌธ์ ์์ ์์ฐ์์ ์๋น์ ํ๋ก์ธ์ค๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๊ณตํต๋ ๋ณ์์ ๋ฒํผ๋ฅผ ๊ณต์ ํ๋ค. ๊ฐ๊ฐ์ ํ..
๐ปโ๏ธ์ ๊ณต๊ณต๋ถ/์ด์์ฒด์
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYOCdR%2FbtsG3yvwmHI%2FhR9WfNaHacNfrk9aIbeOsK%2Fimg.jpg)
1. ์ค์ผ์ค๋ง ๊ฐ๋
: ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ๋ชฉ์ ์ ํญ์ ์คํํ ์ ์๋ ํ๋ก์ธ์ค๊ฐ ์๋๋ก ํ์ฌ CPU ์ฌ์ฉ ํจ์จ์ ๊ทน๋ํ ํ๋๋ฐ ์๋ค. CPU - I/O ๋ฒ์คํธ ์ฃผ๊ธฐํ๋ก์ธ์ค๋ ์คํ๋๋ ๋์ CPU ์คํ๊ณผ ์
์ถ๋ ฅ ๋๊ธฐ๋ผ๋ ๋ ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ค.๊ณ์ฐ ์ค์ฌ ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ ์ ์ ์์ ๋งค์ฐ ๊ธด CPU ๋ฒ์คํธ๋ฅผ ๊ฐ์ง๋ฉฐ, ์
์ถ๋ ฅ ์ค์ฌ ํ๋ก์ธ์ค๋ ๋ง์ ์์ ์งง์ CPU ๋ฒ์คํธ๋ฅผ ๊ฐ์ง๋ค. CPU ์ค์ผ์ค๋ฌCPU๊ฐ ์ ํด ์ํ๊ฐ ๋๋ฉด ์ค๋น์๋ฃ ํ์ ์๋ ํ๋ก์ธ์ค๋ฅผ ํ๋ ์ ํํด์ ์คํํ๋ค. ์ด ์ ํ์ ๋จ๊ธฐ ์ค์ผ์ค๋ฌ๊ฐ ํ๋ค.CPU ์ค์ผ์ค๋ง์ ๋ํ ๊ฒฐ์ ์ 4๊ฐ์ง ์ํฉ์์ ์ผ์ด๋๋ค. 1. ํ ํ๋ก์ธ์ค๊ฐ ์คํ ์ํ์์ ๋๊ธฐ ์ํ๋ก ์ ํ๋ ๋(์
์ถ๋ ฅ ์์ฒญ, ์์ ํ๋ก์ธ์ค๋ค ์ค ํ๋๊ฐ ์ข
๋ฃ๋๋๊ฒ์ ๊ธฐ๋ค๋ฆฌ๊ธฐ ์ํด wait๋ฅผ ํธ์ถํ ๋)2. ํ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8Guvh%2FbtsHRJhZFVx%2Fd2Kl6gmBHSWsEyZ1tChfD1%2Fimg.png)
1. ์ปดํจํฐ ์์คํ
์ ๋์ํ๋ ์ปดํจํฐ๋ ๊ณต์ ๋ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ๊ทผ์ ์ ๊ณตํ๋ ๊ณตํต ๋ฒ์ค์ ์ํด ์ฐ๊ฒฐ๋ CPU์ ์ฌ๋ฌ ๊ฐ์ device controller๋ก ๊ตฌ์ฑ๋๋ค.device controller: ๊ฐ ์ฅ์น๋ฅผ ๊ด๋ฆฌํ๋ค.device controller์ CPU๋ ๋ณํ์ผ๋ก ์ํ๋๋ฏ๋ก ์ด๋ค์ ์ฃผ๊ธฐ์ต์ฅ์น ์ ๊ทผ์ ๋ํด ๊ฒฝ์ํ๋ค. Local buffer: CPU์ ์์
๊ณต๊ฐ์ธ ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กด์ฌํ๋ ๊ฒ ์ฒ๋ผ device controller๋ ์์
๊ณต๊ฐ์ด ํ์ํ๋ค.๋ฉ์ธ CPU์ ์์
๊ณต๊ฐ์ธ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ฏ์ด ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์ ์ฅํ๊ธฐ ์ํ ์์
๊ณต๊ฐ์ด ํ์ํ๋ฐ, ์ด๋ฅผ Local Buffer๊ฐ ๊ทธ ์ญํ ์ ํ๋ค.์ปดํจํฐ๊ฐ ์ฒ์ ๊ตฌ๋๋๋ฉด ์ด๊ธฐ์ ์คํ๋ ํ๋ก๊ทธ๋จ์ด ์์ด์ผํ๋ค. ์ด๋ฅผ ๋ถํธ์คํธ๋ฉ ํ๋ก๊ทธ๋จ์ด๋ผ ํ..
1. ์ด์์ฒด์ ๋? ์ปดํจํฐ ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ด์ ์ปดํจํฐ์ ์ฌ์ฉ์์ ์ปดํจํฐ ํ๋์จ์ด ์ฌ์ด์ ์ค๊ฐ ๋งค๊ฐ์ฒด ์ญํ ์ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.์ด์์ฒด์ ๋ ์ฌ์ฉ์์๊ฒ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ฉํ๋ก๊ทธ๋จ์ ์ปดํจํฐ ์์์ ๊ณจ๊ณ ๋ฃจ ๋ฐฐ๋ถํ์ฌ ์์
ํ๊ฒฝ์ ๋ง๋ค์ด ์ค๋ค. ์ ๋นํ ์์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ์์์ ํ์ํ๊ณ ์
์์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ์ปดํจํฐ๋ฅผ ๋ณดํธํ๋ค. ์ปดํจํฐ ์์คํ
์ ๊ตฌ์ฑ์์: ํ๋์จ์ด, ์ด์์ฒด์ , ์์ฉํ๋ก๊ทธ๋จ, ์ฌ์ฉ์์ปดํจํฐ ์์: ํค๋ณด๋, CPU, ๋ฉ๋ชจ๋ฆฌ ๋ฑ 2. ์ด์์ฒด์ ์ ๋ชฉํ์ฌ์ฉ์์๊ฒ ํธ๋ฆฌ์ฑ์ ์ ๊ณตํ๊ณ , ์ปดํจํฐ ์์คํ
์ ํจ์จ์ ์ผ๋ก ์ด์ํ๊ฒ ํ๋ค.์ปดํจํฐ ์์์ ํ ๋น์ ๊ณต์ ํ๊ณ ํจ์จ์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค. 3. ์ด์์ฒด์ ์ ๋ฐ์ ์์
๋ฐฉ์ ๋ฐ์ ํ๋์์ด์ด๋ง ์์คํ
→ ์ผ๊ด ์์
์์คํ
: batch(ํ ๋ฒ์ ..