νλ‘μΈμ€μ κ°λ κ³Ό μν λ³ν
νλ‘μΈμ€μ κ°λ
μ¬λ¬ νλ‘κ·Έλ¨μ λ©λͺ¨λ¦¬μ μ μ¬νμ¬ λ³ν μ€νν μ μλ λ€μ€ νλ‘κ·Έλλ° νκ²½ μμ λ³ν μ€ννλ νλ‘κ·Έλ¨λ€μ μ»΄ν¨ν° μμμ 곡μ νλλ° μ΄ μμμ μ μ΄νλ λ°©λ²μ΄ λ°λ‘ νλ‘μΈμ€
μ΄λ€.
νλ‘μΈμ€μ κ΄λ ¨λ μ©μ΄λ
- μ€ν μ€μΈ νλ‘κ·Έλ¨
- λΉλκΈ°μ νμ asynchronous
- μ€ν μ€μΈ νλ‘μμ Έ
- μ€ν μ€μΈ νλ‘μμ μ μ μ΄ μΆμ
- μ΄μ체μ μ λ€μ΄μλ νλ‘μΈμ μ μ΄ λΈλ‘ ^PCB^
μ΄ μ€ κ°μ₯ μΌλ°μ μΌλ‘ μ°μ΄λ νλ‘μΈμ€μ μ μλ μ€νμ€μΈ νλ‘κ·Έλ¨
μ΄λ€.
νλ‘μΈμ€λ νλ‘κ·Έλ¨μ΄ μ€νλλ©΄ (μ μ μκ°
, λ©λͺ¨λ¦¬
, νμΌ
, μ
μΆλ ₯μ₯μΉ
)λ± μμμ΄ νμνλ° νλ‘μΈμ€λ μ΄ μμμ ν λΉνλ€.
μΆκ°μ μΌλ‘ PCλ λ μ§μ€ν°μ λ΄μ©(νλ‘μΈμμ νμ¬ νλ)λ ν¬ν¨λλ€.
νλ‘κ·Έλ¨μ μ»΄νμΌν μ½λμ μ¬λ¬ λ³μλ€μ΄ λͺ¨μΈ μ μ μΈ κ°μ²΄ μ΄μ§λ§, λ°λ©΄ νλ‘μΈμ€λ λ©λͺ¨λ¦¬ ꡬ쑰λ₯Ό μ΄λ£¨κ³ PCλ λ μ§μ€ν° μ²λΌ νμ¬ μ΄λ€ μμμ μ¬μ©νλ λμ μΈ κ°μ²΄μ΄λ€.
νλ‘μΈμ€μ λ©λͺ¨λ¦¬ ꡬ쑰
μ€ν
λ°μ΄ν°λ₯Ό μΌμμ μΌλ‘ μ μ₯νλ μμμΌλ‘ μ£Όλ‘ μ§μ λ³μ, 맀κ°λ³μ λ±μ΄ μ‘΄μ¬νλ€.
νκ³Ό μΈμ ν λ°©ν₯μΌλ‘ μ μ μ»€μ Έ μ€ν ν¬μΈν°μ ν ν¬μΈν°κ° λ§λλ©΄ λ©λͺ¨λ¦¬κ° μμ§λμλ€λ μλ―Έμ΄λ€.
ν
μ½λ μμκ³Ό λ³λλ‘ μ μ§λλ μμ μμμ΄λ€.
C κ³μ΄μmalloc()
κ³Ό java κ³μ΄μnew()
μ κ°μ λ©λͺ¨λ¦¬ ν λΉ, ν΄μ μ κ΄λ ¨μ΄ μλ€.
λ°μ΄ν°
νλ‘κ·Έλ¨μ κ°μ μ£Όμ 곡κ°μ΄λ€.
μ μ λ³μ, μ μ λ³μλ₯Ό μ μ₯νκ±°λ ν λΉνλ©° μ€ν μ μ μ΄κΈ°νλ₯Ό νλ€.
μ½λ
μ½λ μ체λ₯Ό ꡬμ±νλ λ©λͺ¨λ¦¬ μμμΌλ‘ HexνμΌμ΄λ BINνμΌ λ©λͺ¨λ¦¬λ€.
νλ‘κ·Έλ¨ λͺ λ Ήμ΄ μμΉνλ κ³³μΌλ‘ κΈ°κ³μ΄λ‘ μ μ΄λλ λ©λͺ¨λ¦¬ μμμ΄λ€.
μΆκ°μ μΌλ‘ κ°μ νλ‘κ·Έλ¨μ νλ‘μΈμ€ λ κ°κ° μ¬μ©νλ€κ³ ν΄μ νλ‘μΈμ€ λ©λͺ¨λ¦¬ ꡬ쑰λ₯Ό λ€λ₯΄κ² μ¬μ©νλ€λ©΄ μλ‘ λ€λ₯Έ νλ‘μΈμ€ μ΄λ€.
νλ‘μΈμ€μ μ’ λ₯
νλ‘μΈμ€μ μ’ λ₯λ μν κ³Ό λ³ν μν λ°©λ²μΌλ‘ λλλλ°
μν
-
μμ€ν (컀λ) νλ‘μΈμ€
λͺ¨λ μμ€ν λ©λͺ¨λ¦¬μ νλ‘μΈμμ λͺ λ Ήμ μ‘μΈμ€ν μ μλ νλ‘μΈμ€
νλ‘μΈμ€μ μ€ν μμλ₯Ό μ μ΄νκ±°λ μ¬μ©μ νλ‘μΈμ€λ₯Ό μμ± -
μ¬μ©μ νλ‘μΈμ€
μ¬μ©μ μ½λλ₯Ό μννλ νλ‘μΈμ€
λ²ν μν λ°©λ²
-
λ 립 νλ‘μΈμ€
λ€λ₯Έ νλ‘μΈμ€μ μν₯μ μ£Όμ§ μκ±°λ λ€λ₯Έ νλ‘μΈμ€μ μν₯μ λ°μ§ μμΌλ©΄μ μννλ λ³ν νλ‘μΈμ€
-
νλ ₯ νλ‘μΈμ€
λ€λ₯Έ νλ‘μΈμ€μ μν₯μ μ£Όκ±°λ λ€λ₯Έ νλ‘μΈμ€μ μν₯μ λ°λ λ³ν νλ‘μΈμ€
νλ‘μΈμ€μ μν λ³νμ μν μ 보
νλ‘μΈμ€μ μν λ³ν
νλ‘μΈμ€μ μνλ ν¬κ² μ€ν μν, λΉμ€ν μνλ‘ κ΅¬λΆλλ€.
νλ‘μΈμ€μ μ€ν μν
μ λΉμ€ν μν
λ μ€λΉ, μ€ν, λκΈ°λ‘ κ΅¬λΆλ μ μμΌλ©°, νλ‘μΈμ€λ μ€λΉ, μ€ν, λκΈ°λ‘ λ³ννλ©΄μ μ’
λ£κ° λλ€.
-
μ€λΉ -> μ€ν
μ€λΉ ν 맨 μμ μλ νλ‘μΈμ€κ° νλ‘μΈμ€λ₯Ό μ μ νλ κ².
νκΈ°λ²: Dispatch(νλ‘μΈμ€ μ΄λ¦) -
μ€ν -> μ€λΉ
νλ‘μΈμ€κ° νλ‘μΈμλ₯Ό λ μ νμ§ λͺ» νλλ‘ μΈν°λ½νΈ ν΄λ‘^InterruptClock^ μ λμ΄ **νΉμ μκ°λμλ§(ν λΉλ μκ°λ§νΌλ§) νλ‘μΈμλ₯Ό μ μ νκ² νλ€.
νκΈ°λ²: Timeout(νλ‘μΈμ€ μ΄λ¦) -
μ€ν -> λκΈ°(보λ₯)
ν λΉλ μκ° μ΄μ μ μ€νμνμ νλ‘μΈμ€μ μ μΆλ ₯ μ°μ° λ±μ΄ νμνκ±°λ μλ‘μ΄ μμ μμ²μ λ¬Έμ λ‘ νλ‘μΈμλ₯Ό μ€μ€λ‘ μλνλ μν
νκΈ°λ²: block(νλ‘μΈμ€ μ΄λ¦) -
λκΈ°(보λ₯) -> μ€λΉ
block μνμ νλ‘μΈμ€κ° μ μΆλ ₯ μμ μ΄ λλλ©΄ λκΈ°μμ μ€λΉ μνκ° λλ€.
νκΈ°λ²: wakeup(νλ‘μΈμ€ μ΄λ¦)
νλ‘μΈμ€ μ μ΄ λΈλ‘ PCB
μ΄μ체μ κ° νλ‘μΈμ€λ₯Ό μ μ΄ν λ νλ‘μΈμ€μ μν μ 보λ₯Ό νλ‘μΈμ€ μ μ΄ λΈλ‘
μ μ μ₯ νλ€.
νλ‘μΈμ€κ° μμ±λλ©΄
νλ‘μΈμ€ μ μ΄ λΈλ‘μ
μμ±
νλ‘μΈμ€κ° μ’ λ£λλ©΄νλ‘μΈμ€ μ μ΄ λΈλ‘μ
μμ
PCB λͺ¨λ
- νλ‘μΈμ€ μλ³μ
- νλ‘μΈμ€ μν
- νλ‘κ·Έλ¨ μΉ΄μ΄ν°
- λ μ§μ€ν° μ μ₯ μμ
- νλ‘μΈμ μ€μΌμ₯΄λ§ μ 보
- κ³μ μ 보
- μ μΆλ ₯ μν μ 보, λ©λͺ¨λ¦¬ κ΄λ¦¬ μ 보...
μ΄μ체μ μ λͺ¨λ λͺ¨λμ μ΄ μ 보λ₯Ό μ½κ³ μμ ν μ μλ€.
'π» Computer Science > - Operating System' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ΄μ체μ ] 8. μ€λ λμ κ°λ κ³Ό μν λ³ν (0) | 2019.12.09 |
---|---|
[μ΄μ체μ ] 7. νλ‘μΈμ€μ κ΄λ¦¬ (0) | 2019.12.07 |
[μ΄μ체μ ] 5. μ΄μ체μ μ ꡬ쑰 (0) | 2019.12.07 |
[μ΄μ체μ ] 4. μ΄μ체μ μ μλΉμ€ (0) | 2019.12.07 |
[μ΄μ체μ ] 3. μ΄μ체μ μ κΈ°λ₯ (0) | 2019.12.07 |
λκΈ