728x90
๋ฐ˜์‘ํ˜•

I/O 1

[๋„คํŠธ์›Œํฌ] Blocking I/O & Non-Blocking I/O

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

CS/Network 2023.07.06
728x90
๋ฐ˜์‘ํ˜•