<μ΄μ체μ λ?>
- λνμ μμ€ν μννΈμ¨μ΄
- μ»΄ν¨ν° μμ€ν μ μμμ κ΄λ¦¬νκ³ , νλ‘κ·Έλ¨μ΄ λμνκΈ° μν μλΉμ€ μ 곡νλ "νλ‘κ·Έλ¨λ€μ λͺ¨μ"
<μ΄μ 체μ μ μν >
1. μ»΄ν¨ν° μμ€ν μ μμ κ΄λ¦¬
- μμμ΄λ? νλμ¨μ΄, μννΈμ¨μ΄, λ°μ΄ν°
- μμ: μ μ₯μ₯μΉ λ°μ΄ν° μ½κΈ°, ν€λ³΄λλ λ§μ°μ€ μ μ΄, νλ‘κ·Έλ¨ λμ μ€ν μ CPU λ©λͺ¨λ¦¬ ν¨μ¨μ κ΄λ¦¬ λ±
2. μ¬μ©μ μ§μ
- μ¬μ©μκ° λ΄λ¦° λͺ λ Ή(ν΄λ¦, command λ±)μ μ΄μ 체μ κ° ν΄μνμ¬ λμ λ° μ€ν μν΄
- μ¬μ©μμ νλμ¨μ΄ μ¬μ΄μ λ§€κ°μ²΄ μν
- μ¬μ©μμκ² νΈμμ±μ μ 곡νλ λͺ©μ
<μ»΄ν¨ν° μμ€ν κ³Ό μ΄μ 체μ >
π§πΎκ³Όκ±°: μ΄μ체μ κ° μλ μ΄κΈ° μ»΄ν¨ν° μμ€ν
- μμ© νλ‘κ·Έλ¨μ΄ μ§μ μ»΄ν¨ν° μμ€ν μ μμμ μ΄ (νλ‘κ·Έλλ° λΉ‘μ μ!)
μ¬μ©μ ->
<- (μμ©νλ‘κ·Έλ¨(νλμ¨μ΄))
** μ¬λ¬ μ¬μ©μκ° νλμ¨μ΄λ₯Ό 곡μ νλ κ²½μ°, μμ λΆν μ΄λ €μ!! (μΆ©λ λ°μ κ°λ₯μ±)
π½νμ¬: μ΄μ체μ κ° μλ μ»΄ν¨ν° μμ€ν λ±μ₯
- νλμ¨μ΄μ μμ© νλ‘κ·Έλ¨ μ¬μ΄μ μ΄μ 체μ μμΉνκ² λ¨ (νΈνκ² ν¨μλ§ κ°μ Έλ€ μ°λ©΄ λ¨!)
- μ΄μ체μ κ° μ»΄ν¨ν° μμ€ν μ μμ μ μ΄. (μ€κ°μμ μ€μ¬ μν . 곡μ νκ² μμ λ°°λΆ)
<컀λ λͺ¨λμ μ¬μ©μ λͺ¨λ>
ππ»βοΈνλ‘κ·Έλ¨μ΄ μ§μ μμμ κ°μ λ‘ κ°μ Έλ€ μ°λ κ±Έ λ§κΈ° μν΄μ '컀λ λͺ¨λ', 'μ¬μ©μ λͺ¨λ' κ΅¬λΆ μν΄.
1. 컀λ λͺ¨λ (a.k.a μνΌλ°μ΄μ λͺ¨λ)
- 'νλμ¨μ΄λ₯Ό μ§μ μ μ΄'ν μ μλ CPU λͺ λ Ήμ΄λ₯Ό μ¬μ©ν μ μλ λͺ¨λ.
- μμ© νλ‘κ·Έλ¨μ΄ μλ!! μ΄μ체μ μ 컀λμ΄ λμνκ² λ¨.
2. μ¬μ©μ λͺ¨λ (a.k.a λ³΄νΈ λͺ¨λ)
- On the contrary, μμ© νλ‘κ·Έλ¨μ΄ λμνλ λͺ¨λ!!
- μ¬μ©μκ° λ³΄ν΅ μμ© νλ‘κ·Έλ¨μ μ¬μ©νλ©΄? μ¬μ©μ λͺ¨λ => νλμ¨μ΄λ₯Ό μ§μ μ μ΄ν μ μλ CPU λͺ λ Ήμ΄λ₯Ό μ¬μ©ν μ μλ λͺ¨λ(μ νμ )
<컀λ(kernel) μ΄λ?>
- 컀λ λͺ¨λμμ λμνλ μ΄μ 체μ μ ν΅μ¬ μμ
- μμ© νλ‘κ·Έλ¨κ³Ό νλμ¨μ΄ μ¬μ΄μμ λ§€κ°μ²΄/μ€κ° μν μ νλ€.
- μ΄μ 체μ μμ²΄κ° κ·ΈλΌ..컀λ?! => μ΄.λ».κ². '컀λμ ꡬμ±' νλλ, μ λ°λΌμ μ°¨μ΄κ° λ°μν¨!
<컀λμ κ΅¬μ± λ°©μ>
1. μΌμ²΄ν 컀λ (monolithic kernel) π€cf. 컀λμ΄ λ΄λΆμ μμΉ..곡μ°μ£Όμλ μ¬νμ£Όμκ° λ μ€λ₯΄λ 곡λ체μ ν¨μ¨μ κ·Ήλνν μμ€ν .
- μ΄μ 체μ μ λͺ¨λ μλΉμ€κ° 컀λ μμ ν¬ν¨
- μ₯μ : 컀λ λ΄λΆ μμλ€μ΄ μλ‘ 'ν¨μ¨μ ' μΌλ‘ μνΈ μμ© νλ€.
- λ¨μ : ν μμλΌλ μ€λ₯κ° λ°μνλ©΄? μμ€ν μ 체μ μ€λ₯/μ₯μ λ°μ κ°λ₯!
- μμ: UNIX, Linux ==> 컀λ = OS (컀λμ΄ κ³§ μ΄μ체μ )
2. λ§μ΄ν¬λ‘ 컀λ (micro kernel) π€cf. 컀λμ΄ μΈλΆμ μμΉ. μμ μ λΆ? μμ λ₯Ό μ€μ..
- μ΄μ 체μ μμ 'λλΆλΆμ μΈ.λΆ.λ‘' λΆλ¦¬.
- λ©λͺ¨λ¦¬ κ΄λ¦¬, λ©ν° νμ€νΉ, νλ‘μΈμ€ κ° ν΅μ (IPC) λ±μ μ΅.μ.ν.μ μμλ§ μ»€λ λ΄μ λ¨κΉ.
- μ₯μ : μλ‘μ΄ μλΉμ€λ₯Ό μΆκ°νμ¬ μ΄μ 체μ νμ₯μ΄ μ¬μ! μ μ§λ³΄μ μ©μ΄!
- λ¨μ : 컀λ μΈλΆ μμλ€ μ¬μ΄μ 'IPC'κ° νμ... => μ±λ₯ μ νμ μμ
<컀λ/μ¬μ©μ λͺ¨λ: μ΄λ»κ² μ νλλκ°?>
μΌλ°μ μΌλ‘ μ¬μ©μλ€μ μμ© νλ‘κ·Έλ¨ μ¬μ© μ€μλ "μ¬μ©μ λͺ¨λ(λ³΄νΈ λͺ¨λ)"
but, μμ© νλ‘κ·Έλ¨μ΄ νλμ¨μ΄μ λν μ μ΄κ° νμν μν©μ΄ λ°μνλ€λ©΄?
(μμ. νλ©΄μ 무μΈκ° μΆλ ₯, cout λͺ λ Ή λΆλ₯΄κΈ° => "μμ€ν νΈμΆ" νμ!!)
* μμ€ν νΈμΆμ΄λ? μ΄μ체μ μκ² νλμ¨μ΄ μ μ΄, μλΉμ€ μμ²μ΄λ νλμ¨μ΄ μμ μ¬μ© μμ²!
κ²°λ‘ : μ¬μ©μ λͺ¨λ -> μμ€ν νΈμΆ -> 컀λ λͺ¨λ
'Life > Study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ΄μ체μ ] 3κ°. νλ‘μΈμ€ μ€μΌμ€λ§ - 2 (0) | 2025.03.30 |
---|---|
[μ΄μ체μ ] 3κ°. νλ‘μΈμ€ μ€μΌμ€λ§ - 1 (0) | 2025.03.30 |
[μ΄μ체μ ] 2κ°. νλ‘μΈμ€μ μ°λ λ - 2 (0) | 2025.03.29 |
[μ΄μ체μ ] 2κ°. νλ‘μΈμ€μ μ°λ λ - 1 (0) | 2025.03.29 |
[μ΄μ체μ ] 1κ°. μ΄μ체μ μκ° - 2 (μ΄μ체μ κ΅¬μ± λ° μ ν) (1) | 2025.03.29 |