๐ ๊ณต๋ถํ ๋ด์ฉ
Memory leak
- ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํด์ ๋์ง ์์ผ๋ฉด์ ๊ณ์ ์ ์ ๋๊ณ ์๋ ์ํ. ์ ์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ์๋ค๋ฉด ๊ผญ ํด์ฃผ์ด์ผํ๋ค.
// ์์
void function_with_allocates(){
float* a = malloc(sizeof(float));
}
int main(){
function_with_allocates();
return;
}
Deadlock
- ๊ต์ฐฉ ์ํ. ๋ ํ๋ก์ธ์ค๊ฐ ์๋ก ์ ์ ํ๊ณ ์๋ ์์์ ์๋ก ํ์๋ก ํ ๋ ๋ ํ๋ก์ธ์ค ๋ชจ๋ ์งํํ ์ ์๋ ์ํ.
Starvation
- ์ค๋ ๋๋ค์๊ฒ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํด ๊ณต์ ์์์ ์ ๊ทผํ ๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ์ค๋ ๋๊ฐ ์์ธ๋์ด ์๋ฌด๊ฒ๋ ํ์ง ๋ชปํ๋ ์ํ
→ ํด๊ฒฐ์ฑ ์ผ๋ก Aging์ด๋ผ๋ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
๐ - Thread
Time-sharing system
- ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์์ ์คํ๋๋ ํ๊ฒฝ
Context Switching
- ํ๋์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ก๋ถํฐ ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ก CPU์ ์ ์ด๊ถ์ด ์ด์๋๋ ๊ณผ์ .
- → ์ปค๋์ ์ํด ์ผ์ด๋๋ค.
โ ์๊ณ ๋ฆฌ์ฆ
1979 | G5 | ๋ฐฑํธ๋ํน | ์ํธ๋ง๋ค๊ธฐ | solved | … |
๐ญ ๋๋ ์ & ๋ฐฐ์ด ์
๋งค์ผ๋งค์ผ TIL์ ์จ์ผํ๋๋ฐ, ๊ณต๋ถ๋ ๋ฐ๋ก ํ๊ณ TIL์ ๋ฐ๋ก ํ๋ ค๊ณ ํ๋ค๋ณด๋ ์๊ฐ์ด 2๋ฐฐ๋ก ๋๋ ๊ฒ๋ ๊ต์ฅํ ๋นํจ์จ์ ์ธ ๊ฒ ๊ฐ๊ณ , ๊ธฐ๋กํ๋ ๊ณณ๋ ์ค๊ตฌ๋๋ฐฉ์ด๋ผ ์ ๋ฆฌํ๊ธฐ๊ฐ ๋๋ฌด ๋ณต์กํด์ ์ด์ ๋ ธ์ ์์ TIL์ ๊ณต๋ถํ๋ฉด์ ์ ๋ฆฌํ ๋ด์ฉ๋ค์ ๊ฐ์ด ์ฐ๊ณ , ์ ๋ฆฌํ ๋ด์ฉ๋ค์ Tistory์ ์ฎ๊ธฐ๋ ๋ฐฉ์์ผ๋ก ํ๋ ๊ฒ ๋์ ๊ฒ ๊ฐ๋ค.
๋ค์ ํ๋ฒ ์๊ฐ์ด ๋ ๊ฒ์ ๋ฌด์๋ณด๋ค ์ฝ๋ฉํ ์คํธ๊ฐ ์ฐ์ ์ด๋ค.
CS ์ง์์ ์ด์ฌํ ์๊ณ , ํ๋ก์ ํธ ์ค๋ ฅ์ ์๋๋ค ํ๋ค ์ฝ๋ฉํ ์คํธ๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋ค๋ฉด ์๋ฌด๋ฐ ์๋ฏธ๊ฐ ์๊ฒ ๋๋ค.
ํญ์ ์ด์ฌํ ํ ๊ฒ์ด๊ณ , ์ด์ฌํ ํ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์๋ผ๋ ์ฝ๋ฉํ ์คํธ๋ฅผ ๋ ์ด์ฌํ ๊ณต๋ถํ์.
๊ธ์๋ณดํ๋ฅผ ์๋ฌด๋ฆฌ ๋ง์ด ๋ค๊ณ ๊ธ์๋ฐฉ์ ์ฐพ์๊ฐ๋ค ๊ธ์๋ฐฉ ๋ฌธ์ ์ด์ง ๋ชปํ๋ฉด ๊ฒฐ๊ตญ ๋ง์ ๊ธ์๋ณดํ๊ฐ ์๋ฏธ๊ฐ ์๋ค.
ํญ์ ๋ง์ ์์ ๋์๊ธฐ๊ณ , ์ง์คํ๊ณ , ๋ชฐ์ ํ์.
๐ฅ ๋ด์ผ ๊ณต๋ถํ ๋ด์ฉ
- Thread.c ์ฝ๋ ๋ถ์
- Thread.h ์ฝ๋ ๋ถ์
- Alarm ๊ตฌํ
๐๏ธ ํฌ์คํ
ใ ๋น์ ์ ์ด๋ ๊ฒ ๋งํ๋ค. "ํ์ด์ ์ฐ๋ฆฌ๊ฐ ๊ตฌ์์ ๋ชฐ๋ฆด ๋ ๋ง์ฃผ์น๋ ๋ ์์ด๋ค." ํ์ง๋ง ์ค์ค๋ก์๊ฒ ํ์ด์ ๊ฐ์ ธ๋ค์ฃผ๋ ์ฌ๋์ด ์ด์ด ์ข์ ์ฌ๋์ด๋ผ๋ ๊ฒ์ ๋ช ์ฌํ๋ผ. ํ์ด์ ์ ์กฐ์จ๋ ์ํผ์ด์ ์ข์ ์ถฉ๋์ด๋ฉฐ, ์ข์ ํ๋์ธ ๋์์ ์ข์ ์ต๊ด์ด๊ธฐ ๋๋ฌธ์ด๋ค. ใ
-๋ง๋ฅด์ฟ ์ค ์์ฐ๋ ๋ฆฌ์ฐ์ค, ๋ช ์๋ก, 5.36
ํ์ด์ด๋ - ์ฌ๋ฐ๋ฅธ ๊ฒฐ์ ๊ณผ ์ค๋น๋ฅผ ํตํด ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ ์ฆ๊ฐ์ํค๋ ๊ฒ
์ ์ ํ ๋์ ์ ์ ํ ํ๋์ ํ๋ ๋ฐ ์ง์คํ์ฌ ํ์ด์ ์ป์ ์ ์๋๋ก ์ค๋นํ์. ์์ด๋ฌ๋ํ๊ฒ๋ ์ด ๊ฒฝ์ฐ ํ์ด์ ์ธ๋ชจ๊ฐ ์์ด์ง๊ฒ ๋๋ค.
ใ ์ฆ๊ฑฐ์์ ์ฌ๋ฐ๋ฅธ ์ผ์ ํ ๋ ์ฐ๋ฆฌ์๊ฒ ์ฐพ์์จ๋ค. ์ฌ๋ฐ๋ฅธ ์ผ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ํ์ธ์๊ฒ ์น์ ํ ํ๋์ ํ๋ ๊ฒ. ๊ฐ๊ฐ์ด ์ฐ๋ฆฌ ๋ง์์ ์์ง์ด์ง ๋ชปํ๋๋ก ์กฐ์ฌํ๋ ๊ฒ. ๋๋์ ์ฐธ๋ ๊ฐ์น๋ฅผ ์๋ณํ๊ณ ์์ฐ์ ์ง์์ ๊ทธ์ ๋ฐ๋ผ ์ผ์ด๋๋ ๋ชจ๋ ์ผ์ ๋ํด ๋ฌต์ํ๋ ๊ฒ์ด๋ค. ใ
-๋ง๋ฅด์ฟ ์ค ์์ฐ๋ ๋ฆฌ์ฐ์ค, ๋ช ์๋ก, 8.26
์คํ ์ ์ฒ ํ์ ๋จ์ง ์์ฐ์ด ๋ถ์ฌํ ๊ธฐ๋ณธ์ ์ธ ๋ณธ์ฑ์ ์ฐพ์๊ฐ๋ ์๋จ์ด๋ค. ์ฌ๋ฐ๋ฅธ ์ผ์ ํ๋ฉฐ ์ฆ๊ฑฐ์์ ๊ฒฝํํ ๋ ์ฐ๋ฆฌ๋ ์ธ๊ฐ์ ๋ณธ์ฑ์ ์ฐพ์ ์ ์๋ค.
ํ์ด์ด๋ ์ฌ๋ฐ๋ฅธ ๊ฒฐ์ ๊ณผ ์ค๋น๋ฅผ ํตํด ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ ์ฆ๊ฐ์ํค๋ ๊ฒ!!!