728x90
1. ๋ฉํฐ ํ๋ก์ธ์ฑ (Multiprocessing)
ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC) ๊ธฐ๋ฒ
- ๊ณต์ ๋ฉ๋ชจ๋ฆฌ
- ์ ์: ๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ณต์ ํ์ฌ ํต์
- ํต์ ๋ฐฉ์: ์ธ๋ถ ํต์ ๋ถ๊ฐ, ์๋ฐฉํฅ
- ํ์ผ
- ์ ์: ํ๋ก์ธ์ค๋ค์ด ํ์ผ์ ํตํด ๋ฐ์ดํฐ ๊ตํ
- ํต์ ๋ฐฉ์: ์ธ๋ถ ํต์ ๊ฐ๋ฅ, ์๋ฐฉํฅ
- ์์ผ
- ์ ์: ๋คํธ์ํฌ๋ฅผ ํตํ ํต์ ๋ฐฉ์
- ํต์ ๋ฐฉ์: ์ธ๋ถ ํต์ ๊ฐ๋ฅ, ์๋ฐฉํฅ
- ์ต๋ช
ํ์ดํ
- ์ ์: ๋ถ๋ชจ-์์ ํ๋ก์ธ์ค ๊ฐ์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ํต์ ๋ฐฉ์: ์ธ๋ถ ํต์ ๋ถ๊ฐ, ๋จ๋ฐฉํฅ
- ๋ช
๋ช
๋ ํ์ดํ
- ์ ์: ๋ช ๋ช ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ๋ก์ธ์ค ๊ฐ ํต์
- ํต์ ๋ฐฉ์: ์ธ๋ถ ํต์ ๊ฐ๋ฅ, ์๋ฐฉํฅ
- ๋ฉ์ธ์งํ
- ์ ์ : ํ๋ก์ธ์ค ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๊ณ ์์ ํ ์ ์๋ ํ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ ํต์ ๋ฐฉ์
- ํต์ ๋ฐฉ์ : ์ธ๋ถ ํต์ ๊ฐ๋ฅ, ์๋ฐฉํฅ
- ์ฅ์ :
- ๋น๋๊ธฐ์ ํต์ ์ง์: ํ๋ก์ธ์ค๊ฐ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๊ณ , ์์ ์๋ ๋์ค์ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ ์์
- ๋ฉ์ธ์ง์ ์์ ๋ณด์ฅ: ๋ฉ์ธ์ง๋ FIFO(First In, First Out) ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋จ
- ๋จ์ :
- ๋ฉ์ธ์ง ํ์ ํฌ๊ธฐ ์ ํ: ํ์ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ฉด ๋ฉ์ธ์ง๊ฐ ์์ค๋ ์ ์์
- ๋ณต์ก์ฑ: ๋ฉ์ธ์ง ํ๋ฅผ ์ค์ ํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ถ๊ฐ์ ์ธ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์์
- ์ข ๋ฅ : Kafka, RabbitMQ, ActiveMQ
2. ์ค๋ ๋์ ๋ฉํฐ ์ค๋ ๋ฉ (Threads & Multithreading)
- ์ค๋ ๋
- ์ ์ : ํ๋์ ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ์์ ๋จ์
- ๋ฉํฐ ์ค๋ ๋ฉ
- ์ ์ : ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ ์ค๋ ๋๋ฅผ ๋์์ ์คํํ๋ ๋ฐฉ์
- ์ฅ์ : ์์ ํจ์จ์ฑ ์ฆ๊ฐ, ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ก ์ฑ๋ฅ ํฅ์
- ์์ : ์น ์๋ฒ์ ๋์ ์์ฒญ ์ฒ๋ฆฌ
3. ๊ณต์ ์์๊ณผ ์๊ณ ์์ญ (Shared Resources & Critical Section)
- ๊ณต์ ์์
- ์ ์ : ์ฌ๋ฌ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๋์์ ์ ๊ทผํ ์ ์๋ ์์ (์: ํ์ผ, ๋ฉ๋ชจ๋ฆฌ, ํ๋ฆฐํฐ ๋ฑ)
- ๋ฌธ์ ์ : ์ฌ๋ฌ ์ค๋ ๋ ๋๋ ํ๋ก์ธ์ค๊ฐ ๋์์ ๊ณต์ ์์์ ์ ๊ทผํ ๋, ์์์น ๋ชปํ ๋์์ด๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์
- ์์ : ๋ ๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ์ํ ๊ณ์ข์ ์์ก์ ์ ๋ฐ์ดํธํ๋ฉด ์๋ชป๋ ๊ฐ์ด ๊ธฐ๋ก๋ ์ ์์ (๊ฒฝ์ ์ํ ๋ฐ์)
- ๊ฒฝ์ ์ํ
- ์ ์ : ๋ ๊ฐ ์ด์์ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ๋์ผํ ์์์ ๋์์ ์ ๊ทผํ์ฌ ์์์ ์ํ๊ฐ ๋น์ผ๊ด์ฑ ์ํ์ ๋น ์ง๋ ๋ฌธ์
- ์์ : ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ๋ณ์์ ๊ฐ์ ๋์์ ์ฐ๋ฉด ์๋ชป๋ ๊ฐ์ด ์ ์ฅ๋ ์ ์์
- ์๊ณ ์์ญ
- ์ ์ : ์ฌ๋ฌ ์ค๋ ๋๋ ํ๋ก์ธ์ค๊ฐ ๋์์ ์ ๊ทผํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ์ฝ๋ ๊ตฌ๊ฐ (์ฃผ๋ก ๊ณต์ ์์์ ์ ๊ทผํ๋ ์ฝ๋)
** ์๊ณ ์์ญ ํด๊ฒฐ ๊ธฐ๋ฒ
- ๋ฎคํ ์ค(Mutex) : ํ๋์ ์ค๋ ๋๋ง ์๊ณ ์์ญ์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ์ ๊ธ์ ์ ๊ณตํ๋ ๋๊ธฐํ ๊ธฐ๋ฒ
- ์ธ๋งํฌ์ด(Semaphore) : ์นด์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ์์์ ์ ๊ทผํ๋ ํ์๋ฅผ ์ ์ด
- ๋ฐ์ด๋๋ฆฌ ์ธ๋งํฌ์ด: ๋ ์ํ(0, 1)๋ง ๊ฐ์ง, ๋ฎคํ ์ค์ ์ ์ฌํ๊ฒ ์ฌ์ฉ
- ์นด์ดํ ์ธ๋งํฌ์ด: ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ์๊ณ ์์ญ์ ์ ๊ทผ ๊ฐ๋ฅ
- ๋ชจ๋ํฐ(Monitor) : ๊ฐ์ฒด ๋จ์๋ก ์ ๊ทผ์ ์ ์ดํ์ฌ ์ค๋ ๋์ ์๊ณ ์์ญ ์ง์ ์ ๊ด๋ฆฌํ๋ ๋ฐฉ์
4. ๊ต์ฐฉ ์ํ (Deadlock)
- ๊ต์ฐฉ ์ํ ์ ์
- ๋ ๊ฐ ์ด์์ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ์๋ก ์์์ ์ ์ ํ ์ํ์์ ์๋ฌด๋ ์งํํ ์ ์๋ ์ํ
- ๊ต์ฐฉ ์ํ์ 4๊ฐ์ง ํ์ ์กฐ๊ฑด:
- ์ํธ ๋ฐฐ์ : ์์์ ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ์ ์ ๋๊ธฐ : ์์์ ์ ์ ํ ์ํ์์ ๋ค๋ฅธ ์์์ ๋๊ธฐ
- ๋น์ ์ : ์ ์ ํ ์์์ ๊ฐ์ ๋ก ๋บ์ ์ ์์
- ์ํ ๋๊ธฐ : ์์์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค ๊ฐ์ ์ํ ๋๊ธฐ๊ฐ ์กด์ฌ
- ํด๊ฒฐ ๋ฐฉ๋ฒ:
- ๊ต์ฐฉ ์ํ ์๋ฐฉ : ์กฐ๊ฑด ์ค ํ๋๋ฅผ ์์ ๊ธฐ
- ๊ต์ฐฉ ์ํ ํํผ : ์์ ํ ๋น ์ ๋ฏธ๋ฆฌ ๊ฒํ
- ๊ต์ฐฉ ์ํ ํ์ง ๋ฐ ๋ณต๊ตฌ : ๋ฐ์ ์ ํด๊ฒฐ ๋ฐฉ์ ๋ง๋ จ
728x90
'๐๏ธ ์คํฐ๋ ํ๋ > ๐ ๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ง๋ฌด๋ฆฌ] ์น ์ํ๊ด๋ฆฌ์ ์ธ์ฆ (0) | 2024.10.10 |
---|---|
[๋ง๋ฌด๋ฆฌ] ์น ํต์ ๊ธฐ์ด (1) | 2024.10.09 |
[๋คํธ์ํฌ] HTTP (1) | 2024.09.12 |
[๋์์ธํจํด] ์ ๋ต ํจํด (0) | 2024.09.10 |
[๋์์ธํจํด] MVVM ํจํด (0) | 2024.09.09 |