IPCλ?
νλ‘μΈμ€ κ°μ ν΅μ μ κ°λ₯νκ² νλ λ©μ»€λμ¦μ ν΅νμ΄ λ§νλ€.
μ νμνκ°?
νλ‘μΈμ€λ λ
립μ μΈ μμ λ§μ 곡κ°μ κ°λλ€. λ§μ½ λ
립μ μΈ κ³΅κ°μ 곡μ ν΄μΌ ν μΌμ΄ μκΈ΄λ€λ©΄ μ΄λ»κ² ν΄μΌν κΉ? λ°λ‘ ν΅μ μ ν΄μΌ νλ€. κ·Έλμ IPCλ₯Ό μ΄μ©νμ¬ νλ‘μΈμ€κ° μμμ 곡μ ν μ μκ² νλ κ²μ΄λ€.
κ°λ μ λΆλ₯
ν¬κ² λ κ°μ§μ λͺ¨λΈμ΄ μ‘΄μ¬νλ€. λͺ¨λΈμΈ κ²μ΄λ€. μ¦, κΈ°λ²μ μΈλΆμ μΈ κ΅¬νμ΄ μλλΌ, λ¨μν κ°λ
μ λμν μν¨ κ²μ΄λ€. κ·Έλμ μ΄λ κ² μκ°νκ³ μ°¨ν κΈ°λ²μ λν΄μ μκ°μ μ’ λ κΉκ² ν΄λ³΄λ©΄ μ’λ€. μλλ gptλ₯Ό μ΄μ©νμ¬ μ‘°κΈ μΈλΆνν΄μ λΆλ₯νλ€. κ·Όλ° μκ°ν΄λ³΄λ λͺ¨λΈλ§ μκ³ μμ΄λ μκ΄μλ κ² κ°λ€.
GPTλ₯Ό μ΄μ©ν΄μ κ°λ
μ μΈλΆν
곡μ λ©λͺ¨λ¦¬
λ©λͺ¨λ¦¬λ₯Ό 곡μ νλ€. μ¦, λ€λ₯Έ κ°κ°μ νλ‘μΈμ€λ€μ΄ 곡λμ λ©λͺ¨λ¦¬ μμμ μ°Έμ‘°νμ¬ μ¬μ©νλ€. λν νμ₯ν΄μ μκ°ν΄λ³΄λ©΄, λ°μ΄ν°μ μΌκ΄μ±μ΄ 무λμ§κ±°λ, κ²½μν μ μλ€. μ¦, λκΈ°ν κΈ°μ μ΄ νμνλ€.
λ©μμ§ ν¨μ±
컀λμ΄ νλμ μ€λΉλ₯Ό λ§λ€μ΄μ μ΄λ₯Ό λ©μμ§λΌλ ννλ‘ μ£Όκ³ λ°κ² ν΄μ£Όλ μ€λΉλ€. λΉμ°ν μ΄μ체μ μ κ°μ
μΌλ‘ μΈνμ¬ κ³΅μ λ©λͺ¨λ¦¬ λͺ¨λΈ λ³΄λ€ μλμ μΌλ‘ λ리λ€.
κΈ°λ²
direct(μ§μ ν΅μ )
κ°λ¨νκ² p1μ΄ p2μ μ 보λ₯Ό μκ³ μ μ‘νλ κ²μ΄λ€. p2λ λ§μ°¬κ°μ§κ³ p1μ μ 보λ₯Ό μκ³ μμ νλ κ²μ΄λ€.
indirect(κ°μ ν΅μ )
κ°λ¨νκ² p1, p2 λ λ€ mailBoxλ§ λ°λΌλ³΄κ³ μλ€.
μ¬κΈ°μ μ¬λ―Έμλ μ¬μ€
κ°μ ν΅μ μ΄ λκ° λκ² λΉμ·νκ² μκΈ΄ λͺ¨μμ μ΄λμ λ΄€μ μλ μλ€. Dependency Inversion Principleμ λκ² λΉμ·ν λͺ¨μμ΄λΌκ³ μκ°νλ€. p1, p2λ μλ‘ λνλμ§ λͺ¨λ₯Έλ€. κ·Έλ¦¬κ³ mailBoxλ§ λ°λΌλ³΄κ² λλ€. μ΄μ μμ μ§μ ν΅μ 보λ€, κ°μ ν΅μ μ΄ νλμ λ§μ΄ μ¬μ© λκ² κ΅¬λλ₯Ό μ μ μμλ€. λν μ΄λ κ² κ°μ μ μΈ ν΅μ μ νλ κ²λ€μ΄ μκ°λ³΄λ€ λ§λ€. κ°μ²΄μ§ν₯ λμμΈμμλ λΉμ·ν μ¬λ‘λ€μ΄ μμ£Ό λμ¨λ€. μ΄λμ CS곡λΆλ₯Ό νꡬλ.
μ€μ μ’ λ₯
곡μ λ©λͺ¨λ¦¬
Shared Memory (곡μ λ©λͺ¨λ¦¬)
곡μ λ°©λ² - λ©λͺ¨λ¦¬
ν΅μ λ¨μ - ꡬ쑰체
ν΅μ λ°©ν₯ - μλ°©ν₯
ν΅μ λ²μ - λμΌ μμ€ν
Memory Mapping (λ©λͺ¨λ¦¬ λ§€ν)
곡μ λ°©λ² - λ©λͺ¨λ¦¬ + νμΌ
ν΅μ λ¨μ - νμ΄μ§
ν΅μ λ°©ν₯ - μλ°©ν₯
ν΅μ λ²μ - λμΌ μμ€ν
λ©μμ§ ν¨μ±
Pipes (νμ΄ν), Named Pipe(λͺ
λͺ
λ νμ΄ν)
곡μ λ°©λ² - νμΌ
ν΅μ λ¨μ - Stream
ν΅μ λ°©ν₯ - λ¨λ°©ν₯
ν΅μ λ²μ - λμΌ μμ€ν
νΉμ΄μ - λΆλͺ¨-μμ κ΄κ³κ° μμ, μ΄κΈ°μ pipeλ λΆλͺ¨ μμ κ°μ ν΅μ , named pipeμ κ²½μ° λΆλͺ¨-μμ κ΄κ³κ° μλμ΄λ ν΅μ κ°λ₯
Message Queue(λ©μμ§ ν)
곡μ λ°©λ² - λ©λͺ¨λ¦¬
ν΅μ λ¨μ - ꡬ쑰체
ν΅μ λ°©ν₯ - λ¨λ°©ν₯
ν΅μ λ²μ - λμΌ μμ€ν
νΉμ΄μ - keyμ ννλ‘ μ°Ύμ μ μλ€. pipeμ μ μ¬νμ§λ§ λ€λ₯Έ μ μ νμΌμ΄ μλ λ©λͺ¨λ¦¬ 곡κ°μ μ¬μ©νλ€λ μ μ΄λ€.
μ΄ λΆλΆμ μ¬μ€ λ§λ€λΌκ³ μ΄μΌκΈ°νκΈ° νλ€ κ² κ°λ€. μ΄λ€ μ¬λμ λ¨λ°©ν₯μ΄λΌκ³ νλ€. κ·Έλμ νμ μ μμ§λ§ λ΄ μκ°μλ μλ°©ν₯μ΄λ€. μλνλ©΄ pipeμ κ²½μ° νμͺ½μΌλ‘ λ€μ΄κ°λ 건 λκ°μ§λ§ μνλ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ¦¬λ 보μ₯μ΄ μλ€. κ·Έλμ λ κ°μ μ
λ ₯/μΆλ ₯ νμ΄νλ₯Ό λ§λ€μ΄μΌ νλ€. νμ§λ§ λ©μμ§ νμ κ²½μ° ν λ°©ν₯μΌλ‘ 보λ΄λ μνλ λ°μ΄ν°μ ν€λ§ μκ³ μλ€λ©΄ μνλ λ°μ΄ν°λ₯Ό κ°μ Έμ¬ μ μλ€.













