π‘ μ€λ λμ μ μ
νλ‘μΈμ€μ μμ κ³Όμ μ μμΈν μ΄ν΄λ³΄κ² μ΅λλ€. μ΄μ체μ λ μ½λμ λ°μ΄ν°λ₯Ό λ©λͺ¨λ¦¬μ κ°μ Έμ€κ³ , PCB λ₯Ό μμ±νκ³ , μμ μ νμν λ©λͺ¨λ¦¬ μμμ ν보ν ν, μ€λΉλ νλ‘μΈμ€λ₯Ό μ€λΉ νμ μ½μ ν©λλ€. νλ‘μΈμ€κ° μμ±λλ©΄ CPU μ€μΌμ€λ¬λ νλ‘μΈμ€κ° ν΄μΌ ν μΌμ CPU μ μ λ¬νκ³ μ€μ μμ μ CPU κ° μνν©λλ€. μ΄λ CPU μ€μΌμ€λ¬κ° CPU μ μ λ¬νλ μΌ νλκ° μ€λ λμ λλ€. κ·Έλ¬λ―λ‘ CPU κ° μ²λ¦¬νλ μμ μ λ¨μλ νλ‘μΈμ€λ‘λΆν° μ λ¬λ°μ μ€λ λμ λλ€. μ΄μ체μ μ μ₯μμμ μμ λ¨μλ νλ‘μΈμ€μ΄κ³ CPU μ μ₯μμμ μμ λ¨μλ μ€λ λμΈ κ²μ λλ€. νλ‘μΈμ€ μ μ₯μμ μ€λ λλ₯Ό λ€μκ³Ό κ°μ΄ μ μν μ μμ΅λλ€.
μ€λ λλ νλ‘μΈμ€μ μ½λμ μ μλ μ μ°¨μ λ°λΌ CPU μ μμ μμ²μ νλ μ€ν λ¨μμ λλ€.
π‘ μ€λ λ κ΄λ ¨ μ©μ΄
νλ‘μΈμ€μ μ€λ λμ μ°¨μ΄μ μ μ€μ¬μΌλ‘ κ΄λ ¨ μ©μ΄λ₯Ό μ 리ν΄λ³΄κ² μ΅λλ€.
- λ©ν°μ€λ λ: νλ‘μΈμ€ λ΄ μμ μ μ¬λ¬ κ°μ μ€λ λλ‘ λΆν ν¨μΌλ‘μ¨ μμ μ λΆλ΄μ μ€μ΄λ νλ‘μΈμ€ μ΄μ κΈ°λ²
- λ©ν°νμ€νΉ: μ΄μ체μ κ° CPU μ μμ μ μ€ λ μκ°μ μκ² λλμ΄ λ°°λΆνλ κΈ°λ²
- λ©ν°νλ‘μΈμ±: CPU λ₯Ό μ¬λ¬ κ° μ¬μ©νμ¬ μ¬λ¬ κ°μ μ€λ λλ₯Ό λμμ μ²λ¦¬νλ μμ νκ²½
- CPU λ©ν°μ€λ λ: ν λ²μ νλμ© μ²λ¦¬ν΄μΌ νλ μ€λ λλ₯Ό νμ΄νλΌμΈ κΈ°λ²μ μ΄μ©νμ¬ λμμ μ¬λ¬ μ€λ λλ₯Ό μ²λ¦¬νλλ‘ λ§λ λ³λ ¬ μ²λ¦¬ κΈ°λ²
π‘ λ©ν°μ€λ λμ ꡬ쑰
C μΈμ΄μ κ°μ μ΄κΈ°μ νλ‘κ·Έλλ° μΈμ΄λ‘ μ¬λ¬ κ°μ μμ
μ λμμ μ²λ¦¬νκΈ° μν΄ fork()
μμ€ν
νΈμΆμ μ¬μ©νμ¬ λΆλͺ¨μ λκ°μ νλ‘μΈμ€λ₯Ό μμ±νκ±°λ, exec()
μμ€ν
νΈμΆλ‘ νλ‘μΈμ€λ₯Ό μ ννλ λ°©λ²μ μ΄μ©νμ΅λλ€. κ·Έλ¬λ fork()
μμ€ν
νΈμΆμ λλΉμ μΈ μμκ° λ§μ΅λλ€. fork()
μμ€ν
νΈμΆλ‘ νλ‘μΈμ€λ₯Ό 볡μ¬νλ©΄ μ½λ μμκ³Ό λ°μ΄ν° μμμ μΌλΆκ° λ©λͺ¨λ¦¬μ μ€λ³΅λμ΄ μ‘΄μ¬νκ² λ©λλ€.
μ€λ λλ μ΄λ¬ν λ©ν°νμ€νΉμ λλΉ μμλ₯Ό μ κ±°νκΈ° μν΄ μ¬μ©λ©λλ€. λΉμ·ν μΌμ νλ 2κ°μ νλ‘μΈμ€λ₯Ό λ§λλ λμ μ½λ, λ°μ΄ν° λ±μ 곡μ νλ©΄μ μ¬λ¬ κ°μ μΌμ νλμ νλ‘μΈμ€ λ΄μμ νλ κ²μ λλ€.
μ κ·Έλ¦Όμ λ©ν°νμ€νΉκ³Ό λ©ν°μ€λ λμ μ°¨μ΄λ₯Ό 보μ¬μ€λλ€. μΌμͺ½ κ·Έλ¦Όμ²λΌ fork()
μμ€ν
νΈμΆλ‘ μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό λ§λ€λ©΄ νμ μλ μ μ μμμ΄ μ¬λ¬ κ°κ° λ©λλ€. λ°λ©΄, νλμ νλ‘μΈμ€ λ΄μ μ¬λ¬ κ°μ μ€λ λλ₯Ό μμ±νλ λ©ν°μ€λ λλ μ½λ, νμΌλ±μ μμμ 곡μ ν¨μΌλ‘μ¨ μμμ λλΉλ₯Ό λ§κ³ ν¨μ¨μ±μ ν₯μν©λλ€.
π‘ λ©ν°μ€λ λμ μ₯μ
νλ‘μΈμ€ λ΄ κ³΅μ κ° κ°λ₯ν λΆλΆμ μ μΈνκ³ μ€νκ³Ό κ΄λ ¨λ λΆλΆμ μ€λ λλ‘ λλμ΄ κ΄λ¦¬νλ©΄ μμμ μ€λ³΅ μ¬μ©μ νΌν¨μΌλ‘μ¨ λλΉλ₯Ό λ§μ μ μμ΅λλ€. λν νλμ νλ‘μΈμ€μμ μ¬λ¬ μ€λ λλ₯Ό μ¬μ©νλ©΄ μμ μ ν¨μ¨μ λμΌ μ μμ΅λλ€.
λ©ν°μ€λ λμ μ₯μ μ λ€μκ³Ό κ°μ΄ μμ½ν μ μμ΅λλ€.
- μλ΅μ± ν₯μ: ν μ€λ λκ° μ μΆλ ₯μΌλ‘ μΈν΄ μμ μ΄ μ§νλμ§ μλλΌλ λ€λ₯Έ μ€λ λκ° μμ μ κ³μνμ¬ μ¬μ©μμ μμ μꡬμ 빨리 μλ΅ν μ μμ΅λλ€.
- μμ 곡μ : ν νλ‘μΈμ€ λ΄μμ λ 립μ μΈ μ€λ λλ₯Ό μμ±νλ©΄ νλ‘μΈμ€κ° κ°μ§ μμμ λͺ¨λ μ€λ λκ° κ³΅μ νκ² λμ΄ μμ μ μννκ² μ§νν μ μμ΅λλ€.
- ν¨μ¨μ± ν₯μ: μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό μμ±νλ κ²κ³Ό λ¬λ¦¬ λ©ν°μ€λ λλ λΆνμν μμμ μ€λ³΅μ λ§μμΌλ‘μ¨ μμ€ν μ ν¨μ¨μ΄ ν₯μλ©λλ€.
- λ€μ€ CPU μ§μ: 2κ° μ΄μμ CPU λ₯Ό κ°μ§ μ»΄ν¨ν°μμ λ©ν°μ€λ λλ₯Ό μ¬μ©νλ©΄ λ€μ€ CPU κ° λ©ν°μ€λ λλ₯Ό λμμ μ²λ¦¬νμ¬ CPU μ¬μ©λμ΄ μ¦κ°νκ³ νλ‘μΈμ€ μ²λ¦¬ μκ°μ΄ λ¨μΆλ©λλ€.
π‘ λ©ν°μ€λ λμ λ¨μ
λ©ν°μ€λ λλ μμ κ°μ μ₯μ λΏ μλλΌ λ¨μ λ μμ΅λλ€.
μ κ·Έλ¦Όμ λ§μ΄ν¬λ‘μννΈ μΈν°λ· μ΅μ€νλ‘λ¬μ κ΅¬κΈ ν¬λ‘¬μ νλ©΄μ λλ€. λ λΈλΌμ°μ λ λ©ν°ν κΈ°λ₯μ μ΄μ©νμ¬ μ¬λ¬ κ°μ νλ©΄μ λμΈ μ μλλ°, μΈν°λ· μ΅μ€νλ‘λ¬λ νλμ νλ‘μΈμ€μ λ©ν°μ€λ λλ₯Ό μ¬μ©νκ³ ν¬λ‘¬μ μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό μ¬μ©ν©λλ€.
μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό μ¬μ©νλ κ²μ λλΉ μμκ° μμ΄ λ©ν°μ€λ λλ₯Ό μ¬μ©νλ€κ³ νμ§λ§, μ΄λ λ¨μ μΌλ‘ μμ©νκΈ°λ ν©λλ€. λ©ν°μ€λ λμ κ²½μ° λͺ¨λ μ€λ λκ° μμμ 곡μ νκΈ° λλ¬Έμ ν μ€λ λμ λ¬Έμ κ° μκΈ°λ©΄ μ 체 νλ‘μΈμ€μ μν₯μ λ―ΈμΉκ² λ©λλ€.
μΈν°λ· μ΅μ€νλ‘λ¬μμ μ¬λ¬ κ°μ νλ©΄μ λμμ λμ λλ° κ·Έ μ€ νλμ λ¬Έμ κ° μκ²Όλ€κ³ κ°μ ν΄λ³΄κ² μ΅λλ€. λ¬Έμ κ° μλ νλ©΄μ κ°μ λ‘ μ’ λ£νλ©΄ κ·Έ νλ©΄λ§ μ¬λΌμ§μ§ μκ³ μΈν°λ· μ΅μ€νλ‘λ¬ μ μ²΄κ° μ’ λ£λ©λλ€. μΈν°λ· μ΅μ€νλ‘λ¬ νλ‘μΈμ€λ νλμ΄κ³ κ·Έ μμ μ¬λ¬ κ°μ μ€λ λλ₯Ό μ¬μ©νλ―λ‘ μ€λ λλ§ μ’ λ£λλ κ²μ΄ μλλΌ νλ‘μΈμ€ μ μ²΄κ° μ’ λ£λκΈ° λλ¬Έμ λλ€.
ννΈ ν¬λ‘¬μ κ° νλ©΄μ΄ λ 립μ μΈ νλ‘μΈμ€μ΄λ―λ‘ κ·Έμ€ νλμ λ¬Έμ κ° μ겨μ μ’ λ£ν΄λ λ€λ₯Έ νλ©΄μ λ―ΈμΉλ μν₯μ΄ μ μ΅λλ€. ν¬λ‘¬μ λ©ν°μ€λ λμ μ¬μ©μΌλ‘ μΈν΄ λ€λ₯Έ μ€λ λκ° μν₯μ λ°λ κ²μ μ΅μννκΈ° μν΄ λλΉ μμκ° μλλΌλ λ©ν°μ€λ λ λμ λ©ν°νμ€νΉμ μ΄μ©ν©λλ€.
π‘ μ°Έκ³
μ½κ² λ°°μ°λ μ΄μ체μ - μ‘°μ±νΈ