๐Ÿป‍โ„๏ธ์ „๊ณต๊ณต๋ถ€/์šด์˜์ฒด์ œ

1. ๋™๊ธฐํ™”(Synchronization)๋ž€ํ˜‘๋ ฅํ•˜์—ฌ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์€ ์‹คํ–‰ ์ˆœ์„œ์™€ ์ž์›์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ด์•ผ ํ•˜๊ธฐ์— ๋ฐ˜๋“œ์‹œ ๋™๊ธฐํ™” ๋˜์–ด์•ผ ํ•œ๋‹ค.์ฆ‰, ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”๋ž€ ํ”„๋กœ์„ธ์Šค๋“ค ์‚ฌ์ด์˜ ์ˆ˜ํ–‰ ์‹œ๊ธฐ๋ฅผ ๋งž์ถ”๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.์‹คํ–‰ ์ˆœ์„œ ์ œ์–ด: ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜๊ธฐ์ƒํ˜ธ ๋ฐฐ์ œ: ๋™์‹œ์— ์ ‘๊ทผํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ์ž์›์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์ ‘๊ทผํ•˜๊ฒŒ ํ•˜๊ธฐ+) ์Šค๋ ˆ๋“œ๋„ ๋™๊ธฐํ™” ๋Œ€์ƒ์ด๋‹ค. 1) ์‹คํ–‰ ์ˆœ์„œ ์ œ์–ด๋ฅผ ์œ„ํ•œ ๋™๊ธฐํ™”๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ2) ์ƒํ˜ธ ๋ฐฐ์ œ๋ฅผ ์œ„ํ•œ ๋™๊ธฐํ™”์ƒํ˜ธ๋ฐฐ์ œ๋Š” ๊ณต์œ  ๋ถˆ๊ฐ€๋Šฅํ•œ ์ž์›์˜ ๋™์‹œ ์‚ฌ์šฉ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. e.g. ์ƒ์‚ฐ์ž-์†Œ๋น„์ž ๋ฌธ์ œ  2. ๋ฐฐ๊ฒฝ์ƒ์‚ฐ์ž-์†Œ๋น„์ž ๋ฌธ์ œ์—์„œ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž ํ”„๋กœ์„ธ์Šค๋Š” ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณตํ†ต๋œ ๋ณ€์ˆ˜์™€ ๋ฒ„ํผ๋ฅผ ๊ณต์œ ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ํ”„..
1. ์Šค์ผ€์ค„๋ง ๊ฐœ๋…: ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ชฉ์ ์€ ํ•ญ์ƒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋„๋ก ํ•˜์—ฌ CPU ์‚ฌ์šฉ ํšจ์œจ์„ ๊ทน๋Œ€ํ™” ํ•˜๋Š”๋ฐ ์žˆ๋‹ค. CPU - I/O ๋ฒ„์ŠคํŠธ ์ฃผ๊ธฐํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰๋˜๋Š” ๋™์•ˆ CPU ์‹คํ–‰๊ณผ ์ž…์ถœ๋ ฅ ๋Œ€๊ธฐ๋ผ๋Š” ๋‘ ์ฃผ๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.๊ณ„์‚ฐ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฝ์šฐ ์ ์€ ์ˆ˜์˜ ๋งค์šฐ ๊ธด CPU ๋ฒ„์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ž…์ถœ๋ ฅ ์ค‘์‹ฌ ํ”„๋กœ์„ธ์Šค๋Š” ๋งŽ์€ ์ˆ˜์˜ ์งง์€ CPU ๋ฒ„์ŠคํŠธ๋ฅผ ๊ฐ€์ง„๋‹ค. CPU ์Šค์ผ€์ค„๋ŸฌCPU๊ฐ€ ์œ ํœด ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ์ค€๋น„์™„๋ฃŒ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•˜๋‚˜ ์„ ํƒํ•ด์„œ ์‹คํ–‰ํ•œ๋‹ค. ์ด ์„ ํƒ์€ ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ํ•œ๋‹ค.CPU ์Šค์ผ€์ค„๋ง์— ๋Œ€ํ•œ ๊ฒฐ์ •์€ 4๊ฐ€์ง€ ์ƒํ™ฉ์—์„œ ์ผ์–ด๋‚œ๋‹ค. 1. ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ƒํƒœ์—์„œ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ(์ž…์ถœ๋ ฅ ์š”์ฒญ, ์ž์‹ ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ข…๋ฃŒ๋˜๋Š”๊ฒƒ์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์œ„ํ•ด wait๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ)2. ํ”„..
1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘ํ˜„๋Œ€ ์ปดํ“จํ„ฐ๋Š” ๊ณต์œ ๋œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ‘๊ทผ์„ ์ œ๊ณตํ•˜๋Š” ๊ณตํ†ต ๋ฒ„์Šค์— ์˜ํ•ด ์—ฐ๊ฒฐ๋œ CPU์™€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ device controller๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.device controller: ๊ฐ ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.device controller์™€ CPU๋Š” ๋ณ‘ํ–‰์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์ด๋“ค์€ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์ ‘๊ทผ์— ๋Œ€ํ•ด ๊ฒฝ์Ÿํ•œ๋‹ค. Local buffer: CPU์˜ ์ž‘์—… ๊ณต๊ฐ„์ธ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ device controller๋„ ์ž‘์—… ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.๋ฉ”์ธ CPU์˜ ์ž‘์—… ๊ณต๊ฐ„์ธ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋“ฏ์ด ๋””๋ฐ”์ด์Šค ์ปจํŠธ๋กค๋Ÿฌ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—… ๊ณต๊ฐ„์ด ํ•„์š”ํ•œ๋ฐ, ์ด๋ฅผ Local Buffer๊ฐ€ ๊ทธ ์—ญํ• ์„ ํ•œ๋‹ค.์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜์Œ ๊ตฌ๋™๋˜๋ฉด ์ดˆ๊ธฐ์— ์‹คํ–‰๋  ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์–ด์•ผํ•œ๋‹ค. ์ด๋ฅผ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ ํ•˜..
1. ์šด์˜์ฒด์ œ๋ž€? ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด์ž ์ปดํ“จํ„ฐ์˜ ์‚ฌ์šฉ์ž์™€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์— ์ค‘๊ฐ„ ๋งค๊ฐœ์ฒด ์—ญํ• ์„ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.์šด์˜์ฒด์ œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ์ปดํ“จํ„ฐ ์ž์›์„ ๊ณจ๊ณ ๋ฃจ ๋ฐฐ๋ถ„ํ•˜์—ฌ ์ž‘์—… ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค. ์ ๋‹นํ•œ ์‹œ์ ์— ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ž์›์„ ํšŒ์ˆ˜ํ•˜๊ณ  ์•…์˜์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ์š”์†Œ: ํ•˜๋“œ์›จ์–ด, ์šด์˜์ฒด์ œ, ์‘์šฉํ”„๋กœ๊ทธ๋žจ, ์‚ฌ์šฉ์ž์ปดํ“จํ„ฐ ์ž์›: ํ‚ค๋ณด๋“œ, CPU, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ 2. ์šด์˜์ฒด์ œ์˜ ๋ชฉํ‘œ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ๋ฆฌ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ , ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•˜๊ฒŒ ํ•œ๋‹ค.์ปดํ“จํ„ฐ ์ž์›์˜ ํ• ๋‹น์€ ๊ณต์ •ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค. 3. ์šด์˜์ฒด์ œ์˜ ๋ฐœ์ „์ž‘์—… ๋ฐฉ์‹ ๋ฐœ์ „ํ•˜๋“œ์™€์ด์–ด๋ง ์‹œ์Šคํ…œ → ์ผ๊ด„ ์ž‘์—… ์‹œ์Šคํ…œ: batch(ํ•œ ๋ฒˆ์— ..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿป‍โ„๏ธ์ „๊ณต๊ณต๋ถ€/์šด์˜์ฒด์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก