λ§ˆμ΄ν¬λ‘œμ»€λ„μ—μ„œμ˜ μ„±λŠ₯ 이슈

λ§ˆμ΄ν¬λ‘œμ»€λ„

λ§ˆμ΄ν¬λ‘œμ»€λ„μ˜ νŠΉμ§•

  1. ==μ‚¬μš©μžμ™€ 컀널λͺ¨λ“œ== λ§ˆμ΄ν¬λ‘œμ»€λ„μ—μ„œλŠ” μ‚¬μš©μžμ™€ 컀널λͺ¨λ“œ λ‘κ°€μ§€λ‘œ λΆ„λ¦¬λ˜μ–΄μžˆλ‹€. μ»€λ„μ—λŠ” μš΄μ˜μ²΄μ œμ— ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ κΈ°λŠ₯ (λ©”λͺ¨λ¦¬ 관리, μŠ€μΌ€μ€„λ§, κΈ°λ³Έ IPC)만 두고, λ‚˜λ¨Έμ§€λŠ” μ‚¬μš©μž λͺ¨λ“œμ— λ‘μ—ˆλ‹€. λ‘κ°œμ˜ 컀널λͺ¨λ“œλ‘œ λΆ„λ¦¬ν•¨μœΌλ‘œμ¨ ν•˜λ“œμ›¨μ–΄ μ˜μ‘΄μ„±μ„ 쀄일 수 있고, μ»€λ„μ˜ 크기λ₯Ό 쀄일 수 μžˆλ‹€. (L4 λ§ˆμ΄ν¬λ‘œμ»€λ„μ˜ 경우 12KB크기의 μ½”λ“œ 크기λ₯Ό 가진닀.)^[1]

  2. λ…λ¦½λœ μ£Όμ†Œκ³΅κ°„μ„ 가진 μ‚¬μš©μž ν”„λ‘œμ„ΈμŠ€ ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ 타 μ‹œμŠ€ν…œμ— λ―ΈμΉ˜λŠ” 영ν–₯ μ΅œμ†Œν™”ν•  수 μžˆλ‹€. (Fault Tolerance)

  3. ==IPCλ₯Ό ν†΅ν•œ 톡신== μ‚¬μš©μž ν”„λ‘œμ„ΈμŠ€λŠ” λ…λ¦½λœ μ£Όμ†Œκ³΅κ°„μ— 있으며 컀널과 λ‹€λ₯Έ μ£Όμ†Œ 곡간에 있기 λ•Œλ¬Έμ—, IPCλ₯Ό ν†΅ν•œ 톡신이 ν•„μˆ˜μ μ΄λ‹€. 특히 λ…λ¦½λœ μ£Όμ†Œ 곡간을 μ‚¬μš©ν•˜λŠ” μ‚¬μš©μž ν”„λ‘œμ„ΈμŠ€, 컀널 μ‚¬μ΄μ˜ 톡신은 λͺ¨λ†€λ¦¬μ‹μ»€λ„(Monolithic kernel)κ³Ό 비ꡐ해 자주 λ°œμƒν•œλ‹€. λ”°λΌμ„œ 효율적인 IPC λ©”μ»€λ‹ˆμ¦˜μ€ μ€‘μš”ν•˜λ‹€.

Inter-process Communication

1. λ©”μ‹œμ§€νŒ¨μ‹± (Message passing)

IPCλ©”μ»€λ‹ˆμ¦˜ 쀑 ν•˜λ‚˜μΈ λ©”μ‹œμ§€ νŒ¨μ‹± 방식을 μ•Œμ•„λ³΄μž. L4 λ§ˆμ΄ν¬λ‘œμ»€λ„μ˜ νŒŒμƒ 쀑 ν•˜λ‚˜μΈ OKL4μ—μ„œ μ‚¬μš©ν•˜λŠ” λ©”μ‹œμ§€ νŒ¨μ‹± 방식을 닀룬닀.^[2]

  • IPC Operation

    1. Send operation: 호좜 μ“°λ ˆλ“œμ—μ„œ 쒅점 μ“°λ ˆλ“œλ‘œ λ©”μ‹œμ§€ μ „λ‹¬μ‹œ μ‚¬μš©ν•œλ‹€.
    2. Receive operation: λ‹€λ₯Έ μ“°λ ˆλ“œλ‘œλΆ€ν„° λ©”μ‹œμ§€ μˆ˜μ‹  μš”μ²­μ„ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€.
  • IPC Operation Mode

    1. Blocking IPC operation: μš”μ²­ν•œ IPC operation이 μˆ˜ν–‰λ  λ•ŒκΉŒμ§€ μ“°λ ˆλ“œ 쀑지, λŒ€κΈ°ν•œλ‹€.
    2. Non-blocking IPC operation: 타깃 μ“°λ ˆλ“œκ°€ ν˜„λŒ€ λ©”μ‹œμ§€ κ΅ν™˜ μ°Έμ—¬ κ°€λŠ₯ μƒνƒœκ°€ μ•„λ‹ˆλ©΄ μ‹€νŒ¨(abort)ν•œλ‹€.
  • Message 기본적으둜 λ©”μ‹œμ§€λ°μ΄ν„°λ ˆμ§€μŠ€ν„°λ₯Ό μ΄μš©ν•΄ μ „λ‹¬ν•œλ‹€. ν•΄λ‹Ή λ ˆμ§€μŠ€ν„°κ°€ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°μ— μΆ©λΆ„ν•˜μ§€ μ•ŠμœΌλ©΄ κ³΅μœ λ©”λͺ¨λ¦¬ 방식을 μ‚¬μš©ν•΄ 전달. λ©”μ‹œμ§€λŠ” λ™κΈ°μ μœΌλ‘œ μ „λ‹¬λœλ‹€. (비동기방식도 지원)

    1. Message Tag S: Send operation r: Receive operation n: Asynchronous notification operation m: Memory copy operation U: Number of words in message
    2. Message Data

Performance Issue