TIL (Today I Learned)/OS
[OS] ์ปดํจํฐ ์์คํ ๊ฐ์
loki d
2021. 10. 31. 17:50
728x90

์ปดํจํฐ ์์คํ ๊ฐ์
ํ๋ก์ธ์
- ์ปดํจํฐ์ ๋๋(์ค์์ฒ๋ฆฌ์ฅ์น)
- ์ปดํจํฐ์ ๋ชจ๋ ์ฅ์น์ ๋์ ์ ์ด
๋ ์ง์คํฐ
- ํ๋ก์ธ์ ๋ด๋ถ์ ์๋ ๋ฉ๋ชจ๋ฆฌ
- ํ๋ก์ธ์ ์ฌ์ฉํ ๋ฐ์ ์ ์ฅ
- ์ปดํจํด์ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ
- ๋ ์ง์คํฐ์ ์ข
๋ฅ
- ์ฉ๋ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ์ ์ฉ / ๋ฒ์ฉ
- ์ฌ์ฉ์๊ฐ ์ ๋ณด ๋ณ๊ฒฝ ๊ฐ๋ฅ ์ฌ๋ถ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ์ฌ์ฉ์ ๊ฐ์ / ์ฌ์ฉ์ ๋ถ๊ฐ์
- ์ ์ฅ ํ๋ ์ ๋ณด์ ์ข
๋ฅ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ๋ฐ์ดํฐ / ์ฃผ์ / ์ํ
- ์ฉ๋ ๋ฐ๋ฅธ ๋ถ๋ฅ
ํ๋ก์ธ์์ ๋์

๋ฉ๋ชจ๋ฆฌ
- ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฅ์น (๊ธฐ์ต์ฅ์น)
- ๋ฉ๋ชจ๋ฆฌ์ ์ข
๋ฅ
- ์ฃผ๊ธฐ์ต์ฅ์น(Main memory) : ํ๋ก์ธ์๊ฐ ์ํํ ํ๋ก๊ทธ๋จ๊ณ ๋ฐ์ดํฐ ์ ์ฅ / ๋์คํฌ ์ ์ถ๋ ฅ ๋ณ๋ชฉํ์(I/O bottleneck) ํด์

๋ฉ๋ชจ๋ฆฌ์ ์ข ๋ฅ
- ์บ์ : ํ๋ก์ธ์ ๋ด๋ถ์ ์๋ ๋ฉ๋ชจ๋ฆฌ (L1, L2 ์บ์ ๋ฑ)
- ์๋ ๋น ๋ฅด๊ณ ๊ฐ๊ฒฉ์ด ๋น์
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ถ๋ ค ๋ณ๋ชฉํ์ ํด์
์บ์์ ๋์
- ์ผ๋ฐ์ ์ผ๋ก HW์ ์ผ๋ก ๊ด๋ฆฌ ๋จ
- ์บ์ ํํธ : ํ์ํ ๋ฐ์ดํฐ ๋ธ๋ก์ด ์บ์ ์กด์ฌ
- ์บ์ ๋ฏธ์ค : ํ์ํ ๋ฐ์ดํฐ ๋ธ๋ก์ด ์๋ ๊ฒฝ์ฐ
์ง์ญ์ฑ (Locality)
- ๊ณต๊ฐ์ ์ง์ญ์ฑ (Spatial locality)
- ์ฐธ์กฐํ ์ฃผ์์ ์ธ์ ํ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๋ ํน์ฑ
- ์) ์์ฐจ์ ํ๋ก๊ทธ๋จ ์ํ
- ์๊ฐ์ ์ง์ญ์ฑ (Temporal locality)
- ํ ๋ฒ ์ฐธ์กฐํ ์ฃผ์๋ฅผ ๊ณง ๋ค์ ์ฐธ์กฐํ๋ ํน์ฑ
- ์) For๋ฌธ ๋ฑ์ ์ํ ๋ฌธ
- ์ง์ญ์ฑ์ ์บ์ ์ ์ค๋ฅ ๊ณผ ๋ฐ์
- ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ํฅ์ ์ํ ์ค์ํ ์์ ์ค ํ๋

๋ฉ๋ชจ๋ฆฌ์ ์ข ๋ฅ
- ๋ณด์กฐ๊ธฐ์ต ์ฅ์น
- ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ํ๋ก์ธ์๊ฐ ์ง์ ์ ๊ทผํ ์์์
- ใ ใ ๋์ด ํฌ๊ณ ๊ฐ๊ฒฉ์ด ์ ๋ ด
๋ฉ๋ชจ๋ฆฌ์ ์ด์์ฒด์
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ ๊ด๋ฆฌ
- ํ๋ก๊ทธ๋จ์ ์์ฒญ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ ํ์
- ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
int main(void) { char *string; // Allocate space for a path name string = malloc( _MAX_PATH); ... }
๊ฐ์๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ฑ ๋ฐ ๊ด๋ฆฌ
- ๋ ผ๋ฆฌ์ฃผ์ -> ๋ฌผ๋ฆฌ์ฃผ์ ๋ณํ
System Bus
- ํ๋์จ์ด๋ค์ด ๋ฐ์ดํฐ ๋ฐ ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฌผ๋ฆฌ์ ์ธ ํต๋ก
์ฃผ๋ณ ์ฅ์น
- ํ๋ก์ธ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ธ ํ๋์จ์ด๋ค
- ์ ๋ ฅ ์ฅ์น
- ์ถ๋ ฅ ์ฅ์น
- ์ ์ฅ ์ฅ์น
์ฃผ๋ณ์ฅ์น์ ์ด์์ฒด์
- ์ฅ์น ๋๋ผ์ด๋ฒ ๊ด๋ฆฌ
- ์ฃผ๋ณ ์ฅ์น ์ฌ์ฉ์ ์ํ ์ธํฐํ์ด์ค ์ ๊ณต
- ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ
- ์ฃผ๋ณ ์ฅ์น์ ์์ฒญ ์ฒ๋ฆฌ
- ํ์ผ ๋์คํฌ ๊ด๋ฆฌ
- ํ์ผ ์์ฑ ๋ฐ ์ญ์
- ๋์คํฌ ๊ณต๊ฐ ๊ด๋ฆฌ