12. Concurrent Programming {csapp}
HW exception handler, process, linux signal handler λͺ¨λ λμμ± νλ‘κ·Έλλ°μ μ€μν μμ. λλ¦° io λλ°μ΄μ€μ νκ³λ₯Ό 극볡ν μ μλ€. μ¬μ€ μΈκ°μ΄ μ»΄ν¨ν°μ μνΈμμ©νλ κ²λ IO λλ°μ΄μ€μ λμμ λ°μμΌ νκΈ°μ, λ§μ°μ€ ν΄λ¦, ν€λ³΄λ ν€μ€νΈλ‘ν¬ μ λΆ μ΄λ₯Ό μ²λ¦¬νλ λ³κ°μ νλ¦μΌλ‘ λμκ°κ³ μλ€. μμ μ λμμ μ²λ¦¬νκΈ° μν΄ νΉμ μμ μ λ€λ‘ λ―Έλ£° μλ μλ€. CPU νκ°μ μμ¦μ μ¬λ¬ μ½μ΄κ° λ¬λ € λμ€κΈ° λλ¬Έμ λ§μ μμ€ν μ μ μ΄λ μ±κΈμ½μ΄κ° ν μ μλ μΌμ μλ³΄λ€ λ λ§μ μμ μ λμμ μνν μ μλ€.
keywords
- IPC: νλ‘μΈμ€λΌλ¦¬λ λ©λͺ¨λ¦¬ 곡κ°μ 곡μ νλλ° νΉλ³ν λ°©λ²μ μ¨μΌ νλ€.
- IO-Multiplexing: fdλ₯Ό μ¬λ¬ μμ© νλ‘κ·Έλ¨λ€μ΄ 곡μ νλ 건κ°? =>
select
μpoll
λ μμ€ν μ½μ μ¬μ©ν κ²°κ³Όλ‘ νλ‘μΈμ€κ° μμ²ν μλ΅μ΄ μ¬ λκΉμ§ (λ€νΈμν¬λ, ν€λ³΄λ μ λ ₯μ΄λ) λΈλ‘ μνλ‘ λ§λλ κΈ°μ μ λ§νλ€. - Multi Threads: νλμ νλ‘μΈμ€ μμμ νλμ κ°μ λ©λͺ¨λ¦¬ μ£Όμ곡κ°μ 곡μ νλ λ³λμ μ€ννλ¦λ€.
INDEX
- 12.1. Concurrent Programming with Processes
- 12.2. Concurrent Programming with IO Multiplexing
- 12.3. Concurrent Programming with Threads {csapp}
- 12.4. Shared Variables in Threaded Programs
- 12.5. Synchronizing Threads with Semaphores
- 12.6. Using Threads for Paralleism
- 12.7. Other Concurrency Issues
- 12.8. Summary