๐Ÿ“š Study/์šด์˜์ฒด์ œ

๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ process ์ „์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜ค์ง€ ์•Š๋”๋ผ๋„ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ๋ฒ• ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ (virtual memory) ์‹ค์ œ์˜ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋…๊ณผ ๊ฐœ๋ฐœ์ž ์ž…์žฅ์˜ ๋…ผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋…์„ ๋ถ„๋ฆฌํ•œ ๊ฒƒ ๊ฐœ๋ฐœ์ž๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์— ๊ด€๋ จํ•œ ๋ฌธ์ œ๋ฅผ ์—ผ๋ คํ•  ํ•„์š” ์—†์ด ์‰ฝ๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ ์˜์—ญ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๊ณ , ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์€ ๋””์Šคํฌ(Swap ์˜์—ญ)์— ์ €์žฅ ์š”๊ตฌ ํŽ˜์ด์ง•(demand paging) ๋‹น์žฅ ์‚ฌ์šฉ๋  ์ฃผ์†Œ ๊ณต๊ฐ„์„ page ๋‹จ์œ„๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ• ํŠน์ • page์— ๋Œ€ํ•ด cpu ์š”์ฒญ์ด ๋“ค์–ด์˜จ ํ›„์— ํ•ด๋‹น page๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ ๋‹น์žฅ ์‹คํ–‰์— ํ•„์š”ํ•œ page๋งŒ์„ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ์žฌ -> ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ฐ์†Œ & ํ”„๋กœ์„ธ์Šค ์ „์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ์ž…์ถœ๋ ฅ ์˜ค๋ฒ„ํ—ค๋“œ ..
Paging process๊ฐ€ ํ• ๋‹น๋ฐ›์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ผ์ •ํ•œ page๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด, ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์—ฐ์†๋˜์ง€ ์•Š๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์น˜์— ์ €์žฅํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ page์™€ ๊ฐ™์€ ํฌ๊ธฐ์˜ frame์œผ๋กœ ๋ฏธ๋ฆฌ ๋‚˜๋ˆ„์–ด ๋‘  ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ์„ ์œ„ํ•ด ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ๊ฐ์˜ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•œ page table์„ ๊ฐ€์ง โŽ ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™” ๋ฌธ์ œ process์˜ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ™์€ ํฌ๊ธฐ์˜ page๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ process ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๊ฐ€ page ํฌ๊ธฐ์˜ ๋ฐฐ์ˆ˜๋ผ๋Š” ๋ณด์žฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„ ์ค‘ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•œ page์—์„œ๋Š” ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ Segmentation process๊ฐ€ ํ• ๋‹น๋ฐ›์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„..
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..
์ ์ด
'๐Ÿ“š Study/์šด์˜์ฒด์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก