νλ‘μΈμ€ μ μ΄ λΈλ‘(PCB)μ μ΄μ 체μ μμ λ€μ€ μμ μ κ΄λ¦¬νκ³ νλ‘μΈμ€λ₯Ό ν¨μ¨μ μΌλ‘ μ€ννκΈ° μν΄ μ¬μ©λλ μ€μν λ°μ΄ν° ꡬ쑰μ λλ€. μ΄ ν¬μ€ν μμλ PCBμ κ°λ κ³Ό μν , κ·Έλ¦¬κ³ μ΄μ 체μ μμ κ΄λ ¨μ±μ λν΄ μμλ³΄κ² μ΅λλ€.
νλ‘μΈμ€ μ μ΄ λΈλ‘(PCB, Process Control Block)
νλ‘μΈμ€ μ μ΄ λΈλ‘(PCB)μ μ΄μ 체μ μ λ°μ ν μ°κ΄μ΄ μλ κ°λ μ λλ€. μ΄μ 체μ λ μ¬λ¬ κ°μ νλ‘μΈμ€λ₯Ό λμμ κ΄λ¦¬νκ³ μ€ννλ μν μ μννλλ°, μ΄λ₯Ό μν΄ PCBλ₯Ό μ¬μ©ν©λλ€. PCBλ κ° νλ‘μΈμ€μ μ 보λ₯Ό μ μ₯νκ³ μΆμ νλ μν μ ν©λλ€.
PCBλ νλ‘μΈμ€μ μ 보λ₯Ό λ΄κ³ μλ λ°μ΄ν° ꡬ쑰λ‘, κ° νλ‘μΈμ€λ§λ€ νλμ© ν λΉλ©λλ€. PCBμλ ν΄λΉ νλ‘μΈμ€μ κ΄λ ¨λ μ¬λ¬ κ°μ§ μ 보λ€μ΄ μ μ₯λ©λλ€. μ΄ μ 보λ€μ νλ‘μΈμ€μ μν, λ μ§μ€ν° κ°, μ€ν μμΉ, μ°μ μμ, μμ ν λΉ μ 보, μ μΆλ ₯ μν λ±μ ν¬ν¨ν©λλ€. PCBλ νλ‘μΈμ€κ° μμ±λκ³ μ€νλλ λμ νμν λͺ¨λ μ 보λ₯Ό μ μ§νλ©°, μ΄μ 체μ κ° νλ‘μΈμ€ κ΄λ¦¬ μμ μ μννλ λ° νμμ μ λλ€.
PCBμ μν
1. CPU μ€μΌμ€λ§: μ¬λ¬ νλ‘μΈμ€κ° CPUλ₯Ό 곡μ νλ νκ²½μμ, μ΄μ 체μ λ μ΄λ€ νλ‘μΈμ€λ₯Ό μΌλ§ λμ μ€νμν¬μ§ κ²°μ ν΄μΌ ν©λλ€. μ΄λ PCBμ μ μ₯λ νλ‘μΈμ€μ μ°μ μμμ μν μ 보λ₯Ό νμ©νμ¬ μ μ ν μ€μΌμ€λ§μ μνν©λλ€.
2. νλ‘μΈμ€ μν κ΄λ¦¬: PCBλ νλ‘μΈμ€μ μνλ₯Ό μΆμ νκΈ° μν΄ μ¬μ©λ©λλ€. νλ‘μΈμ€κ° μμ±λλ©΄ μ€λΉ μν(Ready), μ€ν μν(Running), λκΈ° μν(Waiting) λ±μ μνλ‘ λ³ννλ©°, μ΄λ¬ν μν λ³νλ₯Ό PCBμ λ°μνμ¬ κ΄λ¦¬ν©λλ€.
3. λ¬Έλ§₯ μ ν: CPUλ μ¬λ¬ νλ‘μΈμ€ μ¬μ΄μμ λΉ λ₯΄κ² μ νλ©λλ€. μ΄λ νμ¬ μ€ν μ€μΈ νλ‘μΈμ€μ μνλ₯Ό μ μ₯νκ³ , λ€μ μ€νν νλ‘μΈμ€μ μνλ₯Ό 볡μν΄μΌ ν©λλ€. PCBμ μ μ₯λ λ μ§μ€ν° κ° λ±μ μ΄λ¬ν λ¬Έλ§₯ μ νμ΄ μννκ² μ΄λ£¨μ΄μ§λλ‘ λμμ€λλ€.
4. μμ κ΄λ¦¬: PCBλ νλ‘μΈμ€μκ² ν λΉλ μμ μ 보λ ν¬ν¨ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ΄μ 체μ λ λ©λͺ¨λ¦¬, μ
μΆλ ₯ μ₯μΉ λ±μ μμμ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ©° νλ‘μΈμ€μ νμν μμμ ν λΉν©λλ€.
PCBκ° ν¬ν¨νλ μ 보
νλ‘μΈμ€ μ μ΄ λΈλ‘(PCB)μλ λ€μν μ λ³΄κ° ν¬ν¨λ μ μμ΅λλ€. μ£Όλ‘ λ€μκ³Ό κ°μ μ 보λ€μ΄ ν¬ν¨λ©λλ€.
1. νλ‘μΈμ€ μλ³μ(Process ID): κ° νλ‘μΈμ€λ₯Ό μλ³νλ κ³ μ ν λ²νΈ λλ μλ³μμ
λλ€.
2. νλ‘μΈμ€ μν(Process State): νλ‘μΈμ€μ νμ¬ μνλ₯Ό λνλ
λλ€. μλ₯Ό λ€μ΄, μ€ν μ€μΈμ§, λκΈ° μ€μΈμ§, μΌμ μ€λ¨λ μνμΈμ§ λ±μ΄ μμ΅λλ€.
3. νλ‘κ·Έλ¨ μΉ΄μ΄ν°(Program Counter): λ€μμ μ€νν λͺ
λ Ήμ΄μ μ£Όμλ₯Ό κ°λ¦¬ν€λ λ μ§μ€ν° κ°μ
λλ€.
4. λ μ§μ€ν° κ°(Registers): νλ‘μΈμ€μ λ μ§μ€ν° μνλ₯Ό μ μ₯ν©λλ€. μ΄λ νλ‘μΈμ€κ° μ€λ¨λκ±°λ μ¬κ°λ λ μ€μν μ 보μ
λλ€.
5. μ°μ μμ(Priority): λ€μ€ μμ
νκ²½μμ νλ‘μΈμ€μ ν λΉλλ μ°μ μμλ₯Ό λνλ
λλ€.
6. CPU μ¬μ©λ λ° μ€ν μκ°: νλ‘μΈμ€κ° CPUλ₯Ό μ¬μ©ν μκ°μ μΆμ νλ μ λ³΄κ° ν¬ν¨λ©λλ€.
7. λ©λͺ¨λ¦¬ κ΄λ¦¬ μ 보: νλ‘μΈμ€κ° μ¬μ©νλ λ©λͺ¨λ¦¬ μμμ λν μ 보, ν λΉλ λ©λͺ¨λ¦¬μ μμΉ λ±μ ν¬ν¨ν©λλ€.
8. μ
μΆλ ₯ μν μ 보: νλ‘μΈμ€κ° μ΄λ€ μ
μΆλ ₯ μμ
μ μμ²νμλμ§, ν΄λΉ μμ
μ μν λ±μ λνλ
λλ€.
9. μμ ν λΉ μ 보: νλ‘μΈμ€μκ² ν λΉλ μμ(λ©λͺ¨λ¦¬, μ
μΆλ ₯ μ₯μΉ λ±)μ λν μ 보λ₯Ό λ΄μ μ μμ΅λλ€.
μ΄ μΈμλ μ΄μ 체μ μ μ’
λ₯λ κΈ°λ₯μ λ°λΌ PCBμ ν¬ν¨λλ μ λ³΄κ° λ¬λΌμ§ μ μμ΅λλ€. PCBλ νλ‘μΈμ€μ κ΄λ¦¬μ μ€μΌμ€λ§μ ν¨μ¨μ μΌλ‘ μννκΈ° μν μ€μν λ°μ΄ν° ꡬ쑰μ
λλ€.
μ΄μ 체μ μμ κ΄λ ¨μ±
PCBλ μ΄μ 체μ μ ν΅μ¬ κ°λ
μ€ νλλ‘, λ€μ€ μμ
νκ²½μμ νλ‘μΈμ€λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν΄ νμμ μ
λλ€. μ΄μ 체μ λ PCBλ₯Ό νμ©νμ¬ CPU μ€μΌμ€λ§, νλ‘μΈμ€ μν κ΄λ¦¬, λ¬Έλ§₯ μ νμ΄λ μμ ν λΉ λ± λ€μν μμ
μ μνν©λλ€. PCBλ₯Ό ν΅ν΄ μ΄μ 체μ λ μ¬λ¬ νλ‘μΈμ€λ₯Ό μ‘°μ¨νλ©° μμ€ν
μ μμ μ±κ³Ό μ±λ₯μ μ μ§ν©λλ€.
μ΄μ κ°μ΄, PCBλ μ΄μ 체μ μ νλ‘μΈμ€ κ°μ ν΅μ¬μ μΈ μ°κ²°κ³ λ¦¬λ‘ μμ©νλ©°, λ€μ€ μμ
νκ²½μμμ ν¨μ¨μ μΈ μμ
μνμ κ°λ₯νκ² ν©λλ€.
'μ΄μ체μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
컀λ(Kernel)κ³Ό μΈν°νμ΄μ€(Interface) (0) | 2023.09.12 |
---|---|
ν°λ Έμ΄λ§ ꡬ쑰λ? (0) | 2023.09.05 |
IPC(Inter-Process Communication, νλ‘μΈμ€ κ° ν΅μ ) (0) | 2023.08.29 |
Context Switching(λ¬Έλ§₯ κ΅ν) (0) | 2023.08.28 |
OSκ° κ΄λ¦¬νλ λ©λͺ¨λ¦¬ μμ (0) | 2023.08.27 |
λκΈ