View
μΈν°λ½νΈ
π‘ μΈν°λ½νΈ (Interrupt)
: CPUκ° νΉμ κΈ°λ₯μ μννλ λμ€μ κΈνκ² λ€λ₯Έ μΌμ μ²λ¦¬νκ³ μ ν λ μ¬μ©ν μ μλ κΈ°λ₯
λλΆλΆμ μ»΄ν¨ν°λ ν κ°μ CPUλ₯Ό μ¬μ©νλ―λ‘ ν μκ°μλ νλμ μΌ λ°μ μ²λ¦¬ν μ μλ€.
λ°λΌμ ,μ΄λ€ μΌμ μ²λ¦¬νλ λμ€μ μ°μ μμκ° κΈν μΌ
μ μ²λ¦¬ν νμκ° μμ λ λμ²ν μ μλ λ°©μ νμνλ€ → μΈν°λ½νΈ
π‘ μΈν°λ½νΈ (Interrupt) νμν μ΄μ
μ μ ν μ€μΌμ€λ¬
λ₯Ό μλ‘ λ€λ©΄ νλ‘μΈμ€κ° Running μ€μ μ€μΌμ€λ¬μ μν΄ μ€λ¨λκ² λλ€.
→ μ΄μ λ λ€λ₯Έ νλ‘μΈμ€λ‘ κ΅μ²΄νκΈ° μν¨μΌλ‘, κ·Έλ κ² νκΈ° μν΄μλ μ€μΌμ€λ¬μ μ½λκ° μ€νμ΄λμ νμ¬ μ§νμ€μΈ νλ‘μΈμ€λ₯Ό μ€μ§μν¬ μ μμ΄μΌ νλ€. μλνλ©΄ μ€μΌμ€λ¬λ νλμ νλ‘κ·Έλ¨μ΄λκΉ !!
κ·Έλ¬λ νλ‘μΈμ€κ° μ€μ€λ‘ κ²°μ νλκ²μ μ§ν μ€μ I/Oμ₯μΉ νΉμ λ€λ₯Έ μμ μ μ§νν΄μΌ ν΄μ Block μνκ° λλκ²κ³Ό νλ‘μΈμ€κ° μ’ λ£λμ Exitμνκ° λλ κ²μ΄λ€.=. μ¦, Running μνμμλ μ€μΌμ€λ¬μμν΄ κ°μ λ‘ Readyμνκ° λλ κ²μΌλΏ, νλ‘μΈμ€κ° μ€μ€λ‘ μ€λ¨νλκ²μ΄ μλλΌ μ€μΌμ€λ¬κ° κ°μ λ‘ μ€λ¨μ μν€λ κ²μ΄κ³ μΈν°λ½νΈλ μ΄λ¬ν λΆλΆμμ νμν κΈ°λ₯μ΄λ€.
*μ μ ν κΈ°λ²: νλ‘μΈμ€ running μ€μ μ€μΌμ₯΄λ¬κ° μ΄λ₯Ό μ€λ¨μν€κ³ λ€λ₯Έ νλ‘μΈμ€λ‘ κ΅μ²΄ κ°λ₯
π‘μΈν°λ½νΈ μ°μ μμ
μ΄λ κ² μΈν°λ½νΈκ° ν κ°μ©λ§ μ€νλλ©΄ μ°Έ μ’κ² μ§λ§ μ¬λ¬ μΈν°λ½νΈκ° λμμ λ°μνλ κ²½μ°λ λ§μ΄ μ‘΄μ¬νλ€. μ΄ λ ν κ°μ CPUμΈ μν©μ΄λΌλ©΄ λμμ μ¬λ¬ κ°μ μΈν°λ½νΈκ° λ°μνλ€λ©΄ μ°μ μμλ₯Ό μ ν΄μ μμ°¨μ μΌλ‘ μ²λ¦¬ν΄μΌ νλ€. μ΄λ₯Ό μΈν°λ½νΈ μ°μ μμλΌ νκ³ μ΄λ° μ°μ μμλ μλμ κ°μ΄ μ€μνκ³ μ¬κ°ν μΈν°λ½νΈκ° μ°μ μ μΌλ‘ μ²λ¦¬λμ΄μΌ νλ€.
- μ μ 곡κΈμ μ΄μ
- CPUμ κΈ°κ³μ μΈ μ€λ₯
- μΈλΆ μ νΈμ μν μΈν°λ½νΈ
- μ μΆλ ₯ μ μ‘ μμ² λ° μ μ‘ μλ£, μ μ‘ μ€λ₯
- νλ‘κ·Έλ¨ κ²μ¬ μΈν°λ½νΈ
- μνΌλ°μ΄μ νΈμΆ(SVC μΈν°λ½νΈ)
π‘ λ΄λΆ μΈν°λ½νΈμ μΈλΆ μΈν°λ½νΈ
νλμ¨μ΄ μΈν°λ½νΈμ μννΈμ¨μ΄ μΈν°λ½νΈ λκ°μ§ κ²½μ°λ‘ λλλ κ²½μ°λ μμ§λ§, μ¬κΈ°μλ λ΄μΈλΆλ₯Ό μκ°νκ² λ€.
μΈλΆ μΈν°λ½νΈ
: μ μΆλ ₯ μ₯μΉ, μ μ λ±μ μΈλΆμ μΈ μμΈμ μν΄ λ°μνλ μΈν°λ½νΈ
- μ μ μ΄μ μΈν°λ½νΈ: μ μ μ΄λ μ μμ΄ μ΄μμ΄ μλ κ²½μ°
- κΈ°κ³ κ³ μ₯ μΈν°λ½νΈ: CPUλ±μ κΈ°λ₯μ μΈ λμ μ€λ₯κ° λ°μν κ²½μ°
- μ μΆλ ₯ μΈν°λ½νΈ(I/O Interrupt): μ μΆλ ₯μ μ’ λ£ λ±μ μ΄μ λ‘ CPUμ μνμ μμ²νλ μΈν°λ½νΈ. → ν€λ³΄λ, λ§μ°μ€, μ μ₯μ₯μΉ, νλ¦°ν° λ±λ±
λ΄λΆ μΈν°λ½νΈ
: μλͺ»λ λͺ λ Ήμ΄λ λ°μ΄ν°λ₯Ό μ¬μ©ν λ λ°μνλ μΈν°λ½νΈ
- 0μΌλ‘ λλλ κ²½μ°
- μ€λ²νλ‘μ° λλ μΈλνλ‘μ°κ° λ°μν κ²½μ°
- νλ‘κ·Έλ¨ μμ μ€λ₯
- νλ‘κ·Έλ¨μμ ν¨μ λ± λͺ λ Ήμ΄λ₯Ό μλͺ» μ¬μ©ν κ²½μ°
- μννΈμ¨μ΄ μΈν°λ½νΈ: CPUκ° μΈμ€νΈλμ μ μννλ λμ€μ μΌμ΄λλ μΈν°λ½νΈ
π‘ μΈν°λ½νΈ μ²λ¦¬κ³Όμ
μ κ·Έλ¦Όμ΄ μμ¬νλ λ°λ λ€μκ³Ό κ°λ€. μ°μ , λͺ
λ Ήμ΄ μ¬μ΄ν΄μ μΈμΆ(fetch stage)
κ³Ό μ€ν(execution stage)
λ κ°μ§ λ¨κ³λ₯Ό λ°λ³΅ν΄μ μννλ€.
κ·Έλ°λ° μΈν°λ½νΈ μμ²μ΄ λ€μ΄μλ€κ³ ν΄μ λ°λ‘ μ΄λ₯Ό μ²λ¦¬νλ κ²μ΄ μλλΌ, λͺ
λ Ήμ΄ Nμ μ€ν
λ¨κ³λ₯Ό λ§μ³μΌ νλ€. λͺ
λ Ήμ΄μ μ€νλ¨κ³λ₯Ό λ§μΉ λλ§λ€ μ€μμ²λ¦¬μ₯μΉλ λ°λ³΅μ μΌλ‘
μΈν°λ½νΈ μμ²μ΄ μλμ§ κ³μν΄μ νμΈνλ€. μΈν°λ½νΈ μμ²μ΄ μμ΄μΌ μΈν°λ½νΈ μλΉμ€ λ¨κ³λ₯Ό μ§ννλ€.
μ°Έκ³ 1: https://whatisthenext.tistory.com/147
μ°Έκ³ 2: https://velog.io/@hyun0310woo/7.-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C
'CS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
HTTP Method (GET, POST, DELETE, PUT) (0) | 2022.09.19 |
---|---|
[OS] κΈ°μ λ©΄μ μ§λ¬Έ 리μ€νΈ (0) | 2022.08.30 |
[OS] νμ΄μ§κ³Ό μΈκ·Έλ©ν μ΄μ (0) | 2022.08.30 |
[OS] νμ΄μ§ κ΅μ²΄ μκ³ λ¦¬μ¦ (0) | 2022.08.30 |
[OS] μμ€ν νΈμΆ(System calls) (0) | 2022.08.30 |