๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์Šคํ„ฐ๋””/์šด์˜์ฒด์ œ9

[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 4์žฅ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์กฐ์™€ ์‹คํ–‰ 1. ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์กฐ์™€ ์ธํ„ฐ๋ŸฝํŠธ ํ”„๋กœ๊ทธ๋žจ์ด CPU์—์„œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋ช…๋ น์„ ๋‹ด์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฃผ์†Œ ์˜์—ญ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ฃผ์†Œ ์˜์—ญ ์ฝ”๋“œ(code) : ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ ํ•จ์ˆ˜๋“ค์˜ ์ฝ”๋“œ๊ฐ€ CPU์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด ๋ช…๋ น ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜๋˜์–ด ์ €์žฅ๋จ ๋ฐ์ดํ„ฐ(data) : ์ „์—ญ ๋ณ€์ˆ˜ ๋“ฑ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ถ€๋ถ„ ์Šคํƒ(stack) : ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ํ˜ธ์ถœ๋œ ํ•จ์ˆ˜์˜ ์ˆ˜ํ–‰์„ ๋งˆ์น˜๊ณ  ๋ณต๊ท€ํ•  ์ฃผ์†Œ ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ ์ธํ„ฐ๋ŸฝํŠธ๋กœ ์ธํ•ด CPU๋ฅผ ๋นผ์•—๊ธด ์œ„์น˜๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ์ œ์–ด๋ธ”๋ก์— ์ €์žฅ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค ์ œ์–ด๋ธ”๋ก(PCB) : ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์‹œ์ ์—์„œ ๊ทธ ํ”„๋กœ๊ทธ๋žจ์˜ ์–ด๋Š ๋ถ€๋ถ„๊นŒ์ง€ ์ˆ˜ํ–‰ํ–ˆ๋Š”์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ํ›„ ํ”„๋กœ์„ธ์Šค ์ œ์–ด๋ธ”๋ก์— .. 2023. 3. 3.
[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 3์žฅ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘ ์›๋ฆฌ 1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์žฅ์น˜ : CPU, ๋ฉ”๋ชจ๋ฆฌ ์ปดํ“จํ„ฐ ์™ธ๋ถ€์žฅ์น˜ : ๋””์Šคํฌ, ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ๋ชจ๋‹ˆํ„ฐ, ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ๋“ฑ -> ์ž…์ถœ๋ ฅ(input-output: I/O)๋ผ๊ณ ๋„ ํ•จ ์ปดํ“จํ„ฐ๋Š” ์™ธ๋ถ€์žฅ์น˜์—์„œ ๋‚ด๋ถ€์žฅ์น˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์™€(input) ๊ฐ์ข… ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ ํ›„, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์™ธ๋ถ€์žฅ์น˜๋กœ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ด๋Š”(output) ๋ฐฉ์‹์œผ๋กœ ์—…๋ฌด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. 2. CPU ์—ฐ์‚ฐ๊ณผ I/O ์—ฐ์‚ฐ ์ž…์ถœ๋ ฅ ์ปจํŠธ๋กค๋Ÿฌ : ์ž…์ถœ๋ ฅ ์žฅ์น˜๋“ค์˜ I/O ์—ฐ์‚ฐ ๋‹ด๋‹น ๋ฉ”์ธ CPU : ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์—ฐ์‚ฐ ๋‹ด๋‹น ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ๋ฉ”์ธ CPU๋Š” ๋™์‹œ ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋กœ์ปฌ๋ฒ„ํผ : ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐ๋ŸฝํŠธ : ์ปจํŠธ๋กค๋Ÿฌ๋“ค์ด CPU์˜ ์„œ๋น„์Šค๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์ด๋ฅผ ํ†ต๋ณดํ•˜๋Š” ๋ฐฉ๋ฒ• ์—ฐ์‚ฐ.. 2023. 2. 24.
[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 2์žฅ ์šด์˜์ฒด์ œ ๊ฐœ์š” ์šด์˜์ฒด์ œ๋ž€? ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ”๋กœ ์œ—๋‹จ์— ์„ค์น˜๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋ฉฐ, ์‚ฌ์šฉ์ž ๋ฐ ๋‹ค๋ฅธ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. ์ปค๋„์ด๋ž€? ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” ์šด์˜์ฒด์ œ์˜ ๋ถ€๋ถ„์„ ๋งํ•œ๋‹ค. ์šด์˜์ฒด์ œ์˜ 2๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๋‚ด์˜ ์ž์›(resource)์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ์šด์˜์ฒด์ œ์˜ ๋ถ„๋ฅ˜ ๋™์‹œ ์ž‘์—… ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹จ์ผ์ž‘์—…(single tasking) ๋‹ค์ค‘์ž‘์—…(multi tasking) : ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค์ค‘์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ์—๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค. ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ผ๊ด„์ฒ˜๋ฆฌ(batch processing) : ์š”์ฒญ๋œ ์ž‘์—…์„ ์ผ์ •๋Ÿ‰์”ฉ ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ๋ชจ๋“  ์ž‘์—…์ด ์™„์ „ํžˆ ์ข…๋ฃŒ๋œ ํ›„์— ๊ฒฐ.. 2023. 2. 18.