β μ΄μ체μ λ μ¬μ©μ λͺ¨λ(User mode)μ 컀λ λͺ¨λ(Kernel mode)λ‘ λλμ΄ λμνκ³ , μ΄λ κ² λλμ΄ λμνλ κ²μ μ΄μ€ λμ λͺ¨λ(Dual Mode Operation)λΌκ³ ν¨
βοΈ μ¬μ©μ λͺ¨λ : μ κ·Όν μ μλ λ©λͺ¨λ¦¬ μμμ΄ μ¬μ©μμκ² νμ©λ μ λλ‘ μ νλμ΄ μκ³ , νλμ¨μ΄μ μ§μ μ μΌλ‘ μ κ·Όν μ μμ
βοΈ μ»€λ λͺ¨λ : λͺ¨λ μμ€ν λ©λͺ¨λ¦¬μ CPU Instructionμ μ κ·Ό κ°λ₯νκ³ , νλμ¨μ΄μ μ§μ μ μΌλ‘ μ κ·Όν μ μμ
⇒ 컀λ λͺ¨λκ° μ¬μ©μ λͺ¨λλ³΄λ€ λμ κΆνμ κ°μ Έ μ¬μ©μ λͺ¨λμμ μ μ μ ν리μΌμ΄μ μ νμμ λ°λΌ 컀λ λͺ¨λλ‘ λ³ννμ¬ μμ€ν μμμ μ κ·Όν μ μμ
βοΈ μ μ΄μ€ λμ λͺ¨λ ꡬλ ?
: μμ€ν μ 보νΈνκΈ° μν¨ (μ μ μ ν리μΌμ΄μ μ΄ ν¨λΆλ‘ μμ€ν μμμ μ κ·Όν μ μκ² ν¨)
μμ€ν μ½ μ²λ¦¬
1οΈβ£ μ¬μ©μ νλ‘μΈμ€κ° μμ€ν μ½ νΈμΆ (컀λ λͺ¨λ μ§μ )
2οΈβ£ 컀λμ λ΄λΆμ μΌλ‘ μμ€ν μ½μ ꡬλΆνκΈ° μν΄ κΈ°λ₯λ³λ‘ κ³ μ λ²νΈλ₯Ό ν λΉνκ³ κ·Έ λ²νΈμ ν΄λΉνλ μ μ΄ λ£¨ν΄μ μ μ
3οΈβ£ 컀λμ μμ²λ°μ μμ€ν μ½μ λμνλ κ³ μ λ²νΈλ₯Ό νμΈνκ³ λ²νΈμ λ§λ μλΉμ€ λ£¨ν΄ νΈμΆ
4οΈβ£ 컀λμ μλΉμ€ 루ν΄μ μ²λ¦¬νκ³ , μ¬μ©μ λͺ¨λλ‘ μ ν
μμ€ν μ½ μ ν
1οΈβ£ νλ‘μΈμ€ μ μ΄(Process Control) : νλ‘μΈμ€ μ€ν, μμ±, λκΈ° λ±
- fork()
- exec()
- wait()
- exit()
2οΈβ£ νμΌ μ‘°μ(File Manipulation) : νμΌ μ΄κΈ°, μ½κΈ°, μ°κΈ° λ±
- open()
- read()
- write()
- close()
3οΈβ£ μ₯μΉ κ΄λ¦¬(Device Management) : λλ°μ΄μ€ λΆμ°©, λΆλ¦¬, μ½κΈ°, μ°κΈ° λ±
- ioctl()
- read()
- write()
4οΈβ£ μ 보 μ μ§(Information Maintenance) : μκ°, λ μ§ μ€μ λ±
- getpid()
- alarm()
- sleep()
5οΈβ£ ν΅μ (Communication) : ν΅μ μ°κ²° μμ±, μ κ±°, μν μ 보 μ λ¬ λ±
- pipe()
- shm_open()
- mmap()
6οΈβ£ 보νΈ(Protection)
- chmod()
- umask()
- chown()
'CS > OS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CS] IPC(Inter Process Communication) (0) | 2024.02.06 |
---|---|
[CS] PCB & Context Switching (0) | 2024.02.01 |
[CS] μΈν°λ½νΈ (Interrupt) (0) | 2023.11.29 |
[CS] νλ‘μΈμ€ μ£Όμ κ³΅κ° (0) | 2023.10.28 |
[CS] νλ‘μΈμ€μ μ€λ λ (1) | 2023.10.28 |