νλ‘κ·Έλ¨μ΄ μ€νλκΈ° μν΄μλ μ΄μ체μ (OS)κ° νλ‘κ·Έλ¨μ μ 보λ₯Ό λ©λͺ¨λ¦¬μ λ‘λ(load)ν΄μΌ νκ³ , νλ‘κ·Έλ¨μ΄ μ€νλλ λμ CPUκ° μ½λλ₯Ό μ²λ¦¬νκΈ° μν΄μλ λ©λͺ¨λ¦¬κ° λͺ λ Ήμ΄μ λ°μ΄ν°λ€μ μ μ₯ν΄μΌ νλ€.
μ¦, νλ‘κ·Έλ¨μ΄ μ€νλμ΄ νλ‘μΈμ€κ° λ§λ€μ΄μ§λ©΄ νμΌμ μ»΄ν¨ν° λ©λͺ¨λ¦¬μ λ€μ 4κ°μ§μ λ©λͺ¨λ¦¬ μμμΌλ‘ ꡬμ±λμ΄ μ¬λΌκ°κ² λκ³ μ΄μ체μ λ‘λΆν° CPUλ₯Ό ν λΉλ°κ² λλ€. (μ¬λ¬κ°μ νλ‘μΈμ€κ° μ€νλ κ²½μ° κ°κ° λ
립λ λ©λͺ¨λ¦¬ μμμ ν λΉλ°λλ€)
μμ μ€λ λλ νλ‘μΈμ€λ₯Ό ꡬμ±νλ©°, νλ‘μΈμ€κ° ν λΉλ°μ μμμ μ΄μ©νλ μ€ν νλ¦μ λ¨μλΌκ³ νλ€. μ€λ λκ° μ¬λ¬ κ° μμΌλ©΄ μ°λ¦¬λ νμΌμ λ€μ΄λ°μΌλ©° λμμ μΉ μνμ ν μ μκ² ν΄μ€λ€. μ€λ λλΌλ¦¬ νλ‘μΈμ€μ μμμ 곡μ νλ©΄μ νλ‘μΈμ€ νλ¦μ μΌλΆκ° λμκΈ° λλ¬Έμ λμμμ
μ΄ κ°λ₯ν κ²μ΄λ€.
μ κ·Έλ¦Όμ²λΌ νλμ νλ‘μΈμ€ λ΄μ μ¬λ¬κ°μ μ€λ λκ° μκ³ , μμμ λ΄€λ νλ‘μΈμ€μ 4κ°μ§ λ©λͺ¨λ¦¬ μμ μ€ μ€λ λλ Stack
λ§ ν λΉλ°μ 볡μ¬νκ³ Code, Data, Heapμ νλ‘μΈμ€λ΄μ λ€λ₯Έ μ€λ λ€κ³Ό 곡μ νλ€. λ°λΌμ κ°κ°μ μ€λ λλ λ³λμ Stackμ κ°μ§κ³ μμ§λ§ Heap λ©λͺ¨λ¦¬λ 곡μ νκΈ° λλ¬Έμ μλ‘ λ€λ₯Έ μ€λ λμμ κ°μ Έμ μ½κ³ μΈ μ μλ€.
λ°λ©΄μ νλ‘μΈμ€λ κΈ°λ³Έμ μΌλ‘ λ©λͺ¨λ¦¬μ λ³λμ μ£Όμ 곡κ°μμ μ€νλκΈ° λλ¬Έμ, ν νλ‘μΈμ€λ λ€λ₯Έ νλ‘μΈμ€μ λ³μλ μλ£κ΅¬μ‘°μ μ κ·Όν μλ μλ€.
κ·Έλ μ§λ§ νμ¬ μ°λ¦¬κ° μ¬μ©νλ λλΆλΆμ μ»΄ν¨ν° νλ‘κ·Έλ¨μ 보면 λ€λ₯Έ νλ‘κ·Έλ¨μ μλ μ 보λ₯Ό κ°μ Έμ€λ κ²½μ°λ₯Ό λ³Ό μ μλλ°, μ¬μ€ νΉλ³ν λ°©λ²μ ν΅ν΄ ν νλ‘μΈμ€κ° λ€λ₯Έ νλ‘μΈμ€μ μ 보μ μ κ·Όνλ κ²μ΄ κ°λ₯νλ€.(IPC, LPC,...λ 곡λΆν ν μΆκ°μμ±...)
νμ§λ§, νλ‘μΈμ€μ μμ 곡μ λ λ¨μν CPU λ μ§μ€ν° κ΅μ²΄λΏλ§μ΄ μλλΌ RAMκ³Ό CPU μ¬μ΄μ μΊμ λ©λͺ¨λ¦¬κΉμ§ μ΄κΈ°νλκΈ° λλ¬Έμ μμλΆλ΄μ΄ ν¬λ€λ λ¨μ μ΄ μλ€. κ·Έλμ λ€μ€ μμ μ΄ νμν κ²½μ° μ€λ λλ₯Ό μ΄μ©νλ κ²μ΄ ν¨μ¬ ν¨μ¨μ μ΄λΌ, νλ μ»΄ν¨ν°μ μ΄μ체μ μμ λ€μ€ νλ‘μΈμ±μ μ§μνκ³ μμ§λ§ λ€μ€ μ€λ λ©μ κΈ°λ³ΈμΌλ‘ νκ³ μλ€.
μμμ μ¬λ¬ κ°μ μ€λ λ, νλ‘μΈμ€λ₯Ό μ΄μ©νλ λ²μ λν΄ μμλ΄€λλ°, μ΄λ₯Ό λ μ μ΄ν΄νκΈ° μν΄μ λ³λ ¬μ±, λμμ±μ΄λΌλ CPUμ μμ μ²λ¦¬ λ°©μμ μ’ λ μ΄ν΄λ³Ό νμκ° μλ€. ν¨κ» μμ보μ!
λ³λ ¬μ±μ λμΌν μκ°μ λ 립μ μΈ μμ μ μ€νν μ μμμ μλ―Ένλ€. μ¬λ¬ μμ μ λ€λ₯Έ μ½μ΄, λ€λ₯Έ νλ‘μΈμ€, λ³λμ μ»΄ν¨ν° λ±μμ λμμ μ€νν μ μλ€.
λμμ±μ μ¬λ¬ μμ
μ΄ κ²ΉμΉλ κΈ°κ°μ μ€νλ μ μμμ μλ―Ένλ€. μ΄ λμλΌλ μλ―Έμμ λ³λ ¬μ±κ³Ό μλ―Έκ° ν·κ°λ¦΄ μ μλλ°, μμ parellelism
μ΄ λ¬Όλ¦¬μ μΌλ‘ μ λ§λ‘ λμμ μ€ννλ κ²μ΄λΌλ©΄, concurrency
λ λμμ μ€ννλ κ²μ΄ μλλΌ CPUκ° μμ
λ§λ€ μκ°μ λΆν ν΄ μ μ νκ² context switchingμ ν΄μ λμμ μ€νλλ κ²μ²λΌ 보μ΄κ² νλ€. (μ΄λ κΈ° λλ¬Έμ λμμ±μ ꡬννλ κ²λ, λλ²κ·Ένλ κ²λ μ΄λ ΅λ€.) μμ
λ€μ μμ£Ό μκ² λλμ΄ μμ£Ό μ‘°κΈμ©λ§ μμ
μ μννκ³ λ€μ μμ
μΌλ‘ λμ΄κ°λ μμΌλ‘ λμνλ λ°©μμΌλ‘ νλ μ΄μ λ, μ¬λ¬ μμ
μ λμμ μ²λ¦¬νλ κ²μ²λΌ 보μ΄κ² λ§λ€μ΄ μ¬μ©μμκ² λ λΉ λ₯Έ λ°μμ±μ μ 곡νκΈ° μν΄μμ΄λ€.
κ·Έλ°λ° λμμ±μ΄ νμν μ΄μ λ 무μμΌκΉ? μ΄μ°¨νΌ λμμ λμκ°λ κ²μ²λΌ 보μ΄κ² νλ κ²μΌλΏπ, μ€μ λ‘ λμμ λμκ°λ κ²λ μλλ°, κ·Έλ₯ λ€ λ³λ ¬μ²λ¦¬νλ©΄ μλλκ±ΈκΉ?
μ²«μ§Έλ‘ , νλμ¨μ΄μ νκ³ λλ¬Έμ΄λΌκ³ ν μ μλ€. μ무리 μ½μ΄λ₯Ό λ§μ΄ λ£μ΄λ μμ, μλ°±κ°μ μ½μ΄λ₯Ό λ£μ μ μμΌλ κ²°κ΅ νλμ¨μ΄μ μ νμ΄ κ±Έλ¦¬κ² λκ³ μμμλ°±κ°μ νλ‘μΈμ€λ₯Ό λ리기 μν΄μ κ²°κ΅ λμμ±μ΄ νμν κ²μ΄λ€.
λμ§Έ, ν¨μ¨μ μΈ λ©΄μμμ΄λ€. μλ₯Ό λ€μ΄ 4μ½μ΄ 8μ€λ λμ CPU νκ²½μμ μ΄ 16κ°μ μμ μ΄ μλ€κ³ κ°μ μ ν΄λ³΄μ. κ·Έλ¦¬κ³ κ·Έ μ€ 8κ°λ μ€λ 걸리λ μμ μ΄κ³ , λλ¨Έμ§ 8κ°λ 짧μ μκ°μ νμλ‘ νλ μμ μ΄λΌκ³ νμ.
λ§μ½ μ΅μ μ κ²½μ° 8κ°μ μ€λ 걸리λ μμ μ΄ λ¨Όμ λμμ μ²λ¦¬λκΈ° μμνλ€λ©΄ λλ¨Έμ§ κ°λ²Όμ΄ 8κ°μ μμ μ μ²λ¦¬νλλ° ν¨μ¬ 짧μ μκ°μ΄ κ±Έλ¦Όμλ λΆκ΅¬νκ³ νμ¬ μ²λ¦¬μ€μΈ 8κ°μ μμ μ΄ λ€ λλ λκΉμ§ κΈ°λ€λ €μΌ νλ λΆμμ¬κ° μΌμ΄λλ κ²μ΄λ€.
μ°Έκ³ μ¬μ΄νΈ
Haileyparkλμ 벨λ‘κ·Έ
Inpa Devsλ
yeonyeonλ