λ§μ΄ν¬λ‘컀λμμμ μ±λ₯ μ΄μ
λ§μ΄ν¬λ‘컀λ
λ§μ΄ν¬λ‘컀λμ νΉμ§
-
==μ¬μ©μμ 컀λλͺ¨λ== λ§μ΄ν¬λ‘컀λμμλ μ¬μ©μμ 컀λλͺ¨λ λκ°μ§λ‘ λΆλ¦¬λμ΄μλ€. 컀λμλ μ΄μ체μ μ νμν μ΅μνμ κΈ°λ₯ (λ©λͺ¨λ¦¬ κ΄λ¦¬, μ€μΌμ€λ§, κΈ°λ³Έ IPC)λ§ λκ³ , λλ¨Έμ§λ μ¬μ©μ λͺ¨λμ λμλ€. λκ°μ 컀λλͺ¨λλ‘ λΆλ¦¬ν¨μΌλ‘μ¨ νλμ¨μ΄ μμ‘΄μ±μ μ€μΌ μ μκ³ , 컀λμ ν¬κΈ°λ₯Ό μ€μΌ μ μλ€. (L4 λ§μ΄ν¬λ‘컀λμ κ²½μ° 12KBν¬κΈ°μ μ½λ ν¬κΈ°λ₯Ό κ°μ§λ€.)^[1]
-
λ 립λ μ£Όμ곡κ°μ κ°μ§ μ¬μ©μ νλ‘μΈμ€ νλμ νλ‘μΈμ€κ° ν μμ€ν μ λ―ΈμΉλ μν₯ μ΅μνν μ μλ€. (Fault Tolerance)
-
==IPCλ₯Ό ν΅ν ν΅μ == μ¬μ©μ νλ‘μΈμ€λ λ 립λ μ£Όμ곡κ°μ μμΌλ©° 컀λκ³Ό λ€λ₯Έ μ£Όμ 곡κ°μ μκΈ° λλ¬Έμ, IPCλ₯Ό ν΅ν ν΅μ μ΄ νμμ μ΄λ€. νΉν λ 립λ μ£Όμ 곡κ°μ μ¬μ©νλ μ¬μ©μ νλ‘μΈμ€, 컀λ μ¬μ΄μ ν΅μ μ λͺ¨λ리μ컀λ(Monolithic kernel)κ³Ό λΉκ΅ν΄ μμ£Ό λ°μνλ€. λ°λΌμ ν¨μ¨μ μΈ IPC λ©μ»€λμ¦μ μ€μνλ€.
Inter-process Communication
1. λ©μμ§ν¨μ± (Message passing)
IPCλ©μ»€λμ¦ μ€ νλμΈ λ©μμ§ ν¨μ± λ°©μμ μμ보μ. L4 λ§μ΄ν¬λ‘컀λμ νμ μ€ νλμΈ OKL4μμ μ¬μ©νλ λ©μμ§ ν¨μ± λ°©μμ λ€λ£¬λ€.^[2]
-
IPC Operation
- Send operation: νΈμΆ μ°λ λμμ μ’ μ μ°λ λλ‘ λ©μμ§ μ λ¬μ μ¬μ©νλ€.
- Receive operation: λ€λ₯Έ μ°λ λλ‘λΆν° λ©μμ§ μμ μμ²μ νκΈ° μν΄ μ¬μ©νλ€.
-
IPC Operation Mode
- Blocking IPC operation: μμ²ν IPC operationμ΄ μνλ λκΉμ§ μ°λ λ μ€μ§, λκΈ°νλ€.
- Non-blocking IPC operation: νκΉ μ°λ λκ° νλ λ©μμ§ κ΅ν μ°Έμ¬ κ°λ₯ μνκ° μλλ©΄ μ€ν¨(abort)νλ€.
-
Message κΈ°λ³Έμ μΌλ‘ λ©μμ§λ°μ΄ν°λ μ§μ€ν°λ₯Ό μ΄μ©ν΄ μ λ¬νλ€. ν΄λΉ λ μ§μ€ν°κ° μ 보λ₯Ό μ λ¬νκΈ°μ μΆ©λΆνμ§ μμΌλ©΄ 곡μ λ©λͺ¨λ¦¬ λ°©μμ μ¬μ©ν΄ μ λ¬. λ©μμ§λ λκΈ°μ μΌλ‘ μ λ¬λλ€. (λΉλκΈ°λ°©μλ μ§μ)
- Message Tag
S: Send operation r: Receive operation n: Asynchronous notification operation m: Memory copy operation U: Number of words in message
- Message Data
- Message Tag