Live Today
[μ΄μ체μ ] μΈν°λ½νΈ λ³Έλ¬Έ
πΉμΈν°λ½νΈλ ?
CPUκ° νΉμ κΈ°λ₯μ μννλ λμ€μ κΈνκ² λ€λ₯Έ μΌμ μ²λ¦¬νκ³ μ ν λ μ¬μ©ν μ μλ κΈ°λ₯μ΄λ€. λλΆλΆμ μ»΄ν¨ν°λ ν κ°μ CPUλ₯Ό μ¬μ©νλ―λ‘ ν μκ°μλ νλμ μΌ λ°μ μ²λ¦¬ν μ μκΈ° λλ¬Έμ μ΄λ€ μΌμ μ²λ¦¬νλ λμ€μ μ°μ μμκ° κΈν μΌμ μ²λ¦¬ν νμκ° μμ λ λμ²ν μ μλ λ°©μμ΄ νμνλ€.
μλ₯Ό λ€λ©΄, ν€λ³΄λμ ν€λ₯Ό νλ λλ₯΄λ©΄, λλ €μ§ ν€ μ½λ κ°μ΄ ν€λ³΄λ λ²νΌμ μ λ ₯λ ν CPUμ μΈν°λ½νΈκ° κ±Έλ¦°λ€. κ·ΈλΌ νμ¬ μ²λ¦¬νλ μμ μ λν μ 보λ₯Ό μμ§νμ¬ μ μ₯ν λ€μ μΈν°λ½νΈ μλΉμ€ 루ν΄(Interrupt Service Routine)μ μννλ€.(μ΄ κ²½μ°μλ ν€λ³΄λ λ²νΌμ μλ ν€ μ½λ κ°μ κ°μ Έκ°λ μΌμ νλ€.) μ΄λ κ² μΈν°λ½νΈ μ²λ¦¬λ₯Ό λ§μΉ νμλ λ€μ μ΄μ μ μ²λ¦¬νλ μμ μΌλ‘ λμκ°λ€.
|μΆμ²: λ무μν€
- μΈν°λ½νΈλ, CPUκ° νλ‘κ·Έλ¨μ μ€ννκ³ μμ λ, μ μΆλ ₯ νλμ¨μ΄ λ±μ μ₯μΉλ λλ μμΈμν©μ΄ λ°μνμ¬ μ²λ¦¬κ° νμν κ²½μ° CPUμ μλ € μ²λ¦¬νλ κΈ°μ μ λλ€.
- λλ μμΈ μν©μ΄ μμ λ, μμΈμν© λ°μμ μ΄μ체μ μ μλ¦¬κ³ , μ΄μ체μ κ° ν΄λΉ νλ‘μΈμ€ μ€ν μ€μ§μ ν¨κ» μλ¬λ₯Ό νμνκ² λ©λλ€.
Interrupt: λ§μ΄ν¬λ‘νλ‘μΈμ(CPU)κ° νλ‘κ·Έλ¨μ μ€ννκ³ μμ λ, μ μΆλ ₯ νλμ¨μ΄ λ±μ μ₯μΉλ λλ μμΈμν©μ΄ λ°μνμ¬ μ²λ¦¬κ° νμν κ²½μ°μ λ§μ΄ν¬λ‘νλ‘μΈμμκ² μλ € μ²λ¦¬ν μ μλλ‘ νλ κ² - μΆμ²: μν€λ°±κ³Ό
βοΈ νλμ¨μ΄ μΈν°λ½νΈ
νλμ¨μ΄κ° λ°μμν€λ μΈν°λ½νΈλ‘, CPUκ° μλ λ€λ₯Έ νλμ¨μ΄ μ₯μΉκ° cpuμ μ΄λ€ μ¬μ€μ μλ €μ£Όκ±°λ cpu μλΉμ€λ₯Ό μμ²ν΄μΌ ν κ²½μ° λ°μμν¨λ€.
βοΈ μννΈμ¨μ΄ μΈν°λ½νΈ
μννΈμ¨μ΄κ° λ°μμν€λ μΈν°λ½νΈμ΄λ€. μννΈμ¨μ΄(μ¬μ©μ νλ‘κ·Έλ¨)κ° μ€μ€λ‘ μΈν°λ½νΈ λΌμΈμ μΈν νλ€.
μ’ λ₯: μμΈ μν©, system call
μΈν°λ½νΈλ₯Ό λ°μμν€κΈ° μν΄ νλμ¨μ΄/μννΈμ¨μ΄λ cpuλ΄μ μλ μΈν°λ½νΈ λΌμΈμ μΈν νμ¬ μΈν°λ½νΈλ₯Ό λ°μμν¨λ€. λ°λΌμ cpuλ λ§€λ² λͺ λ Ήμ μννκΈ° μ μ μΈν°λ½νΈλΌμΈμ΄ μΈν λμ΄μλμ§λ₯Ό κ²μ¬νλ€.
βοΈ μΈν°λ½νΈμ μ²λ¦¬ κ³Όμ μ λ€μκ³Ό κ°λ€.
1οΈβ£ μ£Ό νλ‘κ·Έλ¨μ μ€ννλ€.
2οΈβ£ μΈν°λ½νΈμ λ°μμ κ°μ§νλ€.
3οΈβ£ ISRμ μ²λ¦¬νκ³ λ λ€ μ€νμ€μ΄λ μ£Ό νλ‘κ·Έλ¨μΌλ‘ λ€μ 볡κ·ν΄μΌ νκΈ° λλ¬Έμ λ³΅κ· μ£Όμλ₯Ό 미리 μ μ₯νλ€.
4οΈβ£ μΈν°λ½νΈ λ²‘ν° ν μ΄λΈμμ ISR μ£Όμκ°μ μ»μ΄μ ISRλ‘ μ ννλ€.
5οΈβ£ ISRμμ μΈν°λ½νΈ λ°μ μν©μ μ²λ¦¬νλ€.
6οΈβ£ λ³΅κ· μ£Όμλ₯Ό κ°μ Έμ¨λ€.
7οΈβ£ μ£Ό νλ‘κ·Έλ¨μμ λ§μ§λ§μΌλ‘ μ€νμ€μ΄λ μ£Όμλ₯Ό κ°μ Έμ¨ λ€, 1λ²μΌλ‘ λμκ° μ μ μννλ€.
π μ°Έκ³ λ§ν¬
'Computer Science > μ΄μ체μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ΄μ체μ ] κ²½μ 쑰건 (Race Condition) (0) | 2023.02.08 |
---|---|
[μ΄μ체μ ] Context Switching (0) | 2023.02.01 |
[μ΄μ체μ ] νλ‘μΈμ€ λ©λͺ¨λ¦¬ ꡬ쑰 (0) | 2023.01.31 |
[μ΄μ체μ ] νλ‘μΈμ€ μμ± λ¨κ³ (0) | 2023.01.30 |
[μ΄μ체μ ] νλ‘μΈμ€ μν (0) | 2023.01.29 |