๐ง CS:APP | ์ปดํจํฐ ์์คํ
์์ ์ถ์ํ(Abstraction)์ ์ค์์ฑ
โ
์ถ์ํ๋?
๋ณต์กํ ์์คํ
์ ๋ ๋จ์ํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ๋ฐฉ์์ผ๋ก ํํํ๋ ๊ฒ
์ฆ, ์ธ๋ถ ์ฌํญ์ ์จ๊ธฐ๊ณ , ๋ณธ์ง๋ง ๋ณด์ฌ์ฃผ๋ ๊ฐ๋
์ ๋๊ตฌ
๐ ์ ์ปดํจํฐ ์์คํ
์์ ์ถ์ํ๊ฐ ์ค์ํ ๊น?
1๏ธโฃ ๋ณต์ก๋ ๊ด๋ฆฌ
- ์ปดํจํฐ ์์คํ
์ ์๋ง์ ๊ตฌ์ฑ ์์(CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ ๋ฑ)๋ก ์ด๋ค์ ธ ์์
- ๊ฐ๋ฐ์๊ฐ ๋ชจ๋ ์ธ๋ถ์ฌํญ์ ๋ค ์ดํดํ๊ณ ์ผํ ์๋ ์์
2๏ธโฃ ๊ณ์ธต์ ์ค๊ณ ๊ฐ๋ฅ
- ์ถ์ํ ๋๋ถ์ ์์คํ
์ ์ฌ๋ฌ ๊ณ์ธต(layer)์ผ๋ก ๋๋จ
์: ํ๋์จ์ด โ OS โ ์ปดํ์ผ๋ฌ โ ์ธ์ด โ ์ ํ๋ฆฌ์ผ์ด์
3๏ธโฃ ์ฑ๋ฅ & ์์ ์ฑ ์กฐ์
- ์ฑ๋ฅ ์ต์ ํ ์์๋ ์ถ์ํ๋ฅผ ๊นจ๊ณ ๋ ๋ฎ์ ๋ ๋ฒจ๋ก ๋ด๋ ค๊ฐ ์ ์์
- ์: ์ผ๋ฐ ๊ฐ๋ฐ์ ํ์ด์ฌ์ผ๋ก, ์ฑ๋ฅ์ด ์ค์ํ ๋ถ๋ถ๋ง C๋ก ์์ฑ
๐งฑ ์์คํ
์ ์ถ์ํ ๊ณ์ธต ์์
[์ ํ๋ฆฌ์ผ์ด์
] โ Python, Java, GUI ์ฑ
โ
[์ธ์ด/์ปดํ์ผ๋ฌ] โ C, ์ปดํ์ผ๋ฌ๊ฐ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ
โ
[OS ์ถ์ํ] โ ํ์ผ, ํ๋ก์ธ์ค, ๋ฉ๋ชจ๋ฆฌ ๋ฑ ์์ ์ ๊ณต
โ
[ํ๋์จ์ด] โ CPU, RAM, ๋์คํฌ, ๋คํธ์ํฌ
โ ๊ฐ๋ฐ์๋ ๋์ ๋ ๋ฒจ์์ ๋ณต์กํ ํ๋์จ์ด๋ฅผ ๋ชฐ๋ผ๋ ๊ฐ๋ฐ ๊ฐ๋ฅ
โ ํ์ํ๋ฉด ์ธ์ ๋ ๋ฎ์ ๋ ๋ฒจ๋ก ํ๊ณ ๋ค ์ ์์
๐ก CS:APP ์ฑ
์ ํต์ฌ ์ฒ ํ
"์ข์ ํ๋ก๊ทธ๋๋จธ๋ ์ปดํจํฐ ์์คํ
์ ์ดํดํ๊ณ ์ถ์ํ๋ฅผ ๋๋๋ค ์ ์์ด์ผ ํ๋ค."
- ๋ฒ๊ทธ๋ฅผ ๋๋ฒ๊น
ํ๊ฑฐ๋, ์ฑ๋ฅ์ ์ต์ ํํ๊ฑฐ๋, ๋ณด์์ ์ ๊ฒฝ ์ธ ๋
- ์ฐ๋ฆฌ๋ ๊ฒฐ๊ตญ โ์์คํ
์ด ์ค์ ๋ก ์ด๋ป๊ฒ ๋์ํ๋์งโ๋ฅผ ์์์ผ ํจ
โ
ํ ์ค ์ ๋ฆฌ
์ถ์ํ๋ ๊ฐ๋ฐ์์๊ฒ ๋ณต์กํ ์์คํ
์ ๋ค๋ฃฐ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ด๋ฉฐ,
๊ณ ์๋ ํ์ํ ๋ ์ถ์ํ ์๋๋ฅผ ๊ฟฐ๋ซ๋ ์ฌ๋์ด๋ค.