1. ์ด์์ฒด์ ์ ํ๋์จ์ด์ ๊ด๊ณ
2. ํ๋ก์ธ์
2.1. ๋ ์ง์คํฐ
3. ๋ฉ๋ชจ๋ฆฌ
3.1. ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ
3.2. ์ฃผ ๊ธฐ์ต์ฅ์น
3.3. ์บ์ (L1, L2 ์บ์ ๋ฑ)
3.4. ๋ณด์กฐ๊ธฐ์ต์ฅ์น
4. ์์คํ ๋ฒ์ค
5. ์ฃผ๋ณ ์ฅ์น์ ์ด์์ฒด์
1. ์ด์์ฒด์ ์ ํ๋์จ์ด์ ๊ด๊ณ
- ํ๋ก์ธ์์๊ฒ ์ฒ๋ฆฌํ ์์ ํ ๋น ๋ฐ ๊ด๋ฆฌ (ํ๋ก์ธ์ค ์์ฑ ๋ฐ ๊ด๋ฆฌ)
- ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ ์ฌ์ฉ ์๊ฐ ๊ด๋ฆฌ, ๋ณต์ ํ๋ก๊ทธ๋จ๊ฐ ์ฌ์ฉ ์๊ฐ ์กฐ์จ
- ํ๋ก๊ทธ๋จ์ ์์ฒญ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ ํ์, ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ฑ ๋ฐ ๊ด๋ฆฌ, ๋ ผ๋ฆฌ์ฃผ์ -> ๋ฌผ๋ฆฌ์ฃผ์ ๋ณํ
- ์ฃผ๋ณ ์ฅ์น ์ฌ์ฉ์ ์ํ ์ธํฐํ์ด์ค ์ ๊ณต (์ฅ์น๋๋ผ์ด๋ฒ ๊ด๋ฆฌ)
- ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ
- ํ์ผ ์์ฑ ๋ฐ ์ญ์ , ๋์คํฌ ๊ณต๊ฐ ๊ด๋ฆฌ
์ปดํจํฐ ํ๋์จ์ด๋ ํฌ๊ฒ ํ๋ก์ธ์, ๋ฉ๋ชจ๋ฆฌ, ์ฃผ๋ณ์ฅ์น๋ก ๋ถ๋ฅํ ์ ์๋ค.
2. ํ๋ก์ธ์

์ฐ์ฐ ์ํ(์ฐ์ฐ์ฅ์น)์ด ๊ฐ๋ฅํ๋ฉฐ ์ปดํจํฐ์ ๋ชจ๋ ์ฅ์น์ ๋์์ ์ ์ด(์ ์ด์ฅ์น)ํ๋ค.
2.1. ๋ ์ง์คํฐ
- ํ๋ง๋๋ก ๋งํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ค ํ๋์ด๋ค.
- ์ผ๋ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ค๋ฅธ ์ ์ ํ๋ก์ธ์ ๋ด๋ถ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ผ๋ ์ ์ด๋ค.
- ์ปดํจํฐ์์ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
์ฌ์ฉ์ ๊ฐ์ ๋ ์ง์คํฐ์ ์ฌ์ฉ์ ๋ถ๊ฐ์ ๋ ์ง์คํฐ๋ก ๋๋์ด์ง๋๋ฐ ์ฌ์ฉ์ ๊ฐ์ ๋ ์ง์คํฐ๋ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ๋ ์ง์คํฐ์ด๊ณ , ๋ถ๊ฐ์ ๋ ์ง์คํฐ๋ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ๋ ์ง์คํฐ์ด๋ค.
์ฌ์ฉ์ ๊ฐ์ ๋ ์ง์คํฐ์์๋ ์๋ฅผ ๋ค์ด C์ธ์ด์์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ทผํ ์ ์๋ค.
register int num = 10;
์ฌ์ฉ์ ๋ถ๊ฐ์ ๋ ์ง์คํฐ์๋ ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ๋ช ๋ น์ด ๋ ์ง์คํฐ, ๋์ฐ๊ธฐ, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๋ ์ง์คํฐ, ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ๋ ์ง์คํฐ๊ฐ ์กด์ฌํ๋ค.
- ํ๋ก๊ทธ๋จ ์นด์ดํฐ : ๋ค์์ ์คํํ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๋ ๋ ์ง์คํฐ
- ๋ช ๋ น์ด ๋ ์ง์คํฐ : ํ๋ก๊ทธ๋จ ์นด์ดํฐ์ ์ฃผ์๋ฅผ ํตํด ๊ฐ์ ธ์จ ํ์ฌ ์คํํ ๋ช ๋ น์ด๋ฅผ ๋ณด๊ดํ๋ ๋ ์ง์คํฐ
- ๋์ฐ๊ธฐ : ๊ณ์ฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ ์ ์๋ ๋ ์ง์คํฐ
- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๋ ์ง์คํฐ : ์ ๊ทผํ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๋ ๋ ์ง์คํฐ
- ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ๋ ์ง์คํฐ : ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๋ ๋ ์ง์คํฐ
3. ๋ฉ๋ชจ๋ฆฌ
3.1. ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ

์์ ์ด๋ฏธ์ง๋ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ์ธ๋ฐ, ์๋ก ์ฌ๋ผ๊ฐ์๋ก ์๋๊ฐ ๋นจ๋ผ์ง๋ ๋์ ๊ฐ๊ฒฉ์ด ๋น์ธ์ง๊ณ , ๊ฐ๊ฒฉ์ด ๋น์ธ๋๊น ์ฉ๋์ด ์์์ง๋ค.
3.2. ์ฃผ ๊ธฐ์ต์ฅ์น
- ํ๋ก์ธ์๊ฐ ์ํํ ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.
- ์๋ํ๋ฉด ํ๋ก์ธ์๊ฐ ์ง์ ์ ๊ทผํ ์ ์๋ ๊ฒ์ ์ฃผ ๊ธฐ์ต์ฅ์น์ด๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฌ ๋์ด์ผํ๋ค.
- ๋์คํฌ์์ ๊ฐ์ ธ์ค๋ฉด ์๋ ๊น? ๋์คํฌ ์ ์ถ๋ ฅ ๋ณ๋ชฉํ์ ๋๋ฌธ์ด๋ค.
- CPU์ ์ฑ๋ฅ ๋ฐ์ ์ ๋์คํฌ๊ฐ ์ซ์๊ฐ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.
3.3. ์บ์ (L1, L2 ์บ์ ๋ฑ)
- ํ๋ก์ธ์ ๋ด๋ถ์ ์๋ ๋ฉ๋ชจ๋ฆฌ์ด๋ฉฐ, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์คํฌ์ ๋ณ๋ชฉํ์์ ํด๊ฒฐํ์ผ๋ฉด ์บ์๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ณ๋ชฉํ์์ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํ๊ฒ ๋ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
- ์บ์์ ์ฉ๋์ ๊ต์ฅํ ์๋ค. ๊ทธ๋ฌ๋ฉด ์๋ง์ ๋ฐ์ดํฐ์ ๋ํด์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์๊น?
- ๊ณต๊ฐ์ ์ง์ญ์ฑ, ์๊ฐ์ ์ง์ญ์ฑ ๋๋ถ์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค.
๊ณต๊ฐ์ ์ง์ญ์ฑ
- ์ฐธ์กฐํ ์ฃผ์์ ์ธ์ ํ ์ฃผ์๋ฅผ ๋ค์ ์ฐธ์กฐํ ํ๋ฅ ์ด ๋๋ค.
- Ex) ์์ฐจ์ ํ๋ก๊ทธ๋จ ์ํ
์๊ฐ์ ์ง์ญ์ฑ
- ํ ๋ฒ ์ฐธ์กฐํ ์ฃผ์๋ฅผ ๊ณง ๋ค์ ์ฐธ์กฐํ ํ๋ฅ ์ด ๋๋ค.
- Ex) For ๋ฌธ
์ง์ญ์ฑ์ ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ํฅ์์ ์ํด์๋ ์ค์ํ ์์ ์ค ํ๋์ด๋ค.
for (int i=0; i<n; i++) {
for(int j=0; j<n; j++) {
// arr[i][j] vs arr[j][i]
}
}
์บ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ๊ทธ ๋ฐ์ดํฐ๋ง ์ ์ฅํ๋ ๊ฒ์ด ์๋, ๋ณดํต ๊ทธ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ Cache Line์ผ๋ก ์ ์ฅํ๋ค.
๋ง์ฝ arr[j][i]๋ก ์ฝ๊ฒ ๋๋ฉด Cache Line์ ํด๋น ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ง ์๊ธฐ ๋๋ฌธ์ Cache ๋ฉ๋ชจ๋ฆฌ์ ์ฅ์ ์ ๋๋ฆด ์ ์์ง๋ง arr[i][j]๋ก ์ฝ๊ฒ ๋๋ฉด arr[0][0]์์ Cache Line์ผ๋ก arr[0][0], arr[0][1].... ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์๊ธฐ ๋๋ฌธ์ Cache ๋ฉ๋ชจ๋ฆฌ์ ์ฅ์ ์ ๋๋ฆด ์ ์๋ค.
3.4. ๋ณด์กฐ๊ธฐ์ต์ฅ์น
- ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฅ์น์ธ๋ฐ, ํ๋ก์ธ์๊ฐ ์ง์ ์ ๊ทผํ ์ ์๋ค.
- ๋ง์ฝ ํ๋ก๊ทธ๋จ/๋ฐ์ดํฐ๊ฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฌ๊ฒ ๋๋ฉด ์ด๋ ํ์ฉํ๋ ๊ฒ์ด ํ๋ ๋์คํฌ์ ์ผ๋ถ๋ฅผ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ฒ๋ผ ์ฌ์ฉํ๋ ๋ฐฉ์์ธ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฒ์ด๋ค.
4. ์์คํ ๋ฒ์ค

ํ๋ก์ธ์, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ, ์ฃผ๋ณ์ฅ์น๋ค์ด ํต์ ์ ์ํด ์ฌ์ฉํ๋ ํต๋ก๊ฐ ์์คํ ๋ฒ์ค์ด๋ค.
- PC๊ฐ ์ฝ์ด์ผํ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ MAR์ ๊ธฐ๋ก์ ํ๋ฉด ์ฃผ์ ๋ฒ์ค๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ์๊ฒ ํด๋น ์ฃผ์๊ฐ ์ ๋ฌ๋๋ค.
- ๋์์ ์ ์ด ์ฅ์น๊ฐ ์ ์ด ์ ํธ๋ฅผ ๋ฐ์์์ผ, ๋ฉ๋ชจ๋ฆฌ์๊ฒ ํด๋น ์ฃผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ๋ฌ๋ผ๋ ์ ์ด์ ์ ํธ๋ฅผ ์ ๋ฌํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ๋ช ๋ น์ด๊ฐ ์ธ์ถ๋์ด ๋ฐ์ดํฐ ๋ฒ์ค๋ฅผ ํ๊ณ ๊ฐ MBR์ ์ ๋ ฅ๋๋ค.
- IR์ ๊ฒฐ๊ตญ ๋ค์์ ์ํ๋ ๋ช ๋ น์ด๊ฐ ์ต์ข ์ ์ผ๋ก ์ ์ฅ๋๋ค.
5. ์ฃผ๋ณ ์ฅ์น์ ์ด์์ฒด์
- ์ฅ์น ๋๋ผ์ด๋ฒ๋ ์ด๋ ํ ์ฃผ๋ณ ์ฅ์น๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก OS์๊ฒ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค์ด๋ค.
- ๋ณดํต ๋ฒค๋๋ค์ด ์ง์ API๋ฅผ ๊ฐ๋ฐํ๋๋ฐ OS๋ ์ด๋ฅผ ํตํด ์ฃผ๋ณ ์ฅ์น๋ฅผ ํ์ฉํ๋ค.
- ์ด๊ฒ์ด ๋ฐ๋ก ์ฅ์น ๋๋ผ์ด๋ฒ์ด๋ค.
Reference
https://sites.google.com/view/hpclab/courses/operating-system
HPC Lab., KOREATECH - Operating System
Operating System (CSE132)
sites.google.com