ํ๋ก์ธ์ค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. ์ด์ 1 ๋ค์