์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ์กฐ๊ฐ. ํŒŒํŠธ 1: ์†Œ๊ฐœ(๋ฒˆ์—ญ)

์šด์˜ ์ฒด์ œ ์†Œ๊ฐœ

ํ—ค์ด ํ•˜๋ธŒ๋ฅด! ์ œ ์ƒ๊ฐ์—๋Š” ํฅ๋ฏธ๋กœ์šด ๋ฌธํ—Œ ์ธ OSTEP์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ๊ธฐ์‚ฌ ๋ฒˆ์—ญ์„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ด€์‹ฌ์„ ๋Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ์ž๋ฃŒ๋Š” ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜ ์ฒด์ œ์˜ ์ž‘์—…, ์ฆ‰ ํ”„๋กœ์„ธ์Šค, ๋‹ค์–‘ํ•œ ์Šค์ผ€์ค„๋Ÿฌ, ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์ตœ์‹  OS๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ž‘์—…์— ๋Œ€ํ•ด ๋งค์šฐ ๊นŠ์ด ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ์ž๋ฃŒ์˜ ์›๋ณธ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—. ๋น„์ „๋ฌธ์ ์œผ๋กœ(์ƒ๋‹นํžˆ ์ž์œ ๋กญ๊ฒŒ) ๋ฒˆ์—ญํ–ˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ์˜๋ฏธ๋ฅผ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ์‹ค ์ž‘์—…์€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—์„œ ๋‚ด ์ฑ„๋„์„ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์•ผ๊ธฐ =)

ํ”„๋กœ๊ทธ๋žจ ์šด์˜

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

์ด ์˜ˆ๋Š” ๋‹น์—ฐํžˆ ๋‹จ์ˆœํ™”๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ํ”„๋กœ์„ธ์„œ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ตœ์‹  ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆœ์„œ ์—†์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ๋™์‹œ์— ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๋“ฑ์˜ ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Von Neumann ๊ณ„์‚ฐ ๋ชจ๋ธ

์šฐ๋ฆฌ๊ฐ€ ์„ค๋ช…ํ•˜๋Š” ๋‹จ์ˆœํ™”๋œ ํ˜•ํƒœ์˜ ์ž‘์—…์€ Von Neumann ๊ณ„์‚ฐ ๋ชจ๋ธ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํฐ ๋…ธ์ด๋งŒ์€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์„ ๊ตฌ์ž ์ค‘ ํ•œ ๋ช…์ด๋ฉฐ ๊ฒŒ์ž„ ์ด๋ก ์˜ ์ €์ž์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.. ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๋งŽ์€ ๋‹ค๋ฅธ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๋‹ค๋ฅธ ๋งŽ์€ ํ”„๋กœ์„ธ์Šค์™€ ํƒ€์‚ฌ ๋…ผ๋ฆฌ๊ฐ€ ์ž‘๋™ํ•˜๋ฉฐ ๊ทธ ์ฃผ์š” ๋ชฉ์ ์€ ์‹œ์Šคํ…œ์˜ ์‹œ์ž‘, ์ž‘๋™ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์šด์˜ ์ฒด์ œ

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

OS๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์ธ ๊ธฐ์ˆ ์„ ํ†ตํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™”. OS๋Š” ๋ฌผ๋ฆฌ์  ๋ฆฌ์†Œ์Šค(ํ”„๋กœ์„ธ์„œ, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ๋“ฑ)์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜์—ฌ ์ด๋ฅผ ๋ณด๋‹ค ์ผ๋ฐ˜์ ์ด๊ณ  ๊ฐ•๋ ฅํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์ธ ์ดํ•ด๋ฅผ ์œ„ํ•ด ์šด์˜ ์ฒด์ œ๋ฅผ ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ ๋งค์šฐ ๋Œ€๋žต์ ์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฐ€์ƒํ™”๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰(๋”ฐ๋ผ์„œ CPU ๊ณต์œ )ํ•˜๊ณ  ๋ช…๋ น๊ณผ ๋ฐ์ดํ„ฐ์— ๋™์‹œ์— ์•ก์„ธ์Šค(๋”ฐ๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ )ํ•˜๊ณ  ๋””์Šคํฌ์— ์•ก์„ธ์Šค(๋”ฐ๋ผ์„œ I/O ์žฅ์น˜ ๊ณต์œ )ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šด์˜ ์ฒด์ œ๋ฅผ ์šด์˜ ์ฒด์ œ๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ž์› ๊ด€๋ฆฌ์ž. ๊ฐ ํ”„๋กœ์„ธ์„œ, ๋””์Šคํฌ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์‹œ์Šคํ…œ์˜ ์ž์›์ด๋ฏ€๋กœ ์šด์˜ ์ฒด์ œ์˜ ์—ญํ•  ์ค‘ ํ•˜๋‚˜๋Š” ์ด ์šด์˜ ์ฒด์ œ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์— ๋”ฐ๋ผ ์ด๋Ÿฌํ•œ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ, ์ •์งํ•˜๊ฒŒ ๋˜๋Š” ๊ทธ ๋ฐ˜๋Œ€๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ๋ฉ๋‹ˆ๋‹ค. ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

CPU ๊ฐ€์ƒํ™”

๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.
(https://www.youtube.com/watch?v=zDwT5fUcki4)

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ์กฐ๊ฐ. ํŒŒํŠธ 1: ์†Œ๊ฐœ(๋ฒˆ์—ญ)

ํŠน๋ณ„ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์‹ค์ œ๋กœ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ํšŒ์ „(), ๊ทธ์˜ ์ž‘์—…์€ ์‹œ๊ฐ„ ํ™•์ธ์„ ์ˆœํ™˜ํ•˜๊ณ  XNUMX์ดˆ๊ฐ€ ์ง€๋‚œ ํ›„์— ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๋ฌธ์ž์—ด์„ ๋ฌดํ•œ์ • ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ๋ฌธ์ž "A"๋ฅผ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•ด ๋ด…์‹œ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๊ทธ๋‹ค์ง€ ํฅ๋ฏธ๋กญ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ๋‹จ์ˆœํžˆ ๋ฌธ์ž "A"๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

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

์ด ๊ทธ๋ฆผ์€ ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ• ์ง€์™€ ๊ฐ™์€ ๋งŽ์€ ์งˆ๋ฌธ์„ ์ œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. OS์˜ "์ •์ฑ…"์ด โ€‹โ€‹์ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ์ฑ…์ž„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ •์ฑ…์€ OS์˜ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์ด์™€ ๊ฐ™์€ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋ฉฐ OS๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž๋กœ์„œ์˜ OS์˜ ์—ญํ• ์ž…๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๊ฐ€์ƒํ™”

์ด์ œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์‹œ์Šคํ…œ์˜ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ์€ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.. ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ฝ์œผ๋ ค๋ฉด ๋‹ค์Œ์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์…€ ์ฃผ์†Œ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์…€์˜ ์ฃผ์†Œ๋„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์ง€์†์ ์œผ๋กœ ์•ก์„ธ์Šค๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ํ•œํŽธ ๋ช…๋ น์–ด๋„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋ฏ€๋กœ ๋‹ค์Œ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ๊ฐ ์š”์ฒญ์— ์•ก์„ธ์Šคํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

malloc() ํ˜ธ์ถœ

ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹นํ•˜๋Š” ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. malloc () (https://youtu.be/jnlKRnoT1m0):

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ์กฐ๊ฐ. ํŒŒํŠธ 1: ์†Œ๊ฐœ(๋ฒˆ์—ญ)

์ด ํ”„๋กœ๊ทธ๋žจ์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ผ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ์ผ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•œ ๋‹ค์Œ(7ํ–‰) ํ• ๋‹น๋œ ์…€์˜ ์ฃผ์†Œ๋ฅผ ์ธ์‡„ํ•˜๊ณ (9ํ–‰) ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฒซ ๋ฒˆ์งธ ์Šฌ๋กฏ์— XNUMX์„ ์”๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์€ "p" ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฃจํ”„์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž์‹ ์˜ ํ”„๋กœ์„ธ์Šค ID๋„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ID๋Š” ์‹คํ–‰ ์ค‘์ธ ๊ฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค.. ์—ฌ๋Ÿฌ ๋ณต์‚ฌ๋ณธ์„ ์‹œ์ž‘ํ•˜๋ฉด ํฅ๋ฏธ๋กœ์šด ๊ฒฐ๊ณผ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ฒฝ์šฐ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๋ณต์‚ฌ๋ณธ์„ ์‹คํ–‰ํ•˜๋ฉด ์ฃผ์†Œ๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์šฐ๋ฆฌ ์ด๋ก ์— ์†ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์ตœ์‹  ๋ฐฐํฌํŒ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋ฌด์ž‘์œ„ํ™”๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งž์Šต๋‹ˆ๋‹ค. ๋น„ํ™œ์„ฑํ™”๋˜๋ฉด ์˜ˆ์ƒ๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๋‘ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ์กฐ๊ฐ. ํŒŒํŠธ 1: ์†Œ๊ฐœ(๋ฒˆ์—ญ)

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

์ผ๊ด€์„ฑ

์šด์˜ ์ฒด์ œ ๋‚ด์˜ ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์ฃผ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ผ๊ด€์„ฑ. ์ด ์šฉ์–ด๋Š” ๋™์ผํ•œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ๋™์‹œ์— ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋งํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์šด์˜ ์ฒด์ œ ์ž์ฒด ๋‚ด์—์„œ๋„ ์ผ๊ด€์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ํ”„๋กœ์„ธ์„œ ๊ฐ€์ƒํ™” ์˜ˆ์—์„œ ์šฐ๋ฆฌ๋Š” OS๊ฐ€ ๋™์‹œ์— ๋งŽ์€ ๊ฒƒ์„ ๊ด€๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ๋‘ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์‹์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด ๋™์ž‘์€ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„๋Œ€์˜ ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋žจ์€ ์ด๋Ÿฌํ•œ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ์กฐ๊ฐ. ํŒŒํŠธ 1: ์†Œ๊ฐœ(๋ฒˆ์—ญ)

main ํ•จ์ˆ˜์˜ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. pthread_create(). ์ด ์˜ˆ์ œ์—์„œ ์Šค๋ ˆ๋“œ๋Š” ๋ถ„๋ช…ํžˆ ๋™์‹œ์— ๋‘˜ ์ด์ƒ์˜ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. worker()๋Š” ๋‹จ์ˆœํžˆ ๋ณ€์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.,.

1000์ด๋ผ๋Š” ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ง์ž‘ํ•˜์…จ๊ฒ ์ง€๋งŒ ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ณ€์ˆ˜๋ฅผ 2000๋ฒˆ ์ฆ๊ฐ€์‹œ์ผฐ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๋Š” 1000์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ทธ๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ํ›จ์”ฌ ๋” ๋งŽ์ด ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•ด ๋ด…์‹œ๋‹ค.

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ์กฐ๊ฐ. ํŒŒํŠธ 1: ์†Œ๊ฐœ(๋ฒˆ์—ญ)

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

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€