- μ
μΆλ ₯ μμ
μ 컀λ λ 벨μμλ§ μνν μ μμΌλ―λ‘ νλ‘μΈμ€ λ° μ€λ λλ 컀λμκ² I/Oλ₯Ό μμ²ν΄μΌ ν¨. μ¦, νλ‘μΈμ€ λ° μ€λ λλ
νΈμΆνλ ν¨μ
, I/Oμμ μνΈμΆλλ ν¨μ
κ° λ¨
Blocking I/O
- I/O μμ μ΄ μ§νλλ λμ μ μ νλ‘μΈμ€κ° μμ μ μμ μ μ€λ¨ν μ±, I/Oκ° λλ λκΉμ§ λκΈ°νλ λ°©μ
→ Read()λ₯Ό νΈμΆν΄ 컀λμ read I/Oλ₯Ό μμ²νλ©΄, readκ° λλ λκΉμ§ applicationμ blockλμ΄ λ€λ₯Έ μμ μ νμ§ λͺ»ν¨
- 컀λ μμ μ€μ νλ‘μΈμ€/μ€λ λλ μμ μ μμ μ μ€λ¨νκ³ λκΈ°
- 컀λ μμ μ€ CPU μμμ μ°μ§ μμΌλ―λ‘ μμλλΉκ° μ¬ν¨
- μ¬λ¬ ν΄λΌμ΄μΈνΈκ° μ μνλ μλ²μΈ κ²½μ°, I/O μμ μ νΈμΆν μμ μ μ€μ§λμ΄λ λ€λ₯Έ ν΄λΌμ΄μΈνΈκ° μ€ννλ μμ μ μ€μ§λλ©΄ μλκΈ° λλ¬Έμ ν΄λΌμ΄μΈνΈ λ³λ‘ μ€λ λλ₯Ό μμ±νκ² λμ΄ ν΄λΌμ΄μΈνΈμ μκ° λ§€μ° λ§μμ§
Nonblocking I/O
- Aν¨μκ° I/Oμμ μ νΈμΆνμ λ, I/O μμ μ΄ μλ£λ λκΉμ§ Aν¨μμ μμ μ μ€λ¨νμ§ μκ³ I/O νΈμΆμ λν΄ μ¦μ 리ν΄νκ³ , Aν¨μκ° μ΄μ΄μ λ€λ₯Έ μΌμ μνν μ μλλ‘ νλ λ°©μμ μλ―Έ
→ read I/Oλ₯Ό νκΈ° μν΄ system callμ μννλ©΄, 컀λμ I/O μμ μλ£ μ¬λΆμλ 무κ΄νκ² μ¦μ μλ΅
- 컀λ μμ μ€μ νλ‘μΈμ€/μ€λ λλ μμ μ μμ μ μ§ν
- 컀λμ΄ μμ€ν μ½μ λ°μλ§μ CPU μ μ΄κΆμ λ€μ μ΄ν리μΌμ΄μ μκ² λκ²¨μ€ μ΄ν리μΌμ΄μ μ I/O μμ μ΄ μλ£λκΈ° μ μ λ€λ₯Έ μμ μ μνν μ μμ + μ΄ν리μΌμ΄μ μ λ€λ₯Έ μμ μ μννλ€κ° μ€κ°μ€κ° μμ€ν μ½μ 보λ΄μ I/Oκ° μλ£λλμ§ μ»€λμκ² λ¬Όμ΄λ³΄κ³ , μλ£λλ©΄ I/Oμμ μ μλ£ν¨
'CS > Network' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CS] Blocking/Non-blocking & Synchronous/Asynchronous (1) | 2024.01.30 |
---|---|
[CS] Load Balancing (λ‘λλ°Έλ°μ±) (0) | 2024.01.26 |
[CS] TLS/SSL HandShake (0) | 2024.01.26 |
[CS] HTTP & HTTPS (0) | 2024.01.26 |
[CS] λμΉν€ & 곡κ°ν€ (1) | 2023.11.29 |