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

๋ชฉ๋กComputer Science/์šด์˜์ฒด์ œ (10)

Tech Log ๐Ÿ› ๏ธ

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋… ์ •๋ฆฌ

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

CISC์™€ RISC์˜ ๊ฐœ๋…๊ณผ ์ฐจ์ด

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

์ปค๋„ ์‹œ์Šคํ…œ ์•Œ์•„๋ณด๊ธฐ

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

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐœ๋… (๋…ผ๋ฆฌ์ฃผ์†Œ, ํŽ˜์ด์ง€ ํดํŠธ, ์Šค์™€ํ•‘)

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

์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๊ณผ ํŽ˜์ด์ง• ๋ฐฉ์‹

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

๋ฐ๋“œ๋ฝ์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ์™€ ํ•ด๊ฒฐ ์ „๋žต

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

๋ชจ๋‹ˆํ„ฐ์˜ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ์ž๋ฐ”์—์„œ์˜ ๋ชจ๋‹ˆํ„ฐ

๋ชจ๋‹ˆํ„ฐ๋ž€? ๋ชจ๋‹ˆํ„ฐ๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ mutex๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ์Šค๋ ˆ๋“œ๋ฅผ waiting ์ƒํƒœ๋กœ ์ „ํ™˜์‹œํ‚ค๋Š”๋ฐ ์ด๋ฅผ cooperation์ด๋ผ๊ณ  ํ•œ๋‹ค. mutex - ๋ฝ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋งŒ์ด ์ž„๊ณ„ ์˜์—ญ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ณ  ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ์˜ ์ž‘๋™ ๋ฐฉ์‹ ๋ชจ๋‹ˆํ„ฐ๋Š” ํฌ๊ฒŒ ๋‘๊ฐ€์ง€์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋ฎคํ…์Šค mutual exclusion์„ ๋ณด์žฅํ•˜๋Š” ์žฅ์น˜์ด๋‹ค. ๋ฝ์„ ๊ฐ€์ง€์ง€ ๋ชปํ•œ ์Šค๋ ˆ๋“œ๋Š” ๋ฎคํ…์Šค์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์—”ํŠธ๋ฆฌ ํ์— ๋“ค์–ด๊ฐ„๋‹ค. condition variable wating queue๋ฅผ ์ด์šฉํ•ด ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์€ ์Šค๋ ˆ๋“œ๋“ค์ด ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋จธ๋ฌผ ์ˆ˜ ์žˆ๋„๋กํ•œ๋‹ค. ๋งŒ์•ฝ ์Šค๋ ˆ๋“œ์˜ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์—ˆ์„ ๊ฒฝ์šฐ ์Šค๋ ˆ๋“œ๋ฅผ ๊นจ์šฐ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•œ๋ฐ ์ด๋Ÿฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์ธํ•ด 3..

์Šค์ผ€์ค„๋ง ๊ฐœ๋… ์ •๋ฆฌ

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

์šด์˜์ฒด์ œ ์Šคํ„ฐ๋”” ์งˆ๋ฌธ ์ •๋ฆฌ

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

ํŠธ๋žœ์žญ์…˜๊ณผ ๊ฒฉ๋ฆฌ ๋ ˆ๋ฒจ

ํŠธ๋žœ์žญ์…˜์ด๋ž€ ? ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„์—์„œ์˜ ํŠธ๋žœ์žญ์…˜์„ ์‚ดํŽด๋ณด๊ธฐ ์•ž์„œ์„œ ์‹ค์ƒํ™œ์—์„œ ํ”ํžˆ ์žˆ๋Š” ์ด์•ผ๊ธฐ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ ์นœ๊ตฌ๊ฐ€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ๊ณ„์ขŒ์— 20๋งŒ์›์„ ๋ณด๋‚ด์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ ์ž‘์—…์˜ ๋‹จ์œ„๋Š” ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ์ž์„ธํžˆ ํŒŒํ•ด์น˜๋ฉด ๋” ๋งŽ์€ ๋‹จ์œ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. 1. ์นœ๊ตฌ A์˜ ๊ณ„์ขŒ์—์„œ 20๋งŒ์›์„ ๋บ€๋‹ค. 2. ์นœ๊ตฌ B์˜ ๊ณ„์ขŒ์— 20๋งŒ์›์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด ์ƒํ™ฉ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๋Œ€ํ‘œ์ ์œผ๋กœ 4๊ฐ€์ง€๋งŒ ์•Œ์•„๋ณด์ž ๋งŒ์•ฝ, ์†ก๊ธˆ ๋„์ค‘ A์˜ ๊ณ„์ขŒ์—๋Š” ๋ˆ์ด ๋น ์กŒ๋Š”๋ฐ B์˜ ๊ณ„์ขŒ์— ๋ˆ์ด ๊ทธ๋Œ€๋กœ๋ผ๋ฉด? ๋งŒ์•ฝ, A์˜ ๊ณ„์ขŒ์— ๋ˆ์ด ๋ถ€์กฑํ•œ ์ƒํƒœ์ธ๋ฐ ์†ก๊ธˆ์ด ๋˜์—ˆ๋‹ค๋ฉด? ๋งŒ์•ฝ, ์†ก๊ธˆ ๋„์ค‘ ์นœ๊ตฌC๊ฐ€ ์†ก๊ธˆ์„ ๋ณด๋‚ด์„œ ์„œ๋กœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—‡๊ฐˆ๋ฆฐ๋‹ค๋ฉด? ๋งŒ์•ฝ, ์†ก๊ธˆ์„ ์ž˜ ๋งˆ์ณค์Œ์—๋„..