ππππππͺπ‘ππ£π

π μ€μΌμ€λ§
- μ€μΌμ€λ§μ νλ‘μΈμμκ² νμν μμμ μ΄λ»κ² ν λΉν κ²μΈμ§ μ ννλ μκ³ λ¦¬μ¦
- λ¨μ μκ°λΉ μ²λ¦¬λμ μ΅λννκ³ ν¨μ¨μ μΌλ‘ μμμ ν λΉνκΈ° μν λͺ©μ
- νλ‘μΈμ€λ₯Ό μ€μΌμ€λ§νκΈ° μν Queue μλ μΈ κ°μ§ μ’
λ₯κ° μ‘΄μ¬
- Job Queue : νμ¬ μμ€ν
λ΄μ μλ λͺ¨λ νλ‘μΈμ€μ μ§ν©
- Ready Queue : νμ¬ λ©λͺ¨λ¦¬ λ΄μ μμΌλ©΄μ CPUλ₯Ό μ‘μμ μ€νλκΈ°λ₯Ό κΈ°λ€λ¦¬λ νλ‘μΈμ€μ μ§ν©
- Device Queue : Device I/O μμ
μ λκΈ°νκ³ μλ νλ‘μΈμ€μ μ§ν©
π¬ μ€μΌμ€λ¬
- μ€μΌμ€λ¬λ μ΄λ€ νλ‘μΈμ€μκ² μμμ ν λΉν μ§ κ²°μ νλ μ΄μ체μ μ 컀λ λͺ¨λ
- κ°κ°μ Queue μ νλ‘μΈμ€λ€μ λ£κ³ λΉΌμ£Όλ μ€μΌμ€λ¬μλ ν¬κ² μΈ κ°μ§ μ’
λ₯κ° μ‘΄μ¬
βΎ μ₯κΈ°μ€μΌμ€λ¬(Long-term scheduler or job scheduler)
- λ©λͺ¨λ¦¬λ νμ λμ΄ μλλ° λ§μ νλ‘μΈμ€λ€μ΄ νκΊΌλ²μ λ©λͺ¨λ¦¬μ μ¬λΌμ¬ κ²½μ°, λμ©λ λ©λͺ¨λ¦¬(μΌλ°μ μΌλ‘ λμ€ν¬)μ μμλ‘ μ μ₯λλ€. μ΄ poolμ μ μ₯λμ΄ μλ νλ‘μΈμ€ μ€ μ΄λ€ νλ‘μΈμ€μ λ©λͺ¨λ¦¬λ₯Ό ν λΉνμ¬
ready queue
λ‘ λ³΄λΌμ§ κ²°μ νλ μν
ready queue
λ νμ¬ λ©λͺ¨λ¦¬ λ΄μ μμΌλ©΄μ CPUμ μν΄ μ€νλκΈ°λ₯Ό κΈ°λ€λ¦¬λ νλ‘μΈμ€μ μ§ν©
- λ©λͺ¨λ¦¬μ λμ€ν¬ μ¬μ΄μ μ€μΌμ€λ§μ λ΄λΉ.
- νλ‘μΈμ€μ memory(λ° κ°μ’
리μμ€)λ₯Ό ν λΉ(admit)
- degree of Multiprogramming μ μ΄ (μ€νμ€μΈ νλ‘μΈμ€μ μ μ μ΄)
- νλ‘μΈμ€μ μν :
new -> ready(in memory)
cf)
λ©λͺ¨λ¦¬μ νλ‘κ·Έλ¨μ΄ λ무 λ§μ΄ μ¬λΌκ°λ, λ무 μ κ² μ¬λΌκ°λ μ±λ₯μ΄ μ’μ§ μλλ€. μ°Έκ³ λ‘ time sharing system
μμλ μ₯κΈ° μ€μΌμ€λ¬κ° μλ€. κ·Έλ₯ 곧λ°λ‘ λ©λͺ¨λ¦¬μ μ¬λΌκ° ready μνκ° λλ€.
βΎ λ¨κΈ°μ€μΌμ€λ¬(Short-term scheduler or CPU scheduler)
- CPUμ λ©λͺ¨λ¦¬ μ¬μ΄μ μ€μΌμ€λ§μ λ΄
ready queue
μ μ‘΄μ¬νλ νλ‘μΈμ€ μ€ μ΄λ€ νλ‘μΈμ€λ₯Ό running μν¬μ§ κ²°μ
- μ€μΌμ€λ§ μκ³ λ¦¬μ¦μ λ°λΌ CPUλ₯Ό ν λΉ ν νλ‘μΈμ€ μ ν (scheduler dispatch)
- νλ‘μΈμ€μ μν :
ready -> running -> waiting -> ready
- μ νλ νλ‘μΈμ€λ Running μνκ° λκ³ μμ
μ΄ λλλ©΄ Terminated μνκ° λ¨
βΎ μ€κΈ°μ€μΌμ€λ¬(Medium-term scheduler or Swapper)
- μ¬μ κ³΅κ° λ§λ ¨μ μν΄ νλ‘μΈμ€λ₯Ό ν΅μ§Έλ‘ λ©λͺ¨λ¦¬μμ λμ€ν¬λ‘ μ«μλ (swapping)
- νλ‘μΈμ€μκ²μ memory λ₯Ό deallocate
- degree of Multiprogramming μ μ΄
- ν μμ€ν
μμ λ©λͺ¨λ¦¬μ λ무 λ§μ νλ‘κ·Έλ¨μ΄ λμμ μ¬λΌκ°λ κ²μ μ‘°μ νλ μ€μΌμ€λ¬
- νλ‘μΈμ€μ μν :
ready -> suspended
- Process state - suspended
Suspended(stopped) : μΈλΆμ μΈ μ΄μ λ‘ νλ‘μΈμ€μ μνμ΄ μ μ§λ μνλ‘ λ©λͺ¨λ¦¬μμ λ΄λ €κ° μνλ₯Ό μλ―Ένλ€. νλ‘μΈμ€ μ λΆ λμ€ν¬λ‘ swap out λλ€. blocked μνλ λ€λ₯Έ I/O μμ
μ κΈ°λ€λ¦¬λ μνμ΄κΈ° λλ¬Έμ μ€μ€λ‘ ready state λ‘ λμκ° μ μμ§λ§ μ΄ μνλ μΈλΆμ μΈ μ΄μ λ‘ suspending λμκΈ° λλ¬Έμ μ€μ€λ‘ λμκ° μ μλ€.