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

Computer Science

[CS] CPU ์Šค์ผ€์ฅด๋ง, Process ๊ฐ„ ํ†ต์‹ ๋ฐฉ๋ฒ•, ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(VMS)

๋ฐ˜์‘ํ˜•

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

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ„๋žตํ•˜๊ฒŒ CPU ์Šค์ผ€์ฅด๋ง๊ณผ ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์— ํ†ต์‹ ํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(VMS, Virtual Memory Space)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

 

์• ํ”Œ์˜ ์ปดํ“จํ„ฐ, ๋งฅํ‚จํ† ์‹œ


1. CPU ์Šค์ผ€์ฅด๋ง์˜ ์ฃผ์ฒด๋Š” OS๋‹ค

์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋ฉด์„œ ์šด์˜์ฒด์ œ(์ดํ•˜ OS)๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์œ„๋กœ ํ•˜์—ฌ ํŒŒ์ผ ๋˜๋Š” ์ „์‚ฐ์ž์›(CPU, RAM ๋“ฑ)์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ „์‚ฐ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด๋ผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ "์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋Š” CPU์˜ ์–ด๋Š ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•ด! ๊ทธ๋ฆฌ๊ณ  RAM์˜ ์–ด๋Š ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•ด" ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, OS๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๋„๋ก ์ง€์›(support)ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ข€ ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋งํ•ด์„œ CPU Core๋ฅผ ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์กด์žฌํ•˜๋Š” ์“ฐ๋ ˆ๋“œ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ์“ฐ๋ ˆ๋“œ๋“ค์ด CPU๋ฅผ ์„ ์ ํ•˜๋ ค๊ณ  ๋‹ฌ๋ ค๋“ (?) ๋‹ค๋ฉด OS๋Š” ์“ฐ๋ ˆ๋“œ๋“ค์„ ๋ณด๊ณ  "์ค„์„ ์„œ์‹œ์˜ค~!" ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. 

 

OS๋Š” CPU๋ฅผ ์ ์œ ํ•  ์“ฐ๋ ˆ๋“œ/ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์Šค์ผ€์ฅด๋ง ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰

 

๊ฒฐ๊ตญ, OS๋Š” ํšจ์œจ์ ์ธ ์ „์‚ฐ ํ™œ์šฉ์„ ์œ„ํ•ด์„œ CPU ์Šค์ผ€์ฅด๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์Šค์ผ€์ฅด๋ง ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ, ์„ ์ ํ˜•(Preemitive) ์Šค์ผ€์ฅด๋ง์ด ์žˆ๋‹ค. ์„ ์ ํ˜•์€ ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ฆ‰, CPU๋ฅผ ์ ์œ  ์ค‘์ด๋”๋ผ๋„ OS๊ฐ€ ํ•ด๋‹น CPU๋ฅผ ๊ฐ•์ œ๋กœ ๋บ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์ด๋‹ค. ๋ฐ˜๋Œ€๋กœ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ฅด๋ง์ด ์žˆ๋‹ค. ๋น„์„ ์ ํ˜• ์Šค์ผ€์ฅด๋ง์€ ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ๋–„๊นŒ์ง€ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” CPU๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์“ฐ์ง€ ๋ชปํ•˜๊ณ  ๊ณ„์† ๋Œ€๊ธฐ(wait)ํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ๋ฌผ๋ก  ๋น„์„ ์ ํ˜• ์Šค์ผ€์ฅด๋ง ๋ฐฉ์‹์ด๋”๋ผ๋„ OS๋ฅผ ์ง์ ‘ ์ปจํŠธ๋กคํ•˜์—ฌ ๋บ๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

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

 

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

 

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

 

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

 

๋‹ค์Œ์œผ๋กœ ์Šค์ผ€์ฅด๋ง๋„ '์ˆ˜์ค€'์ด ์กด์žฌํ•œ๋‹ค. ์ด์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

์Šค์ผ€์ฅด๋ง์˜ ์ˆ˜์ค€

2. Process ๊ฐ„์— ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋‹ค์Œ์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์— ํ†ต์‹ ํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์ฃผ๋กœ IPC(Inter Process Communication)๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ํ†ต์‹  ๋ฐฉ๋ฒ•์—๋Š” Shared Memory(RAM)์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, File์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, Socket์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, RPC๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. 

 

๋จผ์ € Shared Memory(RAM)์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ํ•˜๋‚˜์˜ ๋™์ผํ•œ ํ•˜๋“œ์›จ์–ด์—์„œ Process 1,2๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๊ณ , ์ด ๋‘ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ํ†ต์‹ ํ•˜๋Š” ๊ณผ์ •์„ ๋„์‹ํ™” ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

RAM์„ ํ†ตํ•œ ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์— ํ†ต์‹ 

 

Process 1์—์„œ 2๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๊ฐ€์žฅ ๋จผ์ € Process 1์—์„œ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ VMS(๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„)์˜ ํŠน์ • ์ฃผ์†Œ์— ํ• ๋‹นํ•ด๋†“์•˜์„ ๊ฒƒ์ด๋‹ค. ๋™์‹œ์— Process 2๋Š” Process 1์—์„œ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด wait ์ƒํƒœ์— ์žˆ๋Š” ์ƒํƒœ์ด๋‹ค. ์ดํ›„์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋Š” Process 2์™€ ๊ณต์œ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์ธ RAM์˜ ํŠน์ • ์ฃผ์†Œ์— ํ• ๋‹น๋œ๋‹ค. ์ด์ œ ๊ณต์œ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋‹ˆ ์ˆ˜์‹ ํ•˜๋Š” ๊ณณ์ธ Process 2์—๋‹ค๊ฐ€ "์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐ€!" ํ•˜๋Š” ์˜๋ฏธ์ธ SIGNAL์„ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Process 2๋Š” RAM์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๊ฒŒ ๋œ๋‹ค.

 

๋‹ค์Œ์€ File์„ ์ด์šฉํ•˜๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ•์ด๋‹ค. File์„ ์ด์šฉํ•˜๋Š” ํ†ต์‹ ์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด Stream์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ํŒŒ์ผ์„ ํ†ตํ•œ ํ†ต์‹  ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค. ๋‹จ์ˆœํžˆ ํ•œ์ชฝ์—์„œ ํŒŒ์ผ์„ ์“ฐ๊ณ  ๋ฐ˜๋Œ€์ชฝ์—์„œ ํ•ด๋‹น ํŒŒ์ผ์„ ์ฝ์œผ๋ฉด ๋œ๋‹ค. ์ฃผ๋กœ ์ง๋ ฌํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•  ๋•Œ ์œ ์šฉํ•˜๊ณ , RAM์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•์— ๋น„ํ•ด ๋™๊ธฐํ™”๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

๋‹ค์Œ์€ Socket์„ ์ด์šฉํ•œ ํ†ต์‹ ์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ File์„ ์ด์šฉํ•˜๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ•๊ณผ ๋™์ผํ•˜๋‹ค. ๋‹จ, ์ด ๋•Œ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ํ†ต์‹ ์„ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์œผ๋กœ ํ•œ๋‹ค๋ฉด Socket์„ ์ด์šฉํ•œ ํ†ต์‹  ๋ฐฉ๋ฒ•์ด ๋œ๋‹ค.

 

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

3. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(VMS, Virtual Memory Space)

๋‹ค์Œ์œผ๋กœ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ƒ์‹์„ ์ข€ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ๊ธฐ์–ต ์žฅ์น˜์˜ ๊ณต๊ฐ„ ์ตœ์†Œ ๋‹จ์œ„๋Š” 1๋ฐ”์ดํŠธ(8๋น„ํŠธ)์ด๋‹ค. ๋งŒ์•ฝ 32๋น„ํŠธ(x86) OS๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ๋Œ€๋žต 42.9์–ต ๋ฐ”์ดํŠธ์ด๋ฉฐ ์ด๋Š” ๊ณง ๋Œ€๋žต 4GB๊ฐ€ ๋œ๋‹ค. ๊ณ ๋กœ, 32๋น„ํŠธ OS๋Š” 4GB ๊ณต๊ฐ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์‹ค์ œ๋กœ 32๋น„ํŠธ OS์˜ ์ปดํ“จํ„ฐ์— 8GB RAM์„ ์žฅ์ฐฉํ•˜์—ฌ๋„ 4GB ๊ณต๊ฐ„ ๋ฐ–์— ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•˜์ง€ ๋ชปํ•œ๋‹ค. 

 

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

 

์‚ผ์„ฑ์˜ ์˜›๋‚  ์ปดํ“จํ„ฐ. ๊ทœ๊ฒฉ์„ ๋ณด๋ฉด RAM์ด 70KB๋‹ค...

 

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

 

swap์€ ์—ฌ๋ถ„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด HDD๋ฅผ ๋นŒ๋ ค์“ด๋‹ค

 

์ด ๋•Œ, HDD๋กœ Swap ์‹œํ‚ค๋Š” ๊ฒƒ์„ Swap out ๋˜๋Š” Page out์ด๋ผ๊ณ  ํ•œ๋‹ค.(๋ฐ˜๋Œ€๋Š” Swap in) ๋‹น์—ฐํžˆ ์ด๋ ‡๊ฒŒ Swap out ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค(์œ„ ์˜ˆ์‹œ์—์„œ Process 1)๋Š” I/O ์†๋„๊ฐ€ ์ด์ „๋ณด๋‹ค ๋Š๋ ค์ง„๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ RAM์ด ์•„๋‹Œ HDD์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

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

 

VMS ๋ฉ”๋ชจ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋‚˜๋ˆ  ๊ฐ–๋Š”๋‹ค

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ์‹คํ–‰์‹œํ‚ค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ ์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ์‹ค์งˆ์ ์œผ๋กœ (32๋น„ํŠธ ์ปดํ“จํ„ฐ์ผ ๊ฒฝ์šฐ) ์•ฝ 1.8GB ๋˜๋Š” ์šฉ๋Ÿ‰์ด ์ตœ๋Œ€๋ผ๋Š” ๊ฒƒ์ด๋‹ค. 

 

๋‹ค์Œ์€ VMS๊ฐ€ RAM(๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ)์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ๋งคํ•‘ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•˜๋‚˜์˜ RAM์—์„œ 3๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

 

 

VMS์˜ ์–ด๋–ค ์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ RAM์˜ ์–ด๋–ค ์œ„์น˜์— ์žˆ๋Š”์ง€ Mapping Table์„ ๊ตฌ์„ฑํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ Process 1์ด ๊ฐ‘์ž๊ธฐ ์ข…๋ฃŒ๋œ๋‹ค๋ฉด OS Kernel ์— ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋งค๋‹ˆ์ €๊ฐ€ Process 1์ด ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” RAM ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋„ ๊ฐ™์ด ํšŒ์ˆ˜ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์ ์€ OS๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ค€๋‹ค๋Š” ํŠน์ง•์„ ๋ณด์—ฌ์ค€๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ํ•œ ๊ฐ€์ง€ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ VMS์— ํŠน์ • ์ฃผ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ RAM์— ์กด์žฌํ•˜์ง€ ์•Š๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

 

ํ”„๋กœ์„ธ์Šค 4์˜ VMS 4444 ์ฃผ์†Œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ RAM์—์„œ๋Š” ์—†์–ด์„œ invalid ๋ผ๋ฉด?

 

์ด๋Ÿด ๊ฒฝ์šฐ, ํ”„๋กœ๊ทธ๋žจ์ด ์˜ค๋ฅ˜๋ฅผ ๋‚ด๋ฑ‰๋Š”๋ฐ ๊ทธ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ Page fault ๋˜๋Š” Segmentation fault ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํ•„์ž๋„ ์˜ˆ์ „์— LightGBM ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๋‹ค๊ฐ€ Segmentation fault ๋ผ๋Š” ๋ฉ”์„ธ์ง€๋งŒ ๋ฐœ์ƒํ•˜๊ณ  ๋ณ„๋‹ค๋ฅธ ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ•˜์ง€ ๋ชปํ•ด์„œ ๊ฝค ๊ณ ์ƒํ–ˆ๋˜ ๊ธฐ์–ต์ด ์žˆ๋‹ค. ๊ทธ ๋•Œ ๋‹น์‹œ ์ปดํ“จํ„ฐ๋ฅผ ๋ถ€ํŒ…ํ•˜๋ฉด์„œ ํ•ด๊ฒฐํ•˜๊ธด ํ–ˆ์—ˆ๋Š”๋ฐ, ๋ง ๊ทธ๋Œ€๋กœ "์ด๊ฒŒ ์™œ ๋ผ์ง€?" ํ•˜๋Š” ์ƒํ™ฉ์ด์˜€๋‹ค. ๊ทธ ๋•Œ์˜ ์›์ธ์„ ์ด์ œ์•ผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค..๐Ÿคฆ‍โ™‚๏ธ

 

๋‹ค์Œ์€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์ด๋‹ค. ์œ„์—์„œ ์•Œ์•„๋ณด์•˜์ง€๋งŒ VMS๋˜ RAM์ด๋˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์–ด๋– ํ•œ ์˜์—ญ์œผ๋กœ ํŠน์ • ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š”๋ฐ, ์ด๋ฅผ Page์ด๋ผ๊ณ  ๋ณดํ†ต ๋ถ€๋ฅธ๋‹ค. ๋ณดํ†ต Widnow OS์ธ ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ Page๋‹น ํฌ๊ธฐ๊ฐ€ ๋ณดํ†ต 4KB์ด๋‹ค. ํ•„์ž์˜ MacOS์—์„œ๋Š” ํ•œ Page ๋‹น ์‚ฌ์ด์ฆˆ๊ฐ€ ์–ผ๋งˆ์ธ์ง€ ํ™•์ธํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•ด ํ™•์ธํ•ด๋ณด์•˜๋Š”๋ฐ, ์•ฝ 16KB์˜€๋‹ค. 

 

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ๊ถŒํ•œ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” User๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ์ œํ•œ๋˜์–ด ์žˆ๋‹ค. ์œ„์—์„œ ๋ณธ ๊ทธ๋ฆผ์„ ์ž ๊น ๋‹ค์‹œ ๋ณด์ž.

 

 

์œ„ ๊ทธ๋ฆผ์€ 32๋น„ํŠธ OS์˜ ์ปดํ“จํ„ฐ๋ผ๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ์ด๋‹ค. 1.8GB ์ •๋„๋˜๋Š” ์šฉ๋Ÿ‰์— ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ๋“ค์–ด์žˆ๋Š”๋ฐ, ๋“ค์–ด์žˆ๋Š” ๊ฐ ๊ตฌ์„ฑ์š”์†Œ์— ๋”ฐ๋ผ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฅด๋‹ค.

 

๋ฉ”๋ชจ๋ฆฌ์˜ ์ ‘๊ทผ ๊ถŒํ•œ

 

ํŠน์ • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์€ Page Table์— 4๋น„ํŠธ ํฌ๊ธฐ๋กœ ํ• ๋‹น๋˜์–ด ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. ๋ฌผ๋ก  ์ด ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ€๊ฒฝ์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ฐ์ดํ„ฐ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ–‰ ๊ถŒํ•œ์„ ์ œ์™ธ์‹œ์ผœ๋†“์€ ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ์‹คํ–‰ ๊ถŒํ•œ์„ ๋„ฃ์œผ๋ ค๊ณ  ํ•˜๋ฉด Window OS๋Š” DEP(Data Execution Prevention) ๊ธฐ๋Šฅ์ด ๋ฐœํœ˜๋˜์–ด ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋„๋ก ํ•œ๋‹ค. 


  • ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜ : ์—ฌ๊ธฐ์„œ ๋™์ ์€ '๋Ÿฐํƒ€์ž„'์„ ์˜๋ฏธ. ์ฆ‰, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ผ ๋•Œ ์ฃผ์†Œ๊ฐ€ ๋ณ€ํ™˜๋˜๋Š” ๊ฒƒ์„ ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜์ด๋ผ๊ณ  ํ•จ
  • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์—๋Š” ์ ˆ๋Œ€์ฃผ์†Œ์™€ ์ƒ๋Œ€์ฃผ์†Œ๊ฐ€ ์žˆ๋‹ค. ์ ˆ๋Œ€์ฃผ์†Œ๋Š” ์ฃผ๋กœ ์ „์—ญ๋ณ€์ˆ˜๊ฐ€, ์ƒ๋Œ€์ฃผ์†Œ์—๋Š” ์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋œ๋‹ค.

 

๋ฐ˜์‘ํ˜•