1. Process
1-1) Process
μ»΄ν¨ν°κ° μ΄λ€ μΌμ νλ κ³Όμ μ νλ‘μΈμ€λΌκ³ λΆλ¦.
μ΄μ체μ κ° μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό λ리기 λλ¬Έμ
μ΄λ κ² λ©ν°μΊμ€ν μ΄ λ¨.
1-2) Process Image
β νλ‘μΈμ€λ μ리μ¬μ΄κ³ λλμ£Όλ¬Έμ΄ λ€μ΄μ€λ μ΄ μλΉμμ λμμμ΄ λ§λ€μ΄λ΄λ
β μ리 λ©λ΄ νλκ° νλκ° νλ‘μΈμ€ μ.
β μ»΄ν¨ν°λ νλ‘μΈμ€λ§λ€ μμμ λΆν ν΄μ ν λΉν¨.
1-3) νλ‘μΈμ€λ₯Ό λ리λ μμ
λμμ , λ³λ ¬μ , λλ μ΄ λμ νΌν©μΌλ‘ μ΄λ€μ§.
1-3)-1. λμμ±
λμμ± νλ‘μΈμ€ νλκ° μ΄κ±° μ‘°κΈνκ³ μ κ±° μ‘°κΈνκ³
μ¬λ¬ μμ μ λμκ°λ©΄μ μΌλΆλΆμ© μ§ννλ κ±°μ.
μ΄λ° μ§ν μ€μΈ μμ μ λ°κΎΈλ κ²
Context Switchingμ΄λΌκ³ λΆλ¦
μ¬κΈ°μλ λ€μν λ°©μκ³Ό μκ³ λ¦¬μ¦μ΄ μ°μ.
μ΄ κ³Όμ μ΄ λΉ λ₯΄κ² λμκ°λ€λ³΄λ μ¬λλ€μκ²λ
μ΄ νλ‘μΈμ€λ€μ΄ λ§μΉ λμμ μ§νλλ κ²μ²λΌ λλΌλ κ±°μ.
1-2)-2. λ³λ ¬μ±
νλ‘μΈμ€ νλμ μ½μ΄ μ¬λ¬ κ°κ° λ¬λ €μ κ°κ° λμμ μμ λ€μ μννλ κ±°μ.
λμΌ μ½μ΄(x2), μΏΌλμ½μ΄(x4), μ₯νμ½μ΄(x8) μ΄λ° λͺ μΉμ΄ λΆλ λ©ν° μ½μ΄ νλ‘μΈμκ° λ¬λ¦°
μ»΄ν¨ν°μμ ν μ μλ λ°©μ.
CPUμ μλκ° λ°μ΄ λ± λ¬Όλ¦¬μ μ μ½ λλ¬Έμ μμ λ§νΌ λΉ λ₯΄κ² λ°μ νμ§ λͺ»νμ
κ·Έ λμμΌλ‘ μ½μ΄λ₯Ό μ¬λ¬ κ° λ¬μμ μμ μ λΆλ΄ν μ μλλ‘ λ§λ κ±°μ.
2. Thread
2-1) Thread
λΈλΌμ°μ μμ νλμ νλ‘κ·Έλ¨μ΄κ³ μ΄κ² λλ©΄μ νλμ νλ‘μΈμ€κ° μ§νλκ³ μμ.
κ·Έλ°λ° μ΄ λΈλΌμ°μ κ° μΌμ ν λλ κ²μμ λ€μ΄ λ°λ λμμ λ€λ₯Έ νμ΄μ§λ€μ λμλ€λ μ μμ΄μΌ νκ³
μ ν¬λΈ μμμ λ°μ΄ν°λ₯Ό λ°μμ€λ©΄μ λ°μμ§ λ°μ΄ν°λ‘ μμμ μ€νν μλ μμ΄μΌ ν¨.
ν νλ‘μΈμ€ λ΄μμλ μ¬λ¬ κ°λμ μμ λ€μ΄ λμμ μ§νλ νμκ° μλ κ±°μ.
μ΄ κ°λλ₯Ό μ°λ λλΌκ³ λΆλ¦
2-2) Thread Image
2-2) Thread
νλ²κ±°λ₯Ό λ§λλ νλ‘μΈμ€μλ ν¨ν°λ₯Ό κ΅½λ μ€λ λκ° μ§νλλ λμ
λΉ΅μ μΌμ±λ₯Ό μΉκ³ μμ€λ₯Ό λΏλ¦¬λ μ€λ λλ μ§νλ μ μμ.
ν λ©λ΄μ μ€λ λλ€μ κ°μ 쑰리λμμ μ§ν λ¨.
κ²°λ‘ : ν¨ν°λ λ€λ₯Έ 쑰리λμμ μΌμ±λ λ λ€λ₯Έ 쑰리λμμ μ§νλλ€λ©΄
κ°μ 쑰리λμμ μμ νλ κ²λ³΄λ€ μΌνκΈ°κ° ν¨μ¬ νλ¦
3. Thread vs Process
3-1) Process
νλ‘μΈμ€λ€μ μ»΄ν¨ν°μ μμμ λΆν ν΄μ μ.
3-2) Process Image
3-2) Thread
μ€λ λλ νλ‘μΈμ€λ§λ€ μ£Όμ΄μ§ μ 체 μμμ ν¨κ» μ¬μ©νλ κ±°μ.
3-4) Thread Image
4. Processμ λ¨μ
4-1) μ΄μ
νλ‘μΈμ€ μμ 곡μ λλ λ³μμ μ€λ λ λ κ°κ° λμμ μμ λλ€λ©΄
μ»΄ν¨ν°μμλ Errorκ° λ¨. μ΄λ€ λ²νΌμ λλ₯Ό λλ§λ€ μ«μκ° 1μ© μ¦κ°νκ³
μ€λ λ λμ΄ μ΄ λ²νΌμ μ΄λ²μ© λλ₯Έλ€λ©΄ κ²°κ³Όλ¬Όμ 20μ΄ λμ΄μΌ νλλ°,
κ·Έλ³΄λ€ μ μ μ«μκ° λμλ²λ¦Ό.
κ·Έλμ λμ΄ λ²νΌμ λμμ λλ₯΄λ κ²½μ°μλ μ«μκ° 1λ§ μ¬λΌκ°κΈ° λλ¬Έμ.
4-2) μν©
μ΄λ° μν©μ μμνκ³ λ°©μ§ν΄μΌ νκΈ° λλ¬Έμ μ°λ λλ₯Ό μ¬μ©νλ νλ‘κ·Έλ¨λ€μ
μ½λλ₯Ό μ§κΈ°λ, λλ²κΉ μ ν΄μ μ€λ₯λ₯Ό μ°Ύμλ΄κ³ μμΈμ λ°νκΈ°λ κ΅μ₯ν κΉλ€λ‘μ.
4-3) ν΄κ²°λ°©λ²
μ΄λ₯Ό ν΄κ²°νλ λꡬλ νλ‘κ·Έλ¨ λ°©μμ΄ μ€λλ μ κ°λ°μλ€μ λ§μ΄ λμμ£Όκ³ μμ.
λꡬ λ° νλ‘κ·Έλ¨ : Closure, Lambda, Actor, Functional Programming