[CS] ์ค๋ฒํค๋ / ํ๋ก์ธ์ค / ์ค๋ ๋
์ค๋ฒํค๋
์ค๋ฒํค๋๋ ํน์ ์์
์ ์ํํ๊ธฐ ์ํด ๊ฐ์ ํน์ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ์์
์ด๋ ๋น์ฉ์ ์๋ฏธํ๋ค. ์ฌ๊ธฐ์ ๋น์ฉ์ ์ปดํจํฐ์ ์ฒ๋ฆฌ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด ์ฒ๋ฆฌ์๊ฐ 10์ด๊ฐ ํ์ํ A
๊ธฐ๋ฅ์ ์์ ์ฑ์ ์ํ ๋ถ๊ฐ๊ธฐ๋ฅ B
๋ฅผ ์ถ๊ฐํ ๊ฒฐ๊ณผ ์ด 15์ด๊ฐ ์์๋๋ค๋ฉด, ์ค๋ฒํค๋๋ 5์ด๊ฐ ๋๋ค.
์ค๋ฒํค๋๋ ํ์ค ์ธ๊ณ์์ ๋งํธ์ ์ฅ๋ณด๋ฌ ๊ฐ๋ ๊ฒ์ ๋น์ ํ๋ฉด ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค. 10๋ง ์์ด์น ๋ฌผ๊ฑด์ ๊ตฌ๋งคํ๊ธฐ(๋ฉ์ธ ์์
A
) ์ํด ๋งํธ๊น์ง ๊ฐ๋ ์ผ(๋ถ๊ฐ ์์
B
)์ ์ฅ๋ณด๊ธฐ์์ ํฐ ๋ถ๋ถ์ ์ฐจ์งํ์ง ์๋๋ค.
ํ์ง๋ง ๊ป ํ๋๋ง ์ฌ๊ธฐ ์ํด(์์ A) ๋งํธ๊น์ง ๊ฐ๋ค๋ฉด, ๋งํธ๊น์ง ์ด๋ํ๋ ์ผ(๋ถ๊ฐ ์์ B)์ ์ฅ๋ณด๊ธฐ์์ ์๋์ ์ผ๋ก ํฐ ๋ถ๋ถ์ ์ฐจ์งํ๋ค. ์ด๋ ๊ป์ ์ฌ๊ธฐ ์ํด ๋งํธ๊น์ง ๊ฐ๋ ๊ฑด ์ค๋ฒํค๋๊ฐ ๋๋ฌด ํฌ๋ค๊ณ ๋งํ ์ ์๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ์์ ํจ์ ํธ์ถ, ๋คํธ์ํฌ ๋ฐ์ดํฐ ์ ์ก ๋ฑ ๋ค์ํ ์ํฉ์์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
- ํจ์ ํธ์ถ : ํธ์ถ ์คํ ์์ฑ, ํ๋ผ๋ฏธํฐ ๋ณต์ฌ, ์ง์ญ๋ณ์ ํ ๋น ๋ฑ
- ๋ฐ์ดํฐ ์ ์ก : ๋ฐ์ดํฐ๋ฅผ ํจํท์ผ๋ก ๋ถ๋ฆฌ, ํจํท ํค๋ ์ถ๊ฐ ๋ฑ
- ํ๋ก์ธ์ค : ์คํ ์ค๋ ๋(Thread)๋ณด๋ค ๋ ๋ง์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ํฌ๋ค๊ณ ํํ
ํ๋ก์ธ์ค์ ์ค๋ ๋
๐ก TL;DR
- ํ๋ก์ธ์ค : ์์์ ํ ๋น ๋ฐ๋ ์์ ๋จ์ (์ํ์ผ๋ก ๋น์ )
- ์ค๋ ๋ : ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ ๋จ์ (์ํ ์ฐฝ๊ตฌ๋ก ๋น์ )
- ์ฐธ๊ณ ๋ก Thread๋ ์ค์ด๋ ๋ป์ด๋ค
ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ์์คํ ์์์ ํ ๋น๋ฐ๋ ์์ ์ ๋จ์๋ก, ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ํ์ฌ ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋ ๋ฆฝ์ ์ธ ์ธ์คํด์ค๋ค. ๋ํ์ ์ธ ์์คํ ์์์ ์๋ ์ข ๋ฅ๊ฐ ์๋ค.
- CPU Time : ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์๊ฐ
- ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ: Code, Data, Stack, Heap ๊ตฌ์กฐ
- ํ์ผ : ํ์ผ์ ์ ๊ทผํด์ ์ฝ๊ธฐ / ์ฐ๊ธฐ
- ์ ์ถ๋ ฅ(I/O) ์ฅ์น : ํค๋ณด๋, ๋ชจ๋ํฐ, ํ๋ฆฐํฐ ๋ฑ
- …
์ค๋ ๋๋ ํ๋ก์ธ์ค๊ฐ ํ ๋น ๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ ๋จ์๋ค. ๊ฐ ์ค๋ ๋๋ Register / Stack๋ง ํ ๋น๋ฐ๊ณ , Code / Data ๊ฐ์ ์์ญ์ ๊ณต์ ํ๋ค. 1๊ฐ ํ๋ก์ธ์ค์ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ์กด์ฌํ ์ ์์ผ๋ฉฐ, ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ๋ค. ์ค๋ ๋๊ฐ ์คํ๋๋ฉด CPU๋ ๋ ์ง์คํฐ์ ์ ์ฅ๋ ๊ฐ์ ์ฌ์ฉํ์ฌ ์ฐ์ฐ์ ์ํํ๋ค.
๋ ์ง์คํฐ๋ CPU ๋ด๋ถ์ ์๋ ๊ณ ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ช ๋ น์ด๋ฅผ ์คํํ๋๋ฐ ํ์ํ ๋ฐ์ดํฐ์ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ค. ์๋๊ฐ ๋น ๋ฅธ ๋ ์ง์คํฐ์ ์ค๋ ๋๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ์ผ๋ก์จ CPU๊ฐ ์ก์ธ์คํ๋ ์๋์ ์ค๋ ๋๊ฐ ์ ํ์ด ๋น ๋ฅด๊ฒ ์ด๋ค์ง ์ ์๋ ๊ฒ.
์ฆ, ์ค๋ ๋๋ ํ๋ก์ธ์ค๋ณด๋ค ์์ฑ, ์ข ๋ฃ, ์ ํ ์๊ฐ์ด ์งง๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ๋ ํจ์จ์ ์ด๋ค.
๋ ํผ๋ฐ์ค
- Wikiwand - ์ค๋ฒํค๋
- ์ค๋ฒํค๋๋? - ์ธํ๋ฐ | ์ง๋ฌธ & ๋ต๋ณ
- ์ฐ๋ ๋(Thread)๋ ๋ฌด์์ธ๊ฐ?
- [OS] ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด - Heee's Development Blog
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ๋์์ ํจ๊ณผ Algebraic Effect (0) | 2024.05.18 |
---|---|
[Git] 1Password์ ์ ์ฅํ SSH ํค๋ก Git ์ปค๋ฐ ์๋ช ํ๊ธฐ (0) | 2024.05.18 |
[JS] ๋ฌธ์ฅ, ๋จ์ด, ์์๋ณ๋ก ๋ฌธ์์ด ๋ถ๋ฆฌํ๊ธฐ (0) | 2024.05.17 |
[TS] ํ์ ์คํฌ๋ฆฝํธ์ ๊ณต๋ณ์ฑ / ๋ฐ๊ณต๋ณ์ฑ / ์ด๋ณ์ฑ (0) | 2024.05.17 |
[React] ๋ฆฌ์กํธ์์ Rendering ๋ ๋๋ง์ด๋? (0) | 2024.05.16 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[React] ๋์์ ํจ๊ณผ Algebraic Effect
[React] ๋์์ ํจ๊ณผ Algebraic Effect
2024.05.18 -
[Git] 1Password์ ์ ์ฅํ SSH ํค๋ก Git ์ปค๋ฐ ์๋ช ํ๊ธฐ
[Git] 1Password์ ์ ์ฅํ SSH ํค๋ก Git ์ปค๋ฐ ์๋ช ํ๊ธฐ
2024.05.18 -
[JS] ๋ฌธ์ฅ, ๋จ์ด, ์์๋ณ๋ก ๋ฌธ์์ด ๋ถ๋ฆฌํ๊ธฐ
[JS] ๋ฌธ์ฅ, ๋จ์ด, ์์๋ณ๋ก ๋ฌธ์์ด ๋ถ๋ฆฌํ๊ธฐ
2024.05.17 -
[TS] ํ์ ์คํฌ๋ฆฝํธ์ ๊ณต๋ณ์ฑ / ๋ฐ๊ณต๋ณ์ฑ / ์ด๋ณ์ฑ
[TS] ํ์ ์คํฌ๋ฆฝํธ์ ๊ณต๋ณ์ฑ / ๋ฐ๊ณต๋ณ์ฑ / ์ด๋ณ์ฑ
2024.05.17