-
monolithic kernel๊ณผmicro kernel์ ์ฐจ์ด์ ์ ๋ฌด์์ด๊ณ , ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ ๋ฌด์์ธ๊ฐ? ๊ทธ๋ฆฌ๊ณ , ๋ฆฌ๋ ์ค ๋ ๋ ์ค ์ด๋์ ๊ฐ๊น์ด๊ฐ?-
-
- ์ปค๋์ ์์ค ์ฝ๋ ์ ์ฒด๊ฐ ๋์ผํ ์ปค๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฌ๋๋ค. ๋ฐ๋ผ์ ์ปค๋ ๋ด์์ ํจ์๋ฅผ ํธ์ถํ ๋ ๋ฐ๋ก ํต์ ์ ํ ํ์๊ฐ ์์ด ์ฑ๋ฅ๋ฉด์์ ๋ง์ดํฌ๋ก๋ณด๋ค ์ฐ์ํ ์ ์๋ค.
- ์ปค๋ ๊ณต๊ฐ์ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ด ์ ์ฌ๋์ด ์์ผ๋ฏ๋ก, ๋ฌธ๋งฅ ๊ตํ ๋น์ฉ์ด ๋ค์ง ์๋๋ค.
-
- ์ปค๋์ ์์ค ์ฝ๋ ์ ์ฒด๊ฐ ์ปค๋ค๋ ์ ์ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ๋์คํฌ์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์, ์ปค๋ ๋ชจ๋์์ ์ํ๋๋ ์ฝ๋์ ํฌ๊ธฐ๊ฐ ๋ง์ดํฌ๋ก๋ณด๋ค ํฌ๋ค. ๋ฐ๋ผ์ ํฐ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ํ์๋ก ํ๋ค.
- ์ปค๋ ์์ฒด๊ฐ ๋จ์ผ ํ๋ก์ธ์ค์ด๋ค๋ณด๋ ์ปค๋์ ๋ชจ๋ํ๋ฅผ ์ ๊ณตํ ๋ง์ดํฌ๋ก ์ปค๋๋ณด๋ค ์ ์ง๋ณด์๊ฐ ์ด๋ ค์ธ ์ ์๊ณ , ํน์ ๋ถ๋ถ์ ๋ฌธ์ ๊ฐ ์ปค๋ ์ ์ฒด์ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค.
-
-
-
monolithic kernel์ ์ปค๋์ ๋ง์ ๊ธฐ๋ฅ๋ค์ด ์ปค๋ ๊ณต๊ฐ์์ ์คํ๋๋ฏ๋ก, ์ค์๊ฐ ํ๋ก์ธ์ค๊ฐ ์ผ๋ฐ์ ์ธ ์์คํ ํธ์ถ์ ์ํด ๋ฐฉํด ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ๊ทธ์ ๋ฐํดmicro kernel์ ์ปค๋์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ปค๋ ๊ณต๊ฐ์ด ์๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฒ๋ผ ๋์ํ๊ฒ๋ ์ ๊ณตํ๋ฏ๋ก, ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ์ค์๊ฐ ํ๋ก์ธ์ค๊ฐCPU๋ฅผ ์ฐจ์งํ ๊ธฐํ๋ฅผ ์ฝ๊ฒ ์ป์ ์ ์๋ค.- ์ปค๋์ ๋ชจ๋ํ๋ก ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ๊ณ , ํน์ ํ๋ก์ธ์ค์ ๋ฌธ์ ๊ฐ ์ปค๋ ์ ์ฒด์ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค.
- ํ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ชจ๋ํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ก๋, ์ญ์ ํ ์ ์์ผ๋ฏ๋ก ์ ์ฐํ๋ค.
- ์ปค๋ ๊ณต๊ฐ์ ์์ค ํฌ๊ธฐ๊ฐ ์์ ์๋ฒ ๋๋์ ์ฌ์ฉํ๊ธฐ ์ข๋ค.
-
- ํ๋ก์ธ์ค ๊ฐ ํต์ ์
IPC๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฏ๋ก,monolithic kernel์๋ ๋ค๋ฅด๊ฒ ํต์ ์ ์ํ ๋ถ๊ฐ ์์ ์ด ํ์ํ๋ค. - ์ฌ์ฉ์ ๊ณต๊ฐ <-> ์ปค๋ ๊ณต๊ฐ ๊ฐ ๋ฌธ๋งฅ ๊ตํ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
- ํ๋ก์ธ์ค ๊ฐ ํต์ ์
-
-
๋ฆฌ๋ ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก
monolithic kernel์ด๋ค. ๊ทธ๋ฌ๋ ์์ ์ ๋ชธ์ธ ๋ฆฌ๋ ์ค๋micro kernel์ ์ฌ๋ฌ ์ฅ์ ๋ค ๋ํ ๊ฐ์ ธ์๋ค. ์ฆ, ๋ฆฌ๋ ์ค๋ ๊ธฐ๋ณธ์ ์ธmonolithic kernel๊ตฌ์กฐ์ ๋ํด, ๋ชจ๋ํ ์ค๊ณ, ์ ์ ํ, ๋ชจ๋ ๋์ ๋ก๋ ๋ฑ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.๋ฆฌ๋ ์ค๋ monolithic kernel์ด์ง๋ง, micro kernel์ ์ฌ๋ฌ ์ฅ์ ๋ค์ ๊ฐ์ ธ์๋ค.
-
-
๋ฆฌ๋ ์ค๊ฐ
Unix like (์ ๋์ค์ ๋น์ทํ๋ฉด์ ์ ๋์ค๊ฐ ์๋๋ค)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?-
- ๋ฆฌ๋ ์ค๋ ์ ๋์ค์ ์ฌ๋ฌ ์ค๊ณ ์ฒ ํ (Small is beautiful.) ์ ๊ณ์นํ๊ณ , ์ ๋์ค์ ํ์ค์ธ POSIX(์ ๋์ค API) ๋ฅผ ๋ง์กฑํ๋ค.
-
๋ฆฌ๋ ์ค๋ ์ฌํ ์ ๋์ค ์์คํ ๊ณผ๋ ๋ฌ๋ฆฌ, ์ ๋์ค ์์ค๋ฅผ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ง ์์๋ค. ๋ฆฌ๋ ์ค๋ ํน์ ํ ์ ๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋์ง ์์๊ธฐ ๋๋ฌธ์, ํ๋ ฅ์ ์ผ๋ก ๊ฐ์ฅ ์ข์ ํด๊ฒฐ์ฑ ๋ค์ ์ ํํด ์ ์ฉํ ์ ์์๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ์๋ก์ด ํด๊ฒฐ์ฑ ์ ๊ณ ์ํ๊ธฐ๋ ํ๋ค.
- ์ ํต ์ ๋์ค๋
monolithic kernel์ด๋ค. ๊ทธ์ ๋ฐํด ๋ฆฌ๋ ์ค๋ ๊ธฐ๋ณธ์ ์ธmonolithic kernel์ ๋ชจ๋์ ๋์ ๋ก๋ฉ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค. - ์ ํต์ ์ธ ์ ๋์ค์๋ ๋ค๋ฅด๊ฒ, ๋ฆฌ๋ ์ค๋ SMP ๋ฅผ ์ง์ํ๋ค.
- ์ ํต์ ์ธ ์ ๋์ค์๋ ๋ค๋ฅด๊ฒ, ๋ฆฌ๋ ์ค๋ ์ ์ ํ ์ด๋ค.
- ๋ฆฌ๋ ์ค๋ ํ๋ก์ธ์ค์ ์ค๋ ๋๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ , ๋ชจ๋ ๋๋ฑํ ํ๋ก์ธ์ค๋ก ๊ฐ์ฃผํ๋ค. ๋ค๋ง, ์์์ ๊ณต์ ํ๋ ํ๋ก์ธ์ค๊ฐ ์์ ๋ฟ์ด๋ค.
- ์ ํต ์ ๋์ค๋
-
-
ํ์ด์ง ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด๋ฉฐ, ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๋์ผํ ํฌ๊ธฐ์ ํ์ด์ง ๋ก ๋๋๋ ๊ฒ์ด๋ค. ์ดํ ํ์ด์ง ๋
MMU์ ์ํด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ ์ ๊ณผ ๋งตํ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๊ด์ฅํ๋ ๊ฒ ์ปค๋(์ด์์ฒด์ ) ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ปค๋ ์ด ์๊ธฐ ์์ ์ ํ์ด์ง ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊น?
ํ๋์ ์์๋ก, ์ปค๋์์๋ ๋ถ๋์์์ ์ฐ์ฐ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ๋์์์ ์ฐ์ฐ์ ํด์ผ ํ ๋, ์ปค๋์๊ฒํธ๋ฉ์ ๋ณด๋ธ๋ค. ์ปค๋์ํธ๋ฉ์ ๋ฐ์ผ๋ฉด ์ฐ์ฐ ๋ชจ๋๋ฅผ ๋ถ๋์์์ ๋ชจ๋๋ก ๋ฐ๊พผ๋ค. ๊ทธ๋ฌ๋ ์ปค๋์ ์์ ์ํธ๋ฉ์ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์, ๋ถ๋์์์ ์ฐ์ฐ ์ ๋ณต์กํ ๊ณผ์ ์ ์ํํ๊ฒ ๋๋ค.
์์ ์์์์ ๋ณผ ์ ์๋ฏ์ด, ์ปค๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง ํ์ง ๋ชปํ๋ ์ด์ ๋ํMMU์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ, ํ์ด์ง ๊ธฐ๋ฅ์ ๋ด๋นํ๋ ์ปค๋์ด ์์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง ํ๋ ๊ฒ์ด ๋ฒ๊ฑฐ๋ก์์ ๊ทธ๋ฐ ๊ฒ์ด๋ผ๊ณ ํ๋จํ๋ค. ์ด ์ฃผ์ ์ ๋ํ ํ ๋ก ํ ์์ง ํด๊ฒฐ๋์ง ์๋ ๊ถ๊ธ์ฆ์ด ๋จ์์์๋ค.์ปค๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ด์ง ๊ธฐ๋ฅ ์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์, ๊ธฐ์ ์ ์ผ๋ก ๊ตฌํ์ด ๋ถ๊ฐํ๋ค๋ ์๋ฏธ์ผ๊น, ์๋๋ฉด ๊ตฌํ์ด ๊ฐ๋ฅํ๋๋ผ๋ ์ฌ์ฉํ๋ ๊ฒ์ ๊ธ์งํ๋ค๋ ์๋ฏธ์ผ๊น?
-
SMP๋ ์ปดํจํฐ์ ์์์ ์ฌ๋ฌ ํ๋ก์ธ์๊ฐ ๋๋ฑํ ์ ์ฅ์์ ์ ๊ทผํ ์ ์๋ค. ๋ฐ๋ผ์ ํ๋ก์ธ์์ ๊ฐ์๋ฅผ ๋๋ฆฌ๋ฉด ํน์ ํ๋๊น์ง๋ ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆด ์ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ํ๋์ ๋ค๋ค๋ฅธ ์ํ์์ ํ๋ก์ธ์ ๊ฐ์๊ฐ ๋์ด๋๋ค๋ฉด, ๋ชจ๋ ํ๋ก์ธ์๋ค์ ๊ณตํต์ ์์์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์, ๋๊ธฐ ์๊ฐ์ด ๊ธธ์ด์ง๊ณ ์ถฉ๋์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ๋ฐ๋ผ์MPP๋ณด๋ค ํ์ฅ์ฑ์ด ๋ฎ๋ค. ์ด๋Scale Up๊ณผScale Out์ ๊ฐ๋ ๊ณผ๋ ์ ์ฌํ๋ค๊ณ ์๊ฐํ ์ ์๋ค.