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

์Šคํ„ฐ๋””45

[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ] 5. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต: ์ œ์–ด ํ‰๋ฉด ์ œ์–ด ํ‰๋ฉด(control plane) : ๋„คํŠธ์›Œํฌ ์ „์ฒด๋ฅผ ์•„์šฐ๋ฅด๋Š” ๊ตฌ์„ฑ์š”์†Œ๋กœ์„œ, ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ์ถœ๋ฐœ์ง€ ํ˜ธ์ŠคํŠธ๋ถ€ํ„ฐ ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๊ตฌ์„ฑ์š”์†Œ์™€ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ• ์ง€๋ฅผ ์ œ์–ดํ•œ๋‹ค. ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์†ก์‹ ์ž๋ถ€ํ„ฐ ์ˆ˜์‹ ์ž๊นŒ์ง€ ๋ผ์šฐํ„ฐ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ข‹์€ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. ์ค‘์•™ ์ง‘์ค‘ํ˜• ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜(centralized routing algorithm) ๋„คํŠธ์›Œํฌ ์ „์ฒด์— ๋Œ€ํ•œ ์™„์ „ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ์‚ฌ์ด์˜ ์ตœ์†Œ ๋น„์šฉ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ๋Š” ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€(topology)์™€ ๋งํฌ ๋น„์šฉ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ์ „์ฒด ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ฐ–๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งํฌ ์ƒํƒœ(link-state, LS) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ .. 2023. 3. 4.
[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 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.
[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ] 4. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต: ๋ฐ์ดํ„ฐ ํ‰๋ฉด ๋ฐ์ดํ„ฐ ํ‰๋ฉด(data plane): ๋ผ์šฐํ„ฐ๋ณ„ ์ œ์–ด (per-router), ํ•œ ๋ผ์šฐํ„ฐ์˜ ์ž…๋ ฅ ๋งํฌ์— ๋„์ฐฉํ•œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๋‹ค๋ฅธ ํ•œ ๋ชฉ์  ๋ผ์šฐํ„ฐ์˜ ์ถœ๋ ฅ ๋งํฌ์— ์–ด๋–ป๊ฒŒ ๋„์ฐฉํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์ œ์–ด ํ‰๋ฉด(control plane): ๋„คํŠธ์›Œํฌ ์ „๋ฐ˜์˜ ๋…ผ๋ฆฌ, ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ์†ก์‹  ํ˜ธ์ŠคํŠธ์—์„œ ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๊นŒ์ง€์˜ ๋ผ์šฐํ„ฐ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ง€๋‚˜๊ฐˆ ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๊ฐœ์š” ํฌ์›Œ๋”ฉ: ํŒจํ‚ท์ด ๋ผ์šฐํ„ฐ์˜ ์ž…๋ ฅ ๋งํฌ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ๋ผ์šฐํ„ฐ๋Š” ๊ทธ ํŒจํ‚ท์„ ์ ์ ˆํ•œ ์ถœ๋ ฅ ๋งํฌ๋กœ ์ด๋™์‹œํ‚จ๋‹ค. ๋งค์šฐ ์งง์€ ์‹œ๊ฐ„(๋‚˜๋…ธ์ดˆ) ๋‹จ์œ„๋ฅผ ๊ฐ–์œผ๋ฉฐ, ํ•˜๋“œ์›จ์–ด์—์„œ ์‹คํ–‰๋œ๋‹ค. ๋ผ์šฐํŒ…: ์†ก์‹ ์ž๊ฐ€ ์ˆ˜์‹ ์ž์—๊ฒŒ ํŒจํ‚ท์„ ์ „์†กํ•  ๋•Œ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ํŒจํ‚ท ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. (๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๋” ๊ธด ์‹œ๊ฐ„(์ดˆ) ๋‹จ์œ„๋ฅผ ๊ฐ–์œผ๋ฉฐ, ๋ณดํ†ต ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์‹คํ–‰๋œ๋‹ค. ๋ผ์šฐํ„ฐ ์ž…๋ ฅ.. 2023. 2. 18.
[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 2์žฅ ์šด์˜์ฒด์ œ ๊ฐœ์š” ์šด์˜์ฒด์ œ๋ž€? ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ”๋กœ ์œ—๋‹จ์— ์„ค์น˜๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋ฉฐ, ์‚ฌ์šฉ์ž ๋ฐ ๋‹ค๋ฅธ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. ์ปค๋„์ด๋ž€? ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” ์šด์˜์ฒด์ œ์˜ ๋ถ€๋ถ„์„ ๋งํ•œ๋‹ค. ์šด์˜์ฒด์ œ์˜ 2๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๋‚ด์˜ ์ž์›(resource)์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ์šด์˜์ฒด์ œ์˜ ๋ถ„๋ฅ˜ ๋™์‹œ ์ž‘์—… ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹จ์ผ์ž‘์—…(single tasking) ๋‹ค์ค‘์ž‘์—…(multi tasking) : ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค์ค‘์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ์—๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค. ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ผ๊ด„์ฒ˜๋ฆฌ(batch processing) : ์š”์ฒญ๋œ ์ž‘์—…์„ ์ผ์ •๋Ÿ‰์”ฉ ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ๋ชจ๋“  ์ž‘์—…์ด ์™„์ „ํžˆ ์ข…๋ฃŒ๋œ ํ›„์— ๊ฒฐ.. 2023. 2. 18.
[์˜ค๋ธŒ์ ํŠธ] ๋ถ€๋ก B, C 'ํƒ€์ž… ๊ณ„์ธต์˜ ๊ตฌํ˜„', '๋™์ ์ธ ํ˜‘๋ ฅ, ์ •์ ์ธ ์ฝ”๋“œ' ๋ถ€๋ก B๋Š” ์ƒ์†์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํƒ€์ž… ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค. ๋ถ€๋ก C๋Š” ๋™์ ์ธ ํ˜‘๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์ ์ธ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค. ํƒ€์ž… ๊ณ„์ธต์˜ ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž… ๊ณ„์ธต ๊ตฌํ˜„ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์—์„œ ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…(user-defined data type)์ด๊ณ , ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž…๊ณผ ๊ตฌํ˜„์„ ๋™์‹œ์— ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž… ๊ณ„์ธต์€ ์ƒ์†์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ƒ์†์„ ์ด์šฉํ•  ๊ฒฝ์šฐ, ์ž์‹ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ตฌํ˜„๊ณผ ํผ๋ธ”๋ฆญ ์ธํ„ฐํŽ˜์ด์Šค ๋ชจ๋‘ ๋ฌผ๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ํƒ€์ž… ๊ณ„์ธต์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ž์‹ํด๋ž˜์Šค์™€ ๋ถ€๋ชจํด๋ž˜์Šค๋ฅผ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ๋˜๋„๋ก์ด๋ฉด ์ถ”์ƒ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•ด์„œ ํƒ€์ž… ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž… ๊ณ„.. 2023. 2. 10.