- νλ‘μΈμ€λ μ€ν μ€μΈ νλ‘κ·Έλ¨μΌλ‘ λμ€ν¬λ‘λΆν° λ©λͺ¨λ¦¬μ μ μ¬λμ΄ CPUμ ν λΉμ λ°μ μ μλ μνλ₯Ό λ§ν©λλ€. νλ‘μΈμ€λ μ΄μ체μ λΆν° μ£Όμ곡κ°, νμΌ, λ©λͺ¨λ¦¬ λ±μ ν λΉ λ°μ΅λλ€.
- μ€ν μμ : μ§μλ³μ, 맀κ°λ³μ, 리ν΄κ° λ±μ΄ μμλ‘ μ μ₯λλ κ³ μ λ ν¬κΈ°μ 곡κ°μ λλ€. μ£Όλ‘ ν¨μκ° λΆλ Έμ λ λ°μ΄ν°λ₯Ό μ μ₯νλ€κ° ν¨μκ° μ’ λ£λ λ λ°μ΄ν°λ₯Ό λ°νν©λλ€.
- ν μμ : νλ‘μΈμ€κ° λμ μ€μ λμ μΌλ‘ λ°μ΄ν°λ₯Ό ν λΉνλ 곡κ°μ λλ€.
- λ°μ΄ν° μμ : λ°μ΄ν° μμμλ νλ‘κ·Έλ¨μ΄ μμλ λ μμ±λλ μ μλ³μ, μ μ λ³μ λ±μ΄ μ μ₯λ©λλ€.
Blocked State Symbol
μμ : λ°μ΄ν° μμμλ BSS μμμ΄ ν¬ν¨λμ΄ μμ΅λλ€. BSS μμμ μ΄κΈ°ν λμ§ μμ μ μ λ³μμ μ μλ³μκ° μ μ₯λ©λλ€. μ΄κΈ°ν λμ§ μμ λ³μλ€μ κ°μ μ μ₯ν νμκ° μκΈ° λλ¬Έμ 곡κ°μ λλΉλ₯Ό μ€μ΄κΈ° μν΄ BSS μμμ ꡬλΆν©λλ€.
- μ½λ : μ½λμμμ νλ‘κ·Έλ¨μ λͺ λ Ήμ μ μ₯ν©λλ€.
- NEW : μλ‘κ² μμ±λ νλ‘μΈμ€κ° κ°μ§λ μνμ λλ€.
- READY : μ€λΉ νμμ μ΄μ체μ μ μν΄ CPUμ λ‘λλκΈΈ κΈ°λ€λ¦¬λ μνμ λλ€.
- RUNNING : CPUμ λ‘λλμ΄ μ€ν μ€μΈ μνμ λλ€.
- WAITING : I/O μ΄λ²€νΈκ° λ°μνμ λ ν΄λΉ μ΄λ²€νΈκ° μ²λ¦¬λλ λμ, νΉμ μ΄λ€ μ΄λ²€νΈλ₯Ό κΈ°λ€λ¦΄ λ Device queue μμ λκΈ°νλ μν μ λλ€.
- TERMINATED : νλ‘μΈμ€κ° μ’ λ£λκ³ CPU μμ μ κ±°λμμ λμ μνμ λλ€.
- μΈν°λ½νΈλ νλμ¨μ΄μ μν΄ λ°μλ©λλ€. νλμ¨μ΄ μ₯μΉκ° CPUλ₯Ό μ¬μ©ν΄μΌν λ, μΈν°λ½νΈλ₯Ό λ°μμν΅λλ€.
- νΈλ©μ μννΈμ¨μ΄μ μν΄ λ°μλ©λλ€. μ΄λ€ μννΈμ¨μ΄κ° CPUμκ² μννΈμ¨μ΄ λμμ νμν λμμ μꡬν λ νΈλ©μ λ°μμν΅λλ€.
- μμ€ν μ½μ νλ‘μΈμ€κ° νΈλ©μ λ°μμν¬ μ μλλ‘ νκΈ°μν΄ OSμμ μ 곡νλ μΈν°νμ΄μ€μ λλ€.
- νλ‘μΈμ€λ μμ€ν
μ½μ λ°μμμΌ μμ μ΄ μ§μ μΈν°λ½νΈ μμ
μ μννμ§ μκ³ μ΄μ체μ κ° μ΄ μμ
μ μννλλ‘ ν©λλ€. μ΄μ체μ λ μμ²λ°μ μμ€ν
μ½μ
ISR(Interrupt Service Routine)
μμ μ°Ύμ 미리 μ μλ μμ€ν μ½ μ²λ¦¬ μμ μ μνν©λλ€.
- PCBλ νλ‘μΈμ€μ λν μ 보λ₯Ό λ΄κ³ μλ μλ£κ΅¬μ‘° μ λλ€. μ΄μ체μ λ μ΄ PCBλ₯Ό μ¬μ©ν΄μ νλ‘μΈμ€λ₯Ό κ΄λ¦¬ν©λλ€. PCBλ νλ‘μΈμ€μ μμ±κ³Ό ν¨κ» λ§λ€μ΄μ§λλ€.
- PCBλ λ€μκ³Ό κ°μ μ 보λ₯Ό λ΄κ³ μμ΅λλ€.
- νλ‘μΈμ€ ID
- νλ‘μΈμ€ μν
- νλ‘κ·Έλ¨ μΉ΄μ΄ν°
- κ³μ μ 보
- μ€μΌμ€λ§ μ 보
- λΆλͺ¨ νλ‘μΈμ€μ μλ νλ‘μΈμ€μ λν ν¬μΈν°
- λ μ§μ€ν° μ 보
- μ μΆλ ₯ μν
- 컨ν μ€νΈ μ€μμΉλ CPUλ₯Ό μ μ νλ νλ‘μΈμ€κ° μΈν°λ½νΈμ μν΄ λ€λ₯Έ νλ‘μΈμ€λ‘ κ΅μ²΄ν λ, κΈ°μ‘΄ νλ‘μΈμ€μ λ μ§μ€ν° κ°μ μ μ₯νκ³ μλ‘μ΄ νλ‘μΈμ€μ λ μ§μ€ν°κ°μ CPU λ μ§μ€ν°λ‘ λ‘λνλ κ²μ λ§ν©λλ€.
- μ΄λ λ μ§μ€ν° κ°μ μ μ₯νκ³ μλ‘μ΄ κ°μΌλ‘ λ μ§μ€ν°λ₯Ό μ±μ°λ λμ CPUλ λ€λ₯Έ μμ
μ ν μ μμΌλ―λ‘ ν°
μ€λ²ν€λ
κ° λ°μν©λλ€.
- Orphan νλ‘μΈμ€λ μλ νλ‘μΈμ€κ° μ’ λ£λκΈ° μ μ λΆλͺ¨ νλ‘μΈμ€κ° wait μμ€ν μ½λ‘ κΈ°λ€λ¦¬μ§ μκ³ μ’ λ£λ μνλ₯Ό λ§ν©λλ€. 리λ μ€ μ΄μ체μ μ κ²½μ°μλ Orphan νλ‘μΈμ€λ₯Ό λ§κΈ° μν΄ λΆλͺ¨ νλ‘μΈμ€κ° λ¨Όμ μ’ λ£λ μλ νλ‘μΈμ€λ₯Ό λ£¨νΈ νλ‘μΈμ€μΈ init νλ‘μΈμ€μ μμμΌλ‘νΈμ μν€κ³ μ£ΌκΈ°μ μΌλ‘ wiat μμ€ν μ½μ νΈμΆνμ¬ μλ νλ‘μΈμ€λ€μ μνλ₯Ό νμν©λλ€.
- Zombie νλ‘μΈμ€λ μλ νλ‘μΈμ€κ° μ’ λ£λμμ§λ§ λΆλͺ¨ νλ‘μΈμ€κ° ν΄λΉ νλ‘μΈμ€λ₯Ό νμνμ§ λͺ»ν κ²½μ°λ₯Ό λ§ν©λλ€. μλ νλ‘μΈμ€λ μ’ λ£λμ§λ§ λΆλͺ¨ νλ‘μΈμ€κ° wait μ νμ§ μλ μνμμ λ°μν©λλ€.
- μ’λΉ νλ‘μΈμ€λ μ’ λ£λ νλ‘μΈμ€μ΄κΈ° λλ¬Έμ CPUλ₯Ό μ¬μ©νμ§λ μμ§λ§ λ μ΄μ μ¬μ©νμ§ μλ 리μμ€λ₯Ό λ°ννμ§ μκ³ μ»€λμ νλ‘μΈμ€ ν μ΄λΈμ κ΄λ¦¬λμ΄ λΆνΌμν 곡κ°μ μ°¨μ§νκ² λ©λλ€.
- μ¬λ¬ νλ‘μΈμ€κ° μλ‘ ν΅μ νκΈ° μν΄μλ 곡μ λ©λͺ¨λ¦¬ λ°©λ²μ΄λ λ©μΈμ§ ν¨μ± λ°©λ²μ μ¬μ©ν΄μΌν©λλ€.
- 곡μ λ©λͺ¨λ¦¬λ ν νλ‘μΈμ€μ 곡μ λ©λͺ¨λ¦¬λ₯Ό μ€μ νκ³ λ€λ₯Έ νλ‘μΈμ€λ€μ΄ ν΄λΉ λ©λͺ¨λ¦¬μ μ κ·Όνμ¬ λ²νΌλ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό 곡μ νλ λ°©μμ λλ€.
- λ©μΈμ§ ν¨μ± λ°©λ²μ 컀λ μμμ ν΅μ μ μν λ©μΌ λ°μ€λ₯Ό λ§λ€μ΄λκ³ μ΄κ³³μ λ²νΌλ‘ μΌμ νλ‘μΈμ€λ€μ΄ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ΅λλ€.
- CPU μ€μΌμ€λ¬λ Ready νμμ CPUμ λ‘λλκΈΈ κΈ°λ€λ¦¬λ νλ‘μΈμ€λ€ μ€ μ΄λ€ νλ‘μΈμ€λ₯Ό λ‘λν κ²μΈμ§ κ²°μ ν©λλ€.
λ¨κΈ° μ€μΌμ€λ¬
λΌκ³ λ ν©λλ€.
- μ₯κΈ° μ€μΌμ€λ¬λ job μ€μΌμ€λ¬λΌκ³ λΆλ¦
λλ€. λ©λͺ¨λ¦¬μ μλ νλ‘μΈμ€ μ€ μ΄λ€ νλ‘μΈμ€λ₯Ό μ€λΉ νμ λ£μμ§ κ²°μ νλ μ€μΌμ€λ¬μ
λλ€. λν λ©λͺ¨λ¦¬μ μ¬λΌμ μλ νλ‘μΈμ€μ μ«μλ₯Ό μ μ΄ν΄μ
degree of multiprogramming
μ κ΄λ¦¬ν©λλ€.
- μ€κΈ°μ€μΌμ€λ¬κ° μμ΅λλ€. λ§μ½ λ©λͺ¨λ¦¬μ λ무 λ§μ νλ‘μΈμ€κ° μ¬λΌμ€κ² λλ©΄ μ€κΈ° μ€μΌμ€λ¬λ λ©λͺ¨λ¦¬μ μλ νλ‘μΈμ€λ₯Ό κ°μ λ‘ λμ€ν¬μ μ€μ μμμ μ μ₯ν©λλ€. μ΄λ₯Ό swap-out μ΄λΌκ³ ν©λλ€.
- λ©ν° νμ€νΉμ νλμ νλ‘μΈμ(CPU μ½μ΄)κ° μ΄μ체μ μ μ€μΌμ€λ§μ λ°μ μ¬λ¬ μμ μ λΉ λ₯΄κ² λ²κ°μκ°λ©΄μ μ€ννλ λ°©μμ λλ€.
- λ©ν° νλ‘μΈμ±μ μ¬λ¬ νλ‘μΈμκ° μ¬λ¬ μμ μ λ³λ ¬μ μΌλ‘ μννλ κ²μ λ§ν©λλ€.