1. μΌκ΄ μ²λ¦¬ μμ€ν Batch processing system
1950λ λ μ΄κΈ° μ΄μ체μ μ νν.
μ¬λ¬ κ°μ μμ μ λ¨μΌ μμ μΌλ‘ λ¬Άμ΄μ μΌκ΄ μ²λ¦¬.
μκΈ° ν
μ΄ν, μκΈ° λμ€ν¬μ κ°μ 보쑰기μ΅μ₯μΉλ₯Ό μ΄μ©νμ¬ νλ‘μΈμλ₯Ό ꡬλμμΌ°μΌλ μλκ° λλ¦Ό.
보μμ±
μΌλ‘ λͺ¨λν°λ§(monitoring), λ²νΌλ§(buffering), μ€νλ§(spooling) λ±μ κ°λ
νμ©.
λͺ¨λν°λ§: CPUμ μ ν΄μκ°(idle time)μ ν¨μ¨μ μΌλ‘ μ¬μ©νκΈ° μν΄ CPUμ νλ‘μΈμ€λ₯Ό μ§μμ μΌλ‘ κ΄μ°°νμ¬ μμ μμ μλ λ³κ²½
λ²νΌλ§: CPUκ° μ΄λ€ μμ μ μ²λ¦¬νλ λμ, λ²νΌμ λ€μμ μ²λ¦¬ν μμ μ 미리 μ½μ΄ μ μ₯ν΄ λ
μ€νλ§: μλκ° λΉ λ₯Έ λμ€ν¬λ₯Ό λ²νΌμ²λΌ μ¬μ©ν΄μ 미리 μ μΆλ ₯ μ₯μΉμμ μ½μ
ex) OMR
2. λ€μ€ νλ‘κ·Έλλ° μμ€ν
Multi-programming system
1960λ λ.
μΌκ΄ μ²λ¦¬ λ°©μμ΄ CPUλ₯Ό λΉν¨μ¨μ μΌλ‘ μ¬μ©νλ κ²μ κ°μ , λ°μ μν΄.
CPU μ ν΄μκ°μ λ€λ₯Έ νλ‘μΈμ€λ₯Ό μ²λ¦¬νμ¬ μ μΆλ ₯ μ₯μΉμμ μλμ°¨μ΄λ₯Ό ν΄μ.
μ€μ CPUμμλ ν κ°μ νλ‘κ·Έλ¨λ§ μ€ν, λλ¨Έμ§ νλ‘κ·Έλ¨μ μ μΆλ ₯ μν λλ λκΈ°μν
λ©λͺ¨λ¦¬μ μ¬λ¬ νλ‘μΈμ€λ₯Ό μμ©ν΄μΌ νλ―λ‘ λ©λͺ¨λ¦¬ κ΄λ¦¬κ° 볡μ‘ν΄μ§
μ€ν λκΈ°μ€μΈ νλ‘μΈμ€ κ° μ²λ¦¬ μμ μ€μΌμ₯΄λ§ νμ
3. μ€μκ° μ²λ¦¬ μμ€ν Real-time processing system
1960λ λ.
μ΄μ체μ μ νΉμ ν μμ μ λμμν€λ©΄ λλ λ κΉμ§ μ무κ²λ ν μ μμλ μ’ μ μ μμ€ν κ°μ
μΌμ μκ° λμ μ ν΄μ§ νλ‘μΈμ€ μ€ν ν λ€μ νλ‘μΈμ€μ λν λκΈ°μ μ€ν λ± μ μ΄ κ°λ₯
ex) 곡μ μ μ΄ κΈ°κ³, μλ£κΈ° μμ€ν
4. μλΆν μ²λ¦¬ μμ€ν Time-sharing system
1960λ λ.
νμ¬ μΌλ° μ΄μ체μ μ λΉμ·ν΄μ§κΈ° μμν¨
νλ‘μΈμ€μ μ¬μ©μκ°μ μκ² λλμ΄ λ€μ€ μ¬μ©μ(multi-user)λ μ¬λ¬ μμ μ ν λμ μ»΄ν¨ν°μμ ν μ μκ² λ¨.
5. λΆμ° μ²λ¦¬ μμ€ν Distributed data processing system
1980λ λ.
νλμ λν μ»΄ν¨ν°μμ μννλ κΈ°λ₯μ λΆμ°λ μ¬λ¬ μ»΄ν¨ν°μ λΆλ΄ ν λ€νΈμν¬λ₯Ό ν΅νμ¬ μ²λ¦¬νλ λ°©μ
νμ€: μ½λ°(CORBA, Common Object Request Broker Architecture)
λ€νΈμν¬μμ λΆμ° νλ‘κ·Έλ¨ κ°μ²΄λ₯Ό μμ±, λ°°ν¬, κ΄λ¦¬νκΈ° μν ꡬ쑰μ κ·κ²©
λ€νΈμν¬μμ μ΄κΈ°μ’ κ°μ μμ€ν μ΄ μλ‘ ν΅μ ν μ μλλ‘ ν¨.
6. λ€μ€ μ²λ¦¬ μμ€ν Multi-processing system
1990λ λ.
μ¬λ¬ κ°μ μμ μ νλμ μμ€ν μμ λμμ μ²λ¦¬ν μ μμ
κ°κ°μ CPUκ° μΈμ λ μ€νμ€μΈ νλ‘μΈμ€λ₯Ό κ°λλ‘ νμ¬ CPUμ νμ©μ κ·Ήλν
λλΆλΆμ κ²½μ°, νλ‘μΈμ€μ μκ° CPUλ³΄λ€ λ§κΈ° λλ¬Έμ λλ¨Έμ§ νλ‘μΈμ€λ€μ μ€νλκΈ°κΉμ§ κΈ°λ€λ €μΌ ν¨.
νλ‘μΈμ€κ° μμ€ν μμμ κΈ°λ€λ €μΌ νκΈ° μ κΉμ§λ κ³μ μ€νλκ³ , κΈ°λ€λ¦¬λ€κ° μμμ μ»μΌλ©΄ μ¬μ€νλ¨.
DOSμ κ°μ λ¨μΌ μ²λ¦¬(uni-processing) μμ€ν μμ CPUλ μ무 κ²λ νμ§ μκ³ λκΈ°μκ°μ λλΉν¨.
λμμ λ§μ νλ‘μΈμ€κ° λ©λͺ¨λ¦¬ λ΄μ μ‘΄μ¬νλ©°, ν νλ‘μΈμ€κ° 무μΈκ°λ₯Ό κΈ°λ€λ €μΌ ν λλ§λ€ λ€λ₯Έ λκΈ°μ€μΈ νλ‘μΈμ€κ° CPUλ₯Ό μ¬μ©νλλ‘ ν¨. κ·Έ μμλ μ€μΌμ€λ¬μ μν μ΄λ©°, 리λ
μ€μ κ²½μ° κ³΅μ ν μ¬λ¬κ°μ§μ μ€μΌμ₯΄λ§ μ μ±
μ μ¬μ©ν¨.
ex) 리λ
μ€
Multi-Processing VS. Multi-Programming VS. Multi-Tasking VS. Multi-Threading
λ©ν°νλ‘μΈμ±μ΄λ μ¬λ¬ κ°μ νλ‘μΈμ€(νλ‘κ·Έλ¨μ΄ μ€νλμ΄ λ©λͺ¨λ¦¬μ μμ£Όλ νν)λ₯Ό λμμ μ€νμν¬ μ μλ μμ€ν μ λ§νλ€. κ·Έλ¬λ μ€μ λ‘ CPUκ° λμμ μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό μ€ννλ κ²μ μλλ©°, μκ°μ μͺΌκ°μ΄ λ¨μ μκ°μ μ νλ μλΆν λ°©μ(time-division)μΌλ‘ CPUκ° λμκ°λ©° μ¬λ¬ κ°μ νλ‘κ·Έλ¨μ νλμ© μ€ννλ€. CPUλ μΈμ λ νλμ νλ‘μΈμ€λ§μ μννκ³ μμ§λ§ μκ° κ°κ²©μ΄ λ무 짧μ μ¬μ©μμ λμλ μ¬λ¬ κ°μ νλ‘μΈμ€κ° λμμ μ€νλλ κ²μ²λΌ 보μΈλ€.
νλμ νλ‘κ·Έλ¨μ νλμ νλ‘μΈμ€λ‘ μ νλμ΄ μ€νλ μλ μμ§λ§, μ¬λ¬κ°μ νλ‘μΈμ€λ‘ λλμ΄ λμμ μ€νλ μλ μλ€. μ΄ λ, μ΄λ€ νλ‘κ·Έλ¨μ μ£Ό νλ‘μΈμ€μ ν¨κ» λμμ μ€νλλ λΆμμ μΈ νλ‘μΈμ€λ€μ μ€λ λλΌκ³ νλ€.
λ©ν°νλ‘κ·Έλλ°: μ ν΄μκ°μ λ€λ₯Έ νλ‘μΈμ€λ₯Ό μ€ννμ¬ μκ°μ λ¨μΆμν΄
λ©ν°νμ€νΉ: λμμ μ¬λ¬ κ°μ νλ‘κ·Έλ¨λ€μ μ€ν, μ΄μ체μ κ° μλΆν λ°©μμΌλ‘ μμμ μ²λ¦¬ν΄ μ€
λ©ν°μ€λ λ©: κ°κ°μ νμ€ν¬λ₯Ό μ¬λ¬ κ°μ κΈ°λ₯μΌλ‘ λλμ΄ μ΄λ₯Ό λμμ μ€ν, νλ‘κ·Έλλ¨Έκ° νλ‘κ·Έλ¨ μ€κ³μμ μ§μ ꡬνν΄ μ£Όμ΄μΌ ν¨.
β» Multi-processing > Multi-programming > Multi-tasking > Multi-threading
References
'νλ‘κ·Έλλ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[tbd] Jos Stam, Stable Fluids (1999) (0) | 2015.03.06 |
---|---|
[tbd] λ³λ ¬ μ»΄ν¨ν Parallel Computing (0) | 2015.03.05 |
μμ¬λμ Pseudo-Random Number (0) | 2015.03.03 |
λ°μ΄ν° νμ Data Type (0) | 2015.03.03 |
κΈ°μλ² λ° μ°μ μ°μ° Number system and Arithmetic Operation (0) | 2015.03.03 |