β 1. νλ‘μΈμ€
(1) νλ‘μΈμ€μ κ°μ


- νλ‘μΈμ€λ, μ€ν μ€μΈ νλ‘κ·Έλ¨μ μλ―Ένλ€.
- μμΈνλ 보쑰기μ΅μ₯μΉμ μ μ₯λμ΄ μλ νλ‘κ·Έλ¨μ΄ CPUμ μν΄μ λ©λͺ¨λ¦¬μ μ¬λΌμμ μ€νμ΄ λκ³ μλ μνλ₯Ό μλ―Ένλ€.
- ** μ΄ κ³Όμ μμ μ΄μ체μ μ λ΄λΆμ μΈ νλ‘μΈμ€ κ΄λ¦¬μ κΈ°λ₯μ΄ CPUλ λ©λͺ¨λ¦¬μ κ°μ νλμ¨μ΄λ₯Ό μ μ΄ λλ κ΄λ¦¬νλ©° νλ‘μΈμ€μ λͺ λ Ήμ μ€ν μμΌμ€λ€. λν, νλ‘μΈμ€ μμ± λ° μ’ λ£, μν κ΄λ¦¬, μ€μΌμ€λ§ μμ μ ν΄μ€.**
(2) νλ‘μΈμ€μ κ΅¬μ± - λ©λͺ¨λ¦¬ ꡬ쑰

- λ©λͺ¨λ¦¬ ꡬ쑰λ, νλ‘κ·Έλ¨ μ€νμ μ§μ μ μΌλ‘ νμν μ½λμ λ°μ΄ν°λ₯Ό μλ―Έν¨.
- μ½λ μμ: νλ‘κ·Έλ¨ μ체λ₯Ό λνλ΄λ μ½λ μμμ΄λ©°, λ©λͺ¨λ¦¬μμ μμΉν΄μΌ CPUκ° μ€νμ ν μ μμ.
- λ°μ΄ν° μμ: νλ‘κ·Έλ¨μ΄ λμν λ νμν λ°μ΄ν°λ€μ μμμ΄λ©°, μ μ λ°μ΄ν°, ν, μ€ν μμ λ±μΌλ‘ λλ μ κ΄λ¦¬ν¨.
- μ€ν μμ: νλ‘μΈμ€μκ² ν λΉλ λ©λͺ¨λ¦¬ μμμλ§ λμμνλ©°, ν¨μ A()κ° ν¨μ B() λ₯Ό νΈμΆνλ©΄, νμ¬ Aμ μν(λμκ° μ£Όμ, μ§μ λ³μ λ±)λ₯Ό μ€νμ Push ν΄μ μ μ₯μ ν΄λκ³ Bκ° λλλ©΄ μ€νμμ μ 보λ₯Ό Pop νμ¬ λ€μ Aλ‘ λμκ° μννλ μ리μ΄λ©°, μ΄λ¬ν μμμ μ€ν μμμ΄λΌν¨. μ¬κΈ°μ μλ―Ένλ μλΈνλ‘κ·Έλ¨μ ν¨μλ λ©μλλ₯Ό μλ―Ένλ€κ³ 보면λ¨.
- ν΅μ¬: μ΄μ체μ κ° λ©λͺ¨λ¦¬λ₯Ό μ΄λ¬ν κ΅¬μ‘°λ‘ λ Όλ¦¬μ μΌλ‘ λλ μ λ©λͺ¨λ¦¬μμμ νλ‘μΈμ€λ€μ 곡κ°μ ν λΉμ ν΄μ£Όλ©° κ΄λ¦¬ν¨.
(3) νλ‘μΈμ€μ κ΅¬μ± - νλ‘μΈμ€ μ μ΄ λΈλ‘(PCB)

- PCBλ λ©λͺ¨λ¦¬μ μ‘΄μ¬νμ§λ§, κ·Έ μ€ μ»€λ λͺ¨λμμ μ κ·Όμ΄ κ°λ₯ν 컀λ μμ λ΄μ νλ‘μΈμ€ ν μ΄λΈ λλ 컀λ μ€νμ μ μ₯λ¨.
- μ΄λ¬ν PCB λ νλ‘μΈμ€λ₯Ό κ΄λ¦¬νκΈ° μν΄ νλ‘μΈμ€μ μ¬λ¬ μ 보λ₯Ό κ°μ§κ³ μμΌλ©°, μ 보λ₯Ό ν΅ν΄ κ΄λ¦¬κ° κ°λ₯ν΄μ§.
- ν΅μ¬: PCB μλ νλμ νλ‘μΈμ€κ° λμνκΈ° μν μ¬λ¬ μ 보λ€μ μ μ₯νκ³ μλλ°, A νλ‘μΈμ€ μ€ν μ€κ°μ B νλ‘μΈμ€κ° μ€νμ΄ λκ² λλ©΄ A νλ‘μΈμ€κ° μνμ€μ΄λ μνκ°λ€μ΄ μ μ₯μ΄ λμ΄μμ΄μΌ νλ©°, B νλ‘μΈμ€κ° λλλ μμ μ λ€μ A νλ‘μΈμ€λ₯Ό μ€ν ν λ μ΄λ¬ν μνκ°λ€μ 볡μν΄μ μνμ΄ λμ΄μΌ νλ€. μ΄λ νμν κ²μ΄ μνκ° λλ μ¬λ¬ μ 보λ₯Ό μ μ₯νκ³ μλ PCB κ° λ μ μμ. ( μ΄ κ³Όμ μ κ²°κ΅ νΉμ 컀λ μ€ν μμμ μ μ₯ν¨μΌλ‘μ¨ λ³΅μνλ κ°λ μ )
(4) νλ‘μΈμ€ μν κ΄λ¦¬ - νλ‘μΈμ€ μν

- νλ‘μΈμ€ μν: μ΄λ¬ν PCBμ νλ‘μΈμ€ μνκ°λ€μ CPU μμμ μ¬λ¬ νλ‘μΈμ€μκ² ν¨μ¨μ μΌλ‘ λλ μ£ΌκΈ° μν κΈ°μ€μ΄ λ μ μμ. μ¦, μ΄λ€ νλ‘μΈμ€λ₯Ό μ€νμν€κ³ , μ΄λ€ νλ‘μΈμ€λ₯Ό μ¬κ² ν μ§ κ²°μ νλ κ·Όκ±°κ° λ°λ‘ PCBμ μνκ°μ΄ λ μ μμ.
- μμ±: νλ‘μΈμ€ μμ± κ³Όμ μμ PCB λ₯Ό λ§λ€λ©°, κΈ°λ³Έμ μΈ PID λ± λ€μν νλ‘μΈμ€ μ 보λ₯Ό λ§λ€μ΄μ μ μ₯ν΄λ μν
- μ€λΉ: μ€ν μ€λΉκ° λμ΄ CPU ν λΉμ κΈ°λ€λ¦¬λ μν
- μ€ν: νλ‘μΈμ€κ° μ€μ λ‘ μ²λ¦¬κ° λλ μνμ΄λ©°, μ΄ κ³Όμ μ κ°λ¨νκ² λͺ λ Ήμ΄λ₯Ό μ²λ¦¬νλ μν
- λκΈ°: νλ‘μΈμ€ μ€νμ€μ μ€λ μκ°μ΄ 걸리λ I/O μμ μ΄ λ°μν΄ CPUλ₯Ό μμμ μ κΉ λ³΄λ₯ν μν
- μ’ λ£: νλ‘μΈμ€κ° μ’ λ£λμ΄ λ μ΄μ μ€νλμ§ μλλ‘ λλ μν
(5) νλ‘μΈμ€ μν κ΄λ¦¬ - νλ‘μΈμ€ μν λ³ν

- 1. νλ‘μΈμ€ μνλ μμ± μνμμ μ€λΉ μνλ‘λ§ κ° μ μμ.
- 2. λμ€ν¨μΉ: μ€λΉ νμμ νΉμ νλ‘μΈμ€μ μμκ° λλ€λ©΄ μ€ν μνλ‘ μ΄λμ νκ² λλλ° μ΄λ CPUλ₯Ό ν λΉ λ°λ μνκ° λλ€. μ΄ κ³Όμ μ λμ€ν¨μΉλΌκ³ νλ€.
- 3. ν λΉμκ° λ§λ£: μ€νμ€μ΄λ νλ‘μΈμ€κ° λλμ§ μμμ§λ§, ν λΉ λ°μ μκ°μ΄ λλκ² λλ©΄ λ€μ μ€λΉ νλ‘ λμκ° μ€λΉ μνκ° λλ€. λν, ν λΉ μκ°μ΄ λλμ§ μμμ§λ§, μ°μ μμκ° λμ νλ‘μΈμ€κ° CPUλ₯Ό λΊμ΄κ°λ κ²½μ°μλ μ€λΉ μνκ° λλ€.
- - μ¦, μ€νμμ μ€λΉλ‘ λμ΄κ°λ κ²½μ°λ νμμ μν΄μ λμ΄κ°λ κ²½μ°μ.
- 4. μ΄λ²€νΈ λκΈ°: μ€λ μκ°μ΄ 걸리λ I/O λ±μ μμ μ΄ λ°μν λμλ μ΄λ²€νΈ λκΈ°κ° λμ΄ λκΈ° μνκ° λλ€.
- - μ΄ κ²½μ°μλ νλ‘μΈμ€ μμ²΄κ° μμμ μν΄μ CPUλ₯Ό λ°λ©νκ³ λκΈ°νλ κ²½μ°μ.
- 5. μ¬κ° 쑰건 λ§μ‘±: I/O μμ μ΄ λλ μΈν°λ½νΈλ₯Ό λ°μΌλ©΄ ν΄λΉ νλ‘μΈμ€λ μ€λΉ νλ‘ λμκ° μ€λΉ μνκ° λλ€.
- 6. μ΄ν νλ‘μΈμ€μ λͺ λ Ήμ΄ λ€ λλκ² λλ©΄ μ’ λ£ μνκ° λμ΄ μ’ λ£κ° λλ€.
(6) λΆλͺ¨ νλ‘μΈμ€μ μμ νλ‘μΈμ€

- νΉμ νλ‘μΈμ€ λ΄λΆμμ μμ€ν νΈμΆμ ν΅ν΄ λ λ€λ₯Έ νλ‘μΈμ€λ₯Ό λ§λλ κ²½μ° λΆλͺ¨μ μμ κ΄κ³κ° λ¨.
- μ½κ²λ§ν΄, λΆλͺ¨ νλ‘μΈμ€ λ΄λΆμμ μμ€ν νΈμΆμ ν΄μ λ§λ€μ΄μ§λ νλ‘μΈμ€λ μμ νλ‘μΈμ€κ° λ μ μμ.
- μ΄λ° λΆλͺ¨, μμ νλ‘μΈμ€ κ΄κ³λ μ΄μ체μ κ° λΆν λ μ§νλΆν° μ»΄ν¨ν°λ₯Ό λλ μκ°κΉμ§ λͺ¨λ νλ‘μΈμ€λ μμμ μ¬μ¬λ‘ μ°κ²°λμ΄μμ.
- μ¦, νμ΄μ νλ‘μΈμ€μΈ PID 0λ²μμ λ€λ₯Έ νλ‘μΈμ€κ° μ€νμ΄ λλ€.
- PID 0λ²μ ν΅ν΄μ λ°±κ·ΈλΌμ΄λμμ λμκ°λ κ°μ’ μλΉμ€(λ°±μ , λ€νΈμν¬ μ λ°μ΄νΈ λ±) κ΄λ¦¬νλ νλ‘κ·Έλ¨, λ‘κ·ΈμΈ λΉλ°λ²νΈ λ± λ³΄μ λ΄λΉνλ νλ‘κ·Έλ¨ λ± λ€μν νλ‘μΈμ€κ° μ€νμ΄ λκ² λ¨.
- ** κ²°κ΅ μ¬μ©μκ° νλ‘κ·Έλ¨μ μ€νμν€κ² λλ©΄, λ°ννλ©΄μ λ΄λΉνλ λ°ννλ©΄ νλ‘μΈμ€κ° μμ© νλ‘κ·Έλ¨μ μ€νμμΌμ λΆλͺ¨ μμ κ΄κ³κ° λλ μ리μ. **
(7) νλ‘μΈμ€ μμ± - μμ€ν νΈμΆ

- UNIX, Linux μ κ²½μ°λ fork() ν¨μλ₯Ό ν΅ν΄μ νλ‘μΈμ€ μμ± μμ€ν νΈμΆμ ν μ μλ€.
- νΉμ νλ‘μΈμ€ λ΄λΆμμ fork() μμ€ν νΈμΆμ νκ² λλ©΄, ν΄λΉ νλ‘μΈμ€μ PIDλ§ λ€λ₯Έ λμΌν νλ‘μΈμ€κ° 볡μ κ° λμ΄μ λ§λ€μ΄μ§κ² λλλ°, μ΄λ λΆλͺ¨ νλ‘μΈμ€λ ν¨μμ νΈμΆ κ²°κ³Όλ‘ μμ νλ‘μΈμ€μ PID λ²νΈλ₯Ό λ°μ μ μμ.
- μ¦, PID μ 보λ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ λΆλͺ¨ μμ κ΄κ³κ° μ±λ¦½μ΄ λμ΄ λΆλͺ¨λ μμ PID λ₯Ό ν΅ν΄μ μμ νλ‘μΈμ€λ₯Ό μ’ λ£λ₯Ό μν¬ μ μμ.
- λ°λ©΄, μμ νλ‘μΈμ€μ fork() μ λ°ν κ°μΌλ‘λ 0λ² PID λ₯Ό κ°μ§κ³ λμ΄, λ³ΈμΈμ΄ μμμμ μ μ μμ.

- exec(): μμ νλ‘μΈμ€λ λΆλͺ¨ νλ‘μΈμ€μλ λ€λ₯Έ νλ‘κ·Έλ¨μ μ€νμν€λ κ²½μ° νΈμΆνλ μμ€ν μ½ ν¨μλ€.
- fork() λ₯Ό νΈμΆνμ λ, μμ νλ‘μΈμ€μ κ²½μ° 0μ λ°κΈ° λλ¬Έμ pid κ° 0μΈ κ²½μ° exec(prg2); λ₯Ό μννκ² λλ©΄, exec() ν¨μ λ§€κ°λ‘ λκΈ΄ prg2 λΌλ νλ‘κ·Έλ¨μ μ€νμν€κ² λλ€. μ΄λ κ² λλ©΄, prg2 μ ν΄λΉνλ νλ‘κ·Έλ¨ μ½λλ‘ λ°λλ©°, λ°μ΄ν° μμλ λ°λκ² λλ€. μ¦, λΆλͺ¨ νλ‘μΈμ€μ λ€λ₯Έ μμ νλ‘μΈμ€λ₯Ό μ€ννκ² λ¨.

- Windowsμ κ²½μ° CreateProcess() λͺ λ Ήμ΄λ₯Ό ν΅ν΄μ νλ‘μΈμ€λ₯Ό λ§λ€ μ μμ.
- CreateProcess(prg2, ..., &pid); ν¨μμμ prg2 λ νΉμ νλ‘κ·Έλ¨μ μ€νμν€κ² λ€λ μλ―Έμ΄κ³ , pid λ λ§λ€μ΄μ§λ μμ νλ‘μΈμ€μ PID λ₯Ό λ°κ² λ€λ μλ―Έμ΄λ€.
- ** 리λ μ€μ λ€λ₯΄κ² ν λ²μ 볡μ κ° μλ νΉμ νλ‘κ·Έλ¨μ μνμν€λ©°, pid λ₯Ό 리ν΄νκ² λ¨. **
(8) νλ‘μΈμ€ μ’ λ£

- 1. λΆλͺ¨ μμ κ΄κ³λ₯Ό λ λ λ¨μν νλ‘μΈμ€κ° λͺ¨λ μ²λ¦¬λ₯Ό μλ£νλ©΄ μ μμ μΌλ‘ μ’ λ£κ° λκ² λ¨.
- 2. λΆλͺ¨ νλ‘μΈμ€μ μν΄μ μμ νλ‘μΈμ€κ° κ°μ λ‘ μ’ λ£κ° λ μ μμ.
- μ΄ κ³Όμ μμ νλ‘μΈμ€ μ’ λ£ μμ€ν νΈμΆμ ν μ μλλ°, μ΄κ² κ°λ₯ν μ΄μ λ μμ νλ‘μΈμ€λ₯Ό λ§λ€ λ PIDλ₯Ό μ»μκΈ° λλ¬Έμ.
- 3. λΆλͺ¨ νλ‘μΈμ€κ° μ’ λ£λλ κ²½μ°μ λΆλͺ¨ νλ‘μΈμ€κ° μμ νλ‘μΈμ€λ₯Ό μ’ λ£ μν¬ μ μκΈ° λλ¬Έμ μ΄μ체μ κ° μμ νλ‘μΈμ€λ₯Ό λμ μ’ λ£ μν€κ² λ¨.
β 2. μ°λ λ
(1) μ ν΅μ μΈ νλ‘μΈμ€

- μμ λ°°μ΄ λ΄μ©μ μ ν΅μ μΈ νλ‘μΈμ€ λ°©μμ΄λ©°, νλμ νλ‘κ·Έλ¨μ μ€νμν€κΈ° μν μ ν΅μ μΈ λ°©μμ κΈ°λ³Έ λ¨μλ‘ λ°°μ.
- μ¦, μ ν΅μ μΈ νλ‘μΈμ€λ νλμ λ©λͺ¨λ¦¬ κ΅¬μ‘°λ§ κ°μ§κ³ μμΌλ©°, νλμ μ μ΄νλ¦μΌλ‘λ§ νλ₯΄κ² λ¨. μ¦, λ€μ€ μ²λ¦¬ λΆκ°λ₯
(2) μ°λ λ(thread)

- νλμ νλ‘μΈμ€ λ΄μμμ λ€μ€μ²λ¦¬λ₯Ό μν΄μ λ§λ€μ΄μ§ κ°λ μ.
- μ ν΅μ μΈ νλ‘μΈμ€μμ μ€νμ νλ‘μΈμ€ νλλ§μ μλ―Ένμ§λ§, μ°λ λ κ°λ μ λ±μ₯μΌλ‘ μ€ν λ¨μλ μ°λ λλ‘ λ³κ²½μ΄ λ¨.
- λν, νλ‘μΈμ€κ° λμ€ν¨μΉμ λ¨μμμ§λ§, μ°λ λ κ°λ μ λ±μ₯μΌλ‘ μ°λ λκ° λμ€ν¨μΉμ λ¨μλ‘ λ³κ²½μ΄ λ¨.
- λμ μμ μμ μ λ¨μ μ체λ νλ‘μΈμ€κ° λ¨. μ¦, νλμ νλ‘μΈμ€ λ΄μ λ©λͺ¨λ¦¬ ꡬ쑰λ νλλ‘ ν΅ν©μ΄ λμ΄μλ μνμ.
- νλ‘μΈμ€ λ΄μμ λ©λͺ¨λ¦¬ ꡬ쑰μ PCB λ λμΌνμ§λ§, μ€ν μμμ΄ νλ‘μΈμ€ μ§μ κ΄λ¦¬μμ μ¬λΌμ§.
- μ¬λ¬ μ μ΄λ₯Ό μν΄μ PC λ μ§μ€ν°κ° μ°λ λλΉ νλμ© κ°μ§κ² λ¨.
- ** μ΄λ¬ν κ΅¬μ‘°κ° κ°λ₯ν μ΄μ λ νλμ¨μ΄μ μΌλ‘ CPU μ€κ³ λ μ½μ΄ λΉ μ€λ λ μμ μν₯μ λ°μΌλ©°, μ€λ λμμ λ§κ² λ μ§μ€ν° μΈνΈλ₯Ό νλμ© κ°μ§κ² λ¨. **

(3) μ°λ λμ νλ‘μΈμ€

- μ°λ λ λ¨μκ° μ€νμ νλμ© κ°μ§κ³ μλ κ΅¬μ‘°κ° λμμ.
- μ¦, μ°λ λ λ΄λΆμ λ μ§μ€ν°, μν λ μ§μ€ν°, μ€ν λ μ§μ€ν°.. λ±μ΄ μ¬λ¬ μΈνΈλ‘ μ‘΄μ¬νκ² λ¨.
- μ€νμλ μλΈνλ‘κ·Έλ¨λ€μ νΈμΆλλ κ΄κ³λ€μ΄ μ μ₯μ΄ λμ΄μμ. μ¦, μ°λ λμ νΈμΆμ μ½λ λΌμΈ μ 보λ₯Ό κ°μ§κ³ μμ.
(4) λ€μ€ μ°λ λλ‘ κ΅¬μ±λ νλ‘μΈμ€

- νλμ¨μ΄μ μΌλ‘ μ½μ΄μμ μ°λ λ μκ° λ€μ€μΌλ‘ λμ΄μλ κ²½μ° μ¬λ¬ μ°λ λκ° ν¨μ¨μ μΌλ‘ λ³λ ¬λ‘ μ²λ¦¬κ° κ°λ₯ν¨.
- μν μ λλ μ μ²λ¦¬μλλ₯Ό λμΌ μλ μμ.
'πλ°©μ‘ν΅μ λνκ΅ > βοΈμ΄μ체μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [μ΄μ체μ ] 6κ° - κ΅μ°©μν(1) (0) | 2026.03.20 |
|---|---|
| [μ΄μ체μ ] 5κ° - λ³ν νλ‘μΈμ€(2) (0) | 2026.03.18 |
| [μ΄μ체μ ] 4κ° - λ³ν νλ‘μΈμ€(1) (0) | 2026.03.06 |
| [μ΄μ체μ ] 3κ° - νλ‘μΈμ€ μ€μΌμ€λ§ (0) | 2026.02.27 |
| [μ΄μ체μ ] 1κ° - μ΄μ체μ μκ° (0) | 2026.02.18 |