[OS] μ΄μ체μ μ μν , ꡬ쑰
μ΄μ체μ λ ?
- μ΄μ체μ (Operating System, OS)λ μ¬μ©μκ° μ»΄ν¨ν°λ₯Ό μ½κ² λ€λ£¨κ³ ν΄μ£Όλ μΈν°νμ΄μ€μ λλ€.
- λν μ»΄ν¨ν° μμ€ν μ μμμ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ μΌμ’ μ μννΈμ¨μ΄
- EX) Window, MAC OS, Unix, Linux, Android, IOS λ±
μ΄μ체μ μ μν
ν¬κ² λ€ κ°μ§κ° μμ΅λλ€.
1. CPU μ€μΌμ₯΄λ§, νλ‘μΈμ€ κ΄λ¦¬
CPU μμ κΆμ μ΄λ€ νλ‘μΈμ€μκ² ν λΉν μ§, νλ‘μΈμ€μ μμ±κ³Ό μμ , μμ ν λΉ λ° λ°νμ κ΄λ¦¬
2. λ©λͺ¨λ¦¬ κ΄λ¦¬
νμ λ λ©λͺ¨λ¦¬λ₯Ό μ΄λ€ νλ‘μΈμ€μ μΌλ§νΌ ν λΉν΄μΌ ν μ§ κ΄λ¦¬
3. λμ€ν¬ νμΌ κ΄λ¦¬
λμ€ν¬ νμΌμ μ΄λ€ λ°©λ²μΌλ‘ 보κ΄ν μ§ κ΄λ¦¬
4. νλμ¨μ΄ κ΄λ¦¬ λ° νλμ¨μ΄ μΈν°νμ΄μ€ μ 곡
I/O λλ°μ΄μ€μΈ λ§μ°μ€, ν€λ³΄λμ μ»΄ν¨ν° κ° λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λ κ²μ κ΄λ¦¬νκ³ λ³΅μ‘ν κ³Όμ μμ΄ νλμ¨μ΄ μ₯λΉλ₯Ό μ¬μ©ν μ μλλ‘ νλμ¨μ΄ μΈν°νμ΄μ€ (= μννΈμ¨μ΄) μ 곡
νλ§λλ‘ μ 리νλ©΄ μ΄μ체μ λ νλμ¨μ΄λ₯Ό κ΄λ¦¬νκ³ , μ€μμ²λ¦¬μ₯μΉ, κΈ°μ΅μ₯μΉ, μ μΆλ ₯ μ₯μΉλΌλ μ»΄ν¨ν°μ μμμ μ¬μ©μκ° ν¨μ¨μ μΌλ‘ νμ©ν μ μλλ‘ κ΄λ¦¬νλ κ²½μμ μν μ νλ μμ€ν μννΈμ¨μ΄μ λλ€.
μ΄μ체μ μ ꡬ쑰
μ μ νλ‘κ·Έλ¨μΈ μμ©νλ‘κ·Έλ¨, μ νΈλ¦¬ν°κ° 맨 μμ μκ³ κ·Έ λ€μμΌλ‘ GUI, μμ€ν μ½, 컀λ, λλΌμ΄λ²κ° μμΌλ©° κ°μ₯ λ°μ νλμ¨μ΄κ° μλ ꡬ쑰μ λλ€.
μ¬κΈ°μ GUI, System Call, Kernel, Driver λΆλΆμ΄ λ°λ‘ μ΄μ체μ λ₯Ό μ§μΉν©λλ€. μ°Έκ³ λ‘ GUIκ° μκ³ CUIλ§ μλ 리λ μ€ μλ²λ μμ΅λλ€.
1. GUI
- μ¬μ©μκ° μ μ μ₯μΉμ μνΈμμ© ν μ μλλ‘ νλ μΈν°νμ΄μ€
- CUI : κ·Έλν½μ΄ μλ λͺ λ Ήμ΄λ‘ μ²λ¦¬νλ μΈν°νμ΄μ€
2. System call
- μ΄μ체μ κ° Kernelμ μ κ·ΌνκΈ° μν μΈν°νμ΄μ€μ΄λ©°, μ μ νλ‘κ·Έλ¨μ΄ μ΄μ체μ μ μλΉμ€λ₯Ό λ°κΈ° μν΄ μ»€λ ν¨μλ₯Ό νΈμΆν λ μ¬μ©ν©λλ€.
μ΄μ체μ μμλ 컀λ λͺ¨λ, μ¬μ©μ λͺ¨λλ‘ λλμ΄ κ΅¬λλλλ°, νλ‘κ·Έλ¨μ΄ ꡬλλλλ° μμ΄ νμΌμ μ½κ±°λ μ°κ±°λ μΆλ ₯νλ λ± λ§μ λΆλΆ(I/O μμ²μ λν μ²λ¦¬)μ΄ μ»€λ λͺ¨λλ₯Ό μ¬μ©νκ³ , μμ€ν μ½μ μ΄λ¬ν 컀λ μμμ κΈ°λ₯μ μ¬μ©μ λͺ¨λκ° μ¬μ© κ°λ₯νκ², μ¦ νλ‘μΈμ€κ° νλμ¨μ΄μ μ§μ μ κ·Όνμ¬ νμν κΈ°λ₯(I/O μμ²)μ μ¬μ©ν μ μκ² ν΄μ€λλ€.
- μ¬μ©μ λͺ¨λ : I/O μ λν μμ²μ νμΈνκ³ μ»€λ λͺ¨λλ‘ λ³ν ( μ μ κ° μ κ·Όν μ μλ μμμ μ νμ μΌλ‘ λμ΄ μμμ ν¨λΆλ‘ μ κ·Όνμ§ λͺ»νλ λͺ¨λ)
- 컀λ λͺ¨λ : I/O μ λν μ€μ μ μ²λ¦¬ ( λͺ¨λ μ»΄ν¨ν° μμμ μ κ·Όν μ μλ λͺ¨λ )
μ΄ κ³Όμ μ ν΅ν΄ μ»΄ν¨ν° μμμ λν μ§μ μ κ·Όμ μ°¨λ¨ν μ μκ³ νλ‘κ·Έλ¨μ λ€λ₯Έ νλ‘κ·Έλ¨μΌλ‘λΆν° 보νΈν μ μμ΅λλ€.
ModeBit
- μμ€ν μ½μ modebitλ μ¬μ©μ λͺ¨λ(1)κ³Ό 컀λλͺ¨λ(0) μ¬μ΄λ₯Ό μ ννκΈ° μν λΉνΈμ λλ€.
- μ¬μ©μ λͺ¨λμμ μμ€ν μ½μ νΈμΆνλ©΄, 컀λ λͺ¨λλ‘ μ νλμ΄ μμ€ν μ½ ν¨μλ₯Ό μ€ννκ³ , μ€νμ΄ μλ£λλ©΄ λ€μ μ¬μ©μ λͺ¨λλ‘ λμκ°λλ€
- μ¬μ©μ λͺ¨λμμλ μμ€ν μ½μ λͺ»νλλ‘ λ§μμ νμ λ μΌλ§ μνν μ μμ.
- μ μ νλ‘κ·Έλ¨μ΄ μΉ΄λ©λΌλ₯Ό μ΄μ©νλ €κ³ νλ€.
- 1. μ¬μ©μ λͺ¨λμμ μμ€ν μ½ νΈμΆνμ¬ modebit 1 -> 0
- 2. 컀λ λͺ¨λμμ μμμ μ΄μ©ν λ‘μ§ μν
- 3. modebit 0 -> 1
- 4. μ¬μ©μ λͺ¨λμμ μ΄ν λ‘μ§ μν
3. Kernel
μ΄μ체μ μ ν΅μ¬ λΆλΆμ΄μ System Call μΈν°νμ΄μ€λ₯Ό μ 곡νλ©° 보μ, λ©λͺ¨λ¦¬, νλ‘μΈμ€, νμΌμμ€ν , I/O λλ°μ΄μ€, I/O μμ² κ΄λ¦¬ λ± μ΄μ체μ μμ μ€μΆμ μΈ μν μ ν©λλ€.
λ°λΌμ, 컀λμ μμ μ±κ³Ό 보μμ± = μ΄μ체μ μ μμ μ±κ³Ό 보μμ±μ μ§μ μ μΈ μν₯μ λ―ΈμΉλ©°, μ΄μ체μ μ 체μ μμ μ±κ³Ό 보μμ±μ κ²°μ μ§λ μ€μν μμ
4. Driver
νλμ¨μ΄λ₯Ό μ μ΄νκΈ° μν μννΈμ¨μ΄