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

ํ”„๋กœ์„ธ์Šค2

[Linux] ํ”„๋กœ์„ธ์Šค ์‹ค์Šต (C++) (์šด์˜์ฒด์ œ๐Ÿฆ– ๊ฐ•์˜2-Chpater3. Process ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ์ด๋ก ๊ณผ ์‹ค์Šต) Process ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ์ด๋ก IPC: Inter-Process CommunicationCooperating ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์€ IPC ๋ฉ”์ปค๋‹ˆ์ฆ˜(๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ)์„ ํ†ตํ•ด ์„œ๋กœ ํ†ต์‹ ํ•จIPC์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ (a)๋ฉ”์‹œ์ง€ ์ „๋‹ฌ(b)์ƒ์‚ฐ์ž ์†Œ๋น„์ž ๋ฌธ์ œ์ƒ์‚ฐ์ž๋Š” ์ •๋ณด๋ฅผ ์ƒ์‚ฐ, ์†Œ๋น„์ž๋Š” ์ •๋ณด๋ฅผ ์†Œ๋น„ (์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์„œ๋ฒ„๊ฐ€ HTML ํŒŒ์ผ์„ ์ƒ์‚ฐ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์†Œ๋น„ ๋“ฑ)shared-memory ํ†ตํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž ๋™์‹œ์— ์‹คํ–‰, buffer๋ฅผ ์‚ฌ์šฉํ•ด ์ƒ์‚ฐ์ž๋ฅผ buffer๋ฅผ ์ฑ„์šฐ๊ณ , ์†Œ๋น„์ž๋Š” buffer๋ฅผ ๋น„์›€. buffer๊ฐ€ ๊ฐ€๋“ ์ฐจ๋ฉด wait, ๋น„์›Œ์ง€๋ฉด ์ฑ„์šฐ๊ธฐ ์‹œ์ž‘๋ฌธ์ œ์ : ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•Œ์•„์„œ ์ฝ”๋“œ๋ฅผ ์งœ์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ share ํ•ด์•ผMessage-PassingOS๊ฐ€ cooperating proce.. 2025. 2. 22.
[Linux] Process์— ๋Œ€ํ•œ ์ดํ•ด + ์‹ค์Šต (์šด์˜์ฒด์ œ๐Ÿฆ– ๊ฐ•์˜2-Chpater3. Process) ์‹ค์Šต ์ „ ํ•„์š”ํ•œ Process ๊ด€๋ จ ๋ฐฐ๊ฒฝ์ง€์‹โ€‹Process์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๋ฅผ ์œ„ํ•ด ๊ด€๋ จ ์‹ค์Šต์„ ์ง„ํ–‰ํ–ˆ๋‹ค.โ€‹์‹ค์Šต์— ํ•„์š”ํ•œ ๋ฐฐ๊ฒฝ์ง€์‹์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜๋ฉด,โ€‹Process: RAM์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด CPU์— load ๋œ ์ƒํƒœPCB(Process Counter Block): ๋ ˆ์ง€์Šคํ„ฐ ์ •๋ณด, ํ˜„์žฌ process ์ •๋ณด ๋“ฑ์ด ๋‹ด๊ธด ๊ณณContext-switch(๋ฌธ๋งฅ ๊ตํ™˜): ํ•˜๋‚˜์˜ PCB loadํ•˜๊ณ  ๋‹ค์Œ PCB๋ฅผ store. ์ด๋ ‡๊ฒŒ PCB ๋‹ค์Œ ๋‹ค์Œ ํ•ด์ฃผ๋Š” ๋ฌธ๋งฅ ๊ตํ™˜์„ ํ†ตํ•ด time sharing ํ•˜๋ฉฐ concurrent ํ•˜๊ฒŒ ์‹คํ–‰๋จโ€‹UNIX์™€ ๊ฐ™์€ O/S์—์„œ ์ƒˆ๋กœ์šด process๋Š” fork( )๋ผ๋Š” ์‹œ์Šคํ…œ ์ฝœ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ด๋•Œ ํ˜„์žฌ process์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋ณต์‚ฌํ•ด์„œ child process ๋งŒ๋“ ๋‹ค.. 2025. 2. 22.