๐Ÿ“š Study

Multi process์—์„œ์˜ ๋ฐ์ดํ„ฐ ํ†ต์‹  ์›์น™์ ์œผ๋กœ Process๋Š” ๋…๋ฆฝ์ ์ธ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค๋ฅธ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด, ์šด์˜์ฒด์ œ๋Š” Process ๊ฐ„์˜ ์ž์› ์ ‘๊ทผ์„ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ (Inter Process Communication) ์ œ๊ณตํ•œ๋‹ค. IPC (Inter Process Communication) Process๊ฐ„์˜ ํ†ต์‹ ์„ ๋„์™€์ฃผ๋Š” ์šด์˜์ฒด์ œ์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ (Shared Memory) Process๋“ค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ์ผ๋ถ€๋ฅผ ๊ณต์œ  Process๊ฐ€ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ Kernel์— ์š”์ฒญ Kernel์€ ํ•ด๋‹น process์— ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น ์ดํ›„, Kernel์˜ ๋„์›€์—†์ด Process๋“ค์ด ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ ‘๊ทผ โœ… ์žฅ์  ์ปค๋„์˜ ๊ด€์—ฌ..
โœ… multi thread๋Š” multi process๋ณด๋‹ค ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ , Context Switching์ด ๋น ๋ฅด๋‹ค. context switching ์‹œ, ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ธฐํ™” ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ โœ… multi process๋Š” multi thread๋ณด๋‹ค ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๊ณผ CPU ์‹œ๊ฐ„ ์ฐจ์ง€ process๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ž์›์„ ํ• ๋‹นํ•˜๋Š” ๋“ฑ์˜ system call์„ ์ƒ๋žตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ โœ… multi thread๋Š” ๋™๊ธฐํ™” ๋ฌธ์ œ์™€ ํ•˜๋‚˜์˜ thread ์žฅ์• ๋กœ ์ „์ฒด thread๊ฐ€ ์ข…๋ฃŒ๋  ์œ„ํ—˜์ด ์žˆ์Œ multi process๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„ ์•ˆ์ •์„ฑ์ด ๋†’์Œ Multi process Multi thread ๋น„๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ / CPU ์‹œ๊ฐ„ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ / CPU..
Thread ์™€ MultiThread Thread ๐Ÿ’ก ํ•œ process ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ๋™์ž‘(๊ธฐ๋Šฅ)์˜ ๋‹จ์œ„. ๊ฐ thread๋Š” ์†ํ•ด์žˆ๋Š” process์˜ Stack๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ memory์˜์—ญ(code, data, heap)์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. Thread๊ฐ€ ๋…๋ฆฝ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค = ๋…๋ฆฝ์ ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. Multi Thread ๐Ÿ’ก ํ•˜๋‚˜์˜ process์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ ํ•œ process๋‚ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ thread๊ฐ€ ์žˆ๊ณ , ๊ฐ thread๋“ค์€ Stack๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์˜์—ญ (Code, Data, Heap) ์˜์—ญ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋จ. Stack memory & PC Register thread๊ฐ€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ์ž ์ „๋‹ฌ, Return Address ์ €..
Process Process ๐Ÿ’ก ์‹คํ–‰ ํŒŒ์ผ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰๋˜๋Š” ๊ฒƒ -> Program in execution Memory ๐Ÿ’ก CPU๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ์˜ ๋‚ด๋ถ€ ๊ธฐ์–ต์žฅ์น˜ Program์ด CPU์—์„œ ์‹คํ–‰๋˜๋ ค๋ฉด ํ•ด๋‹น ๋‚ด์šฉ์ด memory์— ์ ์žฌ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค code, data, stack, heap ์˜์—ญ์„ ๋…๋ฆฝ์ ์œผ๋กœ ํ• ๋‹น ๋ฐ›์Œ ์˜์—ญ ์„ค๋ช… code ์‹คํ–‰ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ data ํ”„๋กœ๊ทธ๋žจ์˜ ์ „์—ญ๋ณ€์ˆ˜์™€ static ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ heap ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๊ณต๊ฐ„์„ ํ• ๋‹น/ํ•ด์ œ ํ•˜๋Š” ์˜์—ญ stack ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ, ์ƒ์„ฑ๋˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ PC(Program Counter) Register ๐Ÿ’ก ..
์ ์ด
'๐Ÿ“š Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)