728x90
μ μ λͺ¨λ(User-Mode)μ 컀λ λͺ¨λ(Kernel-Mode)
- 컀λμμλ μ€μν μμμ κ΄λ¦¬νκΈ° λλ¬Έμ μ¬μ©μκ° ν΄λΉ μμμ μ½κ² μ κ·Όνμ§ λͺ»νλλ‘ λ³΄νΈνκΈ° μν΄ λλ¨
- μμ€ν μ μ€μν μν₯μ λ―ΈμΉλ μ°μ°μ 컀λ λͺ¨λμμλ§ μ€νλλλ‘ ν¨μΌλ‘μ¨ νλμ¨μ΄ 보μ μ μ§
- νλ‘μΈμ€κ° μ€νλλ λμ μ μ λͺ¨λμ 컀λ λͺ¨λλ₯Ό λ°λ³΅μ μΌλ‘ λλλ¬
- μ μ μ ν리μΌμ΄μ μ μμ€ν μλΉμ€λ₯Ό νΈμΆν λ μ μ λͺ¨λμμ 컀λ λͺ¨λλ‘ μ ν
μ μ /μ¬μ©μ λͺ¨λ
- μ¬μ©μκ° μ κ·Όν μ μλ μμμ μ νμ μΌλ‘ λκ³ νλ‘κ·Έλ¨μ μμμ ν¨λΆλ‘ μ κ·Όνμ§ λͺ»νλλ‘ νλ λͺ¨λ
- νλμ¨μ΄ μ§μ μ κ·Ό λΆκ°λ₯
- μ½λ μμ±, νλ‘μΈμ€ μ€ν λͺ λ Ή λ± μ€ν κ°λ₯
- μ μ μ ν리μΌμ΄μ μ½λκ° μ€ν
컀λ λͺ¨λ
- λͺ¨λ μμ€ν λ©λͺ¨λ¦¬ λ± νλμ¨μ΄μ μ§μ μ κ·Ό κ°λ₯
- λͺ¨λ CPU λͺ λ Ή μ€ν κ°λ₯
- μ΄μ체μ μ½λλ λλ°μ΄μ€ λλΌμ΄λ² κ°μ 컀λλͺ¨λ μ½λκ° μ€ν
μΈν°λ½νΈ(Interrupt)
- μμ€ν μμ λ°μν λ€μν μ’ λ₯μ μ΄λ²€νΈ or κ·Έλ° μ΄λ²€νΈλ₯Ό μ리λ λ©μ»€λμ¦
- μΈν°λ½νΈ μ νΈκ° λ€μ΄μ€λ©΄ CPUλ₯Ό μ κΉ μ μ§, μ¦κ°μ μΌλ‘ μΈν°λ½νΈλ₯Ό μ²λ¦¬νκΈ° μν΄ μ»€λ μ½λλ₯Ό 컀λ λͺ¨λμμ μ€ν
- ν€λ³΄λ/λ§μ°μ€ λ± IO λλ°μ΄μ€λ‘ μΈν μΈν°λ½νΈ, 0μΌλ‘ λλλ μ°μ μ°μ°μμμ μΈν°λ½νΈ, μ²λ¦¬ μκ°μ΄ λ€ λμμ λμ μΈν°λ½νΈ, νλ‘μΈμ€ μ€λ₯λ‘ μΈν μΈν°λ½νΈ λ± λ°μ
- νλμ¨μ΄ μΈν°λ½νΈ: IO λλ°μ΄μ€μμ λ°μνλ μΈν°λ½νΈ
- μννΈμ¨μ΄ μΈν°λ½νΈ(νΈλ©): 0μΌλ‘ λλλ μ°μ μ°μ°, μλͺ»λ λ©λͺ¨λ¦¬ κ³΅κ° μ κ·Ό λ± νλ‘μΈμ€ μ€λ₯λ‘ λ°μνλ μΈν°λ½νΈ
μΈν°λ½νΈ μ²λ¦¬ κ³Όμ
- μΈν°λ½νΈ μμ²
- νλ‘μΈμ€ μ€ν μ€λ¨ (μ€ν μ€μ΄λ λͺ λ ΉκΉμ§λ§ μν)
- PCB(Process Control Block)μ νμ¬ νλ‘μΈμ€ μν μ μ₯, PC(Program Counter)μ λ€μ μ€νν λͺ λ Ή μ£Όμ μ μ₯
- μΈν°λ½νΈ 벑ν°λ₯Ό μ½κ³ μΈν°λ½νΈ μ²λ¦¬ λ£¨ν΄ μ€ν (μΈν°λ½νΈ μ²λ¦¬)
- μ²λ¦¬ μλ£ μ μ μ₯νλ νλ‘μΈμ€ μν 볡ꡬ
- μΈν°λ½νΈ ν΄μ λ° μ€λ¨λ νλ‘μΈμ€ μ¬κ°
μμ€ν μ½(System Call)
- μ΄μ체μ κ° μ»€λμ μ κ·ΌνκΈ° μν μΈν°νμ΄μ€
- νλ‘κ·Έλ¨μ΄ OS컀λμ΄ μ 곡νλ μλΉμ€λ₯Ό μ΄μ©νκ³ μΆμ λ μμ€ν μ½ λ°μ
- μ μ λͺ¨λμμ 컀λ λͺ¨λ μμμ κΈ°λ₯μ μ¬μ©ν μ μλλ‘ μ»€λ λͺ¨λλ‘ μ μ μ ν (μμ€ν μ½μ κΈ°λ°μΌλ‘ μ μ μ 컀λ λΆλ¦¬)
- νλ‘μΈμ€/μ€λ λ μ μ΄, νμΌ μ‘°μ, μ₯μΉ μ‘°μ, μμΌ, ν΅μ λ±κ³Ό κ΄λ ¨ν μμ€ν μ½ λ°μ
νμΌ Read μμ
βοΈ μ°Έκ³
728x90