Computer Science/Operating System15 6 νλ‘μΈμ€ μνμ κ³μΈ΅ ꡬ쑰 νλ‘μΈμ€ μνλ μ»΄ν¨ν° μμ€ν μμ μ€ν μ€μΈ νλ‘κ·Έλ¨μ΄λ μμ μ νμ¬ μνλ₯Ό λνλ λλ€. μΌλ°μ μΌλ‘ λ€μκ³Ό κ°μ μ¬λ¬ κ°μ§ μνλ‘ λλ μ μμ΅λλ€. μμ±(New): νλ‘μΈμ€κ° μμ±λκ³ μμ§ μ€μΌμ€λ§λμ§ μμ μνμ λλ€. μ€λΉ(Ready): νλ‘μΈμ€κ° CPUλ₯Ό ν λΉλ°κΈ°λ₯Ό κΈ°λ€λ¦¬λ μνμ λλ€. μ΄ μνμμλ λͺ¨λ νμν μμμ ν λΉλ°μ μ€νμ μμν μ μλ μνμ λλ€. μ€ν(Running): CPUλ₯Ό ν λΉλ°μ μ€μ λ‘ μ½λκ° μ€νλκ³ μλ μνμ λλ€. νλ‘μΈμ€κ° μ΄ μνμ μλ€λ κ²μ νμ¬ CPUλ₯Ό μ¬μ©νκ³ μλ€λ μλ―Έμ λλ€. λκΈ°(Waiting λλ Blocked): νλ‘μΈμ€κ° μ΄λ€ μ΄λ²€νΈκ° λ°μνκΈ°λ₯Ό κΈ°λ€λ¦¬λ μνμ λλ€. μ΄λ²€νΈκ° λ°μνλ©΄ νλ‘μΈμ€λ λ€μ μ€λΉ μνλ‘ μ νλ©λλ€. μ’ λ£(Terminate.. 2023. 12. 28. 5 User Space in Process (νλ‘μΈμ€ μ¬μ©μ μμ) λ©λͺ¨λ¦¬ κ΄λ¦¬μ κΈ°λ³Έ κ°λ μ€ νλλ μ¬μ©μ μμ(User Space)κ³Ό 컀λ μμ(Kernel Space) μ¬μ΄μ ꡬλΆμ λλ€. 컀λ μμ (Kernel Space): μ΄μ체μ 컀λμ΄ λμνλ μμμ λλ€. μ΄ λΆλΆμ μμ€ν 리μμ€ λ° μ΄μ체μ μ ν΅μ¬ κΈ°λ₯μ μ§μνλ λ°μ΄ν° λ° μ½λλ‘ μ±μμ Έ μμ΅λλ€. 컀λ μμμ μΌλ°μ μΌλ‘ μμ€ν λ 벨μ κΆνμ΄ νμν μμ λ€μ μ²λ¦¬ν©λλ€. μ¬μ©μ λͺ¨λ (User Space): μ¬μ©μ μμμ μ¬μ©μ μμ© νλ‘κ·Έλ¨μ΄ μ€νλκ³ λμνλ 곡κ°μ λλ€. μ¬κΈ°μλ ν μ€νΈ νΈμ§κΈ°, μΉ λΈλΌμ°μ , κ²μκ³Ό κ°μ μμ© νλ‘κ·Έλ¨λ€μ΄ μ¬μ©νλ λ©λͺ¨λ¦¬κ° ν¬ν¨λ©λλ€. μ΄ κ³΅κ°μμ μμ© νλ‘κ·Έλ¨μ μμ€ν 리μμ€μ μ νλ μ κ·Όμ κ°κ² λμ΄ κ²©λ¦¬μ 보μ μμ€μ΄ μ μ§λ©λλ€. μ¬μ©μ μμμλ λ€μν μμλ€μ΄.. 2023. 12. 23. 4 Process Outline (+Kernel Space) νλ‘μΈμ€λ μ»΄ν¨ν° κ³Όνμμ μ€μν κ°λ μΌλ‘, μ€ν μ€μΈ νλ‘κ·Έλ¨μ λνλ λλ€. νλ‘μΈμ€λ μ΄μ 체μ μμ κ΄λ¦¬λλ©°, κ°κ° λ 립μ μΌλ‘ μ€νλλ νλ‘κ·Έλ¨μ μΈμ€ν΄μ€λΌκ³ μκ°ν μ μμ΅λλ€. λ€μν μ΄μ 체μ μμλ νλ‘μΈμ€λ₯Ό μμ±, κ΄λ¦¬, μ€μΌμ€λ§νκ³ μμμ ν λΉνλλ° μ¬μ©λλ μ¬λ¬ λ©μ»€λμ¦μ΄ μμ΅λλ€. ν¬κ·ΈλΌμ΄λ νλ‘μΈμ€ (Foreground Process) ν¬κ·ΈλΌμ΄λ νλ‘μΈμ€λ νμ¬ μ¬μ©μμ μ§μ μνΈ μμ©νλ νλ‘μΈμ€λ₯Ό λνλ λλ€. μ¬μ©μκ° μ€νν νλ‘κ·Έλ¨μ΄λ λͺ λ Ήμ΄ ν¬κ·ΈλΌμ΄λμμ μ€νλλ©΄ ν΄λΉ μμ μ΄ μλ£λ λκΉμ§ μ μ΄λ₯Ό κ³μ μ μ§νλ©°, μ¬μ©μλ κ·Έ μ§ν μν©μ λ³Ό μ μμ΅λλ€. μ£Όλ‘ ν°λ―Έλ μ°½μμ μ€νλ νλ‘μΈμ€κ° ν¬κ·ΈλΌμ΄λμμ λμν©λλ€. λ°±κ·ΈλΌμ΄λ νλ‘μΈμ€ (Background Process) λ°±κ·Έ.. 2023. 12. 23. 3 Dual Mode (User & Kernel mode) + System Call μ΄μ체μ μμλ μ£Όλ‘ μ¬μ©μ λͺ¨λ(User Mode)μ 컀λ λͺ¨λ(Kernel Mode)λΌλ λ κ°μ§ μ€ν λͺ¨λλ₯Ό μ¬μ©ν©λλ€. μ΄λ₯Ό μ΄μ€ λͺ¨λ(Dual Mode)λΌκ³ λ ν©λλ€. μ¦, μ΄μ€ λͺ¨λλ CPUκ° λͺ λ Ήμ΄λ₯Ό μ€ννλ λͺ¨λλ₯Ό ν¬κ² μ¬μ©μ λͺ¨λμ 컀λλͺ¨λλ‘ κ΅¬λΆνλ λ°©μμ μλ―Έν©λλ€. μ λ κ°μ§ λͺ¨λκ° μμκΉμ? μΌλ°μ μΌλ‘ λ€μν μμ© νλ‘κ·Έλ¨λ€μ΄ νλμ¨μ΄μ 무차λ³μ μΌλ‘ μ κ·Όνλ©΄ μνν μ μκΈ° λλ¬Έμ μ΄μ체μ λ μ΄λ₯Ό μ΄μ€ λͺ¨λλ₯Ό μ¬μ©νμ¬ ν΄κ²°νκ³ μμ΅λλ€. μ¬μ©μ λͺ¨λ (User Mode) μ¬μ©μ λͺ¨λλ μ΄μ체μ μλΉμ€μ μ 곡 μμ΄ μμ© νλ‘κ·Έλ¨μ΄ μ€νλλ νκ²½μ λλ€. μμ© νλ‘κ·Έλ¨μ μ¬μ©μ λͺ¨λμμ μ€νλλ©°, μ νλ μμκ³Ό κΆνμ μ κ·Όν μ μμ΅λλ€. μ¬μ©μ λͺ¨λμμλ μ§μ μ μΌλ‘ μμ€ν μμμ μ κ·Ό.. 2023. 12. 21. 2 컀λ (Kernel) 컀λμ μ΄μ체μ μ ν΅μ¬μ΄λ©°, νλμ¨μ΄μ μννΈμ¨μ΄ κ°μ μνΈ μμ©μ κ΄λ¦¬νκ³ μ μ΄νλ μν μ ν©λλ€. λ€μν μ΄μ체μ λ€μ΄ λ€μν 컀λμ μ¬μ©νλ©°, κ°κ°μ 컀λμ νΉμ μ΄μ체μ μ μ΅μ νλμ΄ μμ΅λλ€. μμ κ·Έλ¦Όκ³Ό κ°μ΄ μ΄μ체μ λ νλ‘μΈμ€(μμ© νλ‘κ·Έλ¨)λ€μ΄ μμμ μ κ·Όνλ € ν λ μ€μ§ μμ (컀λ)λ§μ ν΅ν΄μ μ κ·Όνλλ‘ ν©λλ€. 컀λμ νΉμ§ 1) νλ‘μΈμ€ κ΄λ¦¬: 컀λμ νλ‘μΈμ€λ₯Ό μμ±νκ³ μ€μΌμ€λ§νμ¬ κ°κ°μ νλ‘μΈμ€μ CPU μκ°μ ν λΉν©λλ€. λν νλ‘μΈμ€ κ°μ ν΅μ κ³Ό λκΈ°νλ₯Ό κ΄λ¦¬ν©λλ€. 2) λ©λͺ¨λ¦¬ κ΄λ¦¬: 컀λμ μμ€ν μ λ©λͺ¨λ¦¬λ₯Ό ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νλ©°, νλ‘μΈμ€μ νμν λ©λͺ¨λ¦¬λ₯Ό ν λΉνκ³ νμν©λλ€. λν κ°μ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νμ¬ λ¬Όλ¦¬μ λ©λͺ¨λ¦¬μ νκ³λ₯Ό 극볡ν©λλ€. 3) νμΌ μμ€ν κ΄λ¦¬: 컀λμ νμΌ λ°.. 2023. 12. 21. 1 Operating System - μ΄μ체μ μ΄μ체μ (Operating System, μ΄ν OS)λ μ»΄ν¨ν° μμ€ν μμ ν΅μ¬μ μΈ μννΈμ¨μ΄λ‘, νλμ¨μ΄μ μμ© μννΈμ¨μ΄ κ°μ μΈν°νμ΄μ€λ₯Ό μ 곡νλ©° μμ€ν μμμ κ΄λ¦¬νκ³ μ‘°μ νλ μν μ ν©λλ€. μ΄λ μ¬μ©μ λ° μμ© νλ‘κ·Έλ¨μ΄ μ»΄ν¨ν° μμμ ν¨κ³Όμ μΌλ‘ νμ©ν μ μκ² ν΄μ£Όλ ν΅μ¬μ μΈ μμ€ν μννΈμ¨μ΄μ λλ€. μ»΄ν¨ν°μ μ΄μ체μ λ νμ€μμ μ λΆμ κ°μ μν μ΄λΌκ³ λ³Ό μ μμ΅λλ€. μ λΆλ λλΌμ μμκ³Ό μμ°μ μ΄λ»κ² ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν κ²μΈκ°λ₯Ό κ³ λ―Όν©λλ€. μ΄μ체μ μμ μ»΄ν¨ν°μ ν λΉλ μμμ μ΄λ»κ² ν¨μ¨μ μΌλ‘ μ¬μ©ν κ²μΈκ°μ λν μΌμ νλ€κ³ ν μ μμ΅λλ€. μ΄μ체μ μ μ£Όμ μν : 1. νλ‘μΈμ€ κ΄λ¦¬ - νλ‘μΈμ€ μ€μΌμ€λ§: μ¬λ¬ μμ© νλ‘κ·Έλ¨μ΄ λμμ μ€νλ λ, μ΄λ€ νλ‘μΈμ€κ° μΈμ μ€νλ μ§λ₯Ό κ²°μ ν©λ.. 2023. 12. 20. μ΄μ 1 2 λ€μ