Analyze the Linux Kernel.
- 1์ฃผ์ฐจ : 1. ๋ฆฌ๋ ์ค ์ปค๋ ์ ๋ฌธ ~ 2. ์ปค๋๊ณผ์ ์ฒซ ๋ง๋จ
- 2์ฃผ์ฐจ : 3. ํ๋ก์ธ์ค ๊ด๋ฆฌ ~ 4. ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
- 3์ฃผ์ฐจ : 5. ์์คํ ํธ์ถ
- 4์ฃผ์ฐจ : 6. ์ปค๋ ์๋ฃ๊ตฌ์กฐ
- 5์ฃผ์ฐจ : 7. ์ธํฐ๋ฝํธ์ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ ~ 8. ํ๋ฐ๋ถ ์ฒ๋ฆฌ์ ์ง์ฐ๋ ์์
- 6์ฃผ์ฐจ : 9. ์ปค๋ ๋๊ธฐํ ๊ฐ์ ~ 10. ์ปค๋ ๋๊ธฐํ ๋ฐฉ๋ฒ
- 7์ฃผ์ฐจ : 11. ํ์ด๋จธ์ ์๊ฐ ๊ด๋ฆฌ
- 8์ฃผ์ฐจ : 12. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- 9์ฃผ์ฐจ : 13. ๊ฐ์ ํ์ผ์์คํ
- 10์ฃผ์ฐจ : 14. ๋ธ๋ก ์ ์ถ๋ ฅ ๊ณ์ธต
- 11์ฃผ์ฐจ : 15. ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ
- 12์ฃผ์ฐจ : 16. ํ์ด์ง ์บ์์ ํ์ด์ง ์ง์ฐ ๊ธฐ๋ก
- 13์ฃผ์ฐจ : 17. ์ฅ์น์ ๋ชจ๋
- 14์ฃผ์ฐจ : 18. ๋๋ฒ๊น
- 15์ฃผ์ฐจ : 19. ์ด์์ฑ
- 16์ฃผ์ฐจ : 20. ํจ์น, ํดํน, ๊ณต๋์ฒด
-
-
monolithic kernel๊ณผmicro kernel์ ์ฐจ์ด์ ์ ๋ฌด์์ด๊ณ , ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ ๋ฌด์์ธ๊ฐ? ๊ทธ๋ฆฌ๊ณ , ๋ฆฌ๋ ์ค ๋ ๋ ์ค ์ด๋์ ๊ฐ๊น์ด๊ฐ? -
๋ฆฌ๋ ์ค๊ฐ
Unix like (์ ๋์ค์ ๋น์ทํ๋ฉด์ ์ ๋์ค๊ฐ ์๋๋ค)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ? -
์ปค๋ ๋ฉ๋ชจ๋ฆฌ๋ ์ ํ์ด์ง ๊ธฐ๋ฅ ์ ์ฌ์ฉํ ์ ์๋๊ฐ?
-
SMP์ ํ์ฅ์ฑ์ด ๋ฎ์ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
-
-
-
x86 ์ํคํ ์ณ๋ ์ ๋ ์ง์คํฐ๋ฅผ ์๊ปด ์จ์ผ ํ๋๊ฐ? -
ํ๋ก์ธ์ค ์ ์ค๋ ๋ ์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ?
๋ฆฌ๋ ์ค์์ ์ค๋ ๋ ๊ฐ๋ ์ ๋ณ๋๋ก ์ ์ํ์ง ์๊ณ , ๋จ์ง ์์์ ๊ณต์ ํ๋ ํ๋ก์ธ์ค ์ ํํ๋ก ๊ตฌํํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
-
์ปค๋์ด ๋ถ๋ชจํ๋ก์ธ์ค ๋ณด๋ค ์์ํ๋ก์ธ์ค ๋ฅผ ์๋์ ์ผ๋ก ๋จผ์ ์คํํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
-
CFS ์ค์ผ์ค๋ฌ ๋ O(1) ์ค์ผ์ค๋ฌ ์ ์ด๋ค ๋ฌธ์ ์ ์ ํด๊ฒฐํ์์ผ๋ฉฐ, CFS ์ค์ผ์ค๋ฌ ๊ฐ ๊ฐ์ง๋ ํ๊ณ๋ ๋ฌด์์ธ๊ฐ?
- O(1) ์ค์ผ์ค๋ฌ ๋ ์ด๋ค ๋ถ์์ฉ์ ๊ฐ์ง๋๊ฐ? ๊ทธ๋ฌํ ๋ถ์์ฉ์ ๊ฐ์ง๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
๋ฆฌ๋ ์ค๊ฐ ๋ ๊ฐ์ง ๋ณ๊ฐ์ ์ฐ์ ์์ ๋จ์ (๋์ด์ค ๊ฐ, ์ค์๊ฐ ์ฐ์ ์์) ๋ฅผ ๊ฐ์ง๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ?
-
-
-
๊ฐ ํ๋ก์ธ์ค์ ํ ๋น๋๋
timeslice๋timer tick์ ์์กด์ ์ธ๋ฐ, ํ๋ก์ธ์ค์ ์ค์ ์คํ ์๊ฐ์ ๊ธฐ๋กํ๋vruntime์ด ์ด๋ป๊ฒtimer tick์ผ๋ก๋ถํฐ ๋ ๋ฆฝ์ ์ด๋ผ๊ณ ๋งํ ์ ์๋๊ฐ? -
์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด
์์คํ ํธ์ถ์ ์ฌ์ฉํ๋ ์ผ๋ จ์ ๊ณผ์ ์๊ตฌ์ฒด์ ์ธ ๋์๊ณผ๊ทธ ๋์์ ์ํํ๋ ์ฃผ์ฒด๋ฅผ ๋ช ์ํ์ฌ ์์ธํ ์ค๋ช ํ์์ค. -
์์คํ ํธ์ถ์ ์ง์ ๊ตฌํํ๋ ๊ฒ์ด ๊ถ์ฅ๋์ง ์๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ? -
์ปค๋ ๊ณต๊ฐ๊ณผ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ํด ๋ ผํ์์ค.
-
-
-
๋ฆฌ๋ ์ค์ ์ฐ๊ฒฐ๋ฆฌ์คํธ ๊ฐ ์ผ๋ฐ์ ์ธ ์ฐ๊ฒฐ๋ฆฌ์คํธ ๋ณด๋ค ๋์ ์ ์ ๋ฌด์์ธ๊ฐ?
-
๋ฆฌ๋ ์ค์ ๋ ๋๋ธ๋ํธ๋ฆฌ ๊ฐ ์ ํต์ ์ธ ๋ ๋๋ธ๋ํธ๋ฆฌ ์ ๋ค๋ฅธ ์ ์ ์ค๋ช ํ์์ค.
-
๋ฆฌ๋ ์ค์
CFS์ค์ผ์ค๋ฌ๊ฐrbtree๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ฅผrbtree๊ฐ ์ฌํ ์๋ฃ๊ตฌ์กฐ์ ๋น๊ตํ์ฌ ๊ฐ์ง๋ ์ฅ์ ์ ๊ทผ๊ฑฐ๋ก ์ค๋ช ํ์์ค. -
๊ฐ ์๋ฃ๊ตฌ์กฐ์ ์ฅ๋จ์ ์ ๊ธฐ์ ํ๊ณ , ์ฌ์ฉ๋๋ ์ํฉ์ ์์๋ก ์ ์ํ์์ค.
-
-
-
ํ๋์จ์ด์ ์ธํฐ๋ฝํธ ๊ฐ ๋ฐ์ํ ์์ ๋ถํฐ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ํ ์ด์ ์ ์คํ๋๋ ์์ ์ผ๋ก ๋์๊ฐ๊ธฐ๊น์ง์ ๊ณผ์ ์ ์์ธํ ์ค๋ช ํ์์ค. -
์ ์ญ cli()ํจ์ ๋ฅผ ์ ๊ฑฐํ ๊ฐ์ฅ ๊ฒฐ์ ์ ์ธ ์ด์ ๋ฅผ ์ค๋ช ํ์์ค.
-
์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฅผ ํ ๋ ์ ๋ฐ๋ถ ์ ํ๋ฐ๋ถ ๋ฅผ ๊ตฌ๋ถํ๋ ์ด์ ๋ฅผ ์ค๋ช ํ์์ค.
-
softirq,tasklet,workqueue์ ๋ํด ์ค๋ช ํ์์ค.
-
-
-
์คํ๋ฝ๊ณผ์ธ๋งํฌ์ด์ ํน์ง์ ์ค๋ช ํ๊ณ ,์คํ๋ฝ๊ณผ์ธ๋งํฌ์ด๊ฐ๊ฐ์ ์ด๋ ์กฐ๊ฑด ์์์ ์ฌ์ฉํ๋ฉด ์ข์์ง๋ฅผ ๋์ ์ฐจ์ด์ ์ ๊ทผ๊ฑฐ๋ก ํ์ฌ ์ค๋ช ํ์์ค. -
์ฌ๊ท์ ์ธ ๋ฝ์ ์ด๋ป๊ฒ ๊ตฌํ๋๋ฉฐ ์ธ์ ์ฌ์ฉํ๋๊ฐ?
-
๋ฐฐ๋ฆฌ์ด ์ ํ์์ฑ์ ์ค๋ช ํ๊ณ ๋ฐฐ๋ฆฌ์ด ํจ์๋ค์ ๊ธฐ๋ฅ์ ๋ํด ๋ ผํ์์ค.
-
๋ฝ์ ๊ตฌํํ ๋ ์ ๊ฒฝ์จ์ผ ํ ์ฌํญ๋ค์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์ง ๋ ผํ์์ค.
-
-
-
์์คํ ํ์ด๋จธ์์ง๋์๊ฐ ๋์ ๋์ ๋ฎ์ ๋์ ์ฅ๋จ์ ์ ๊ฐ๊ฐ ๊ธฐ์ ํ์์ค. -
ํ์ด๋จธ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ์ ๋์ ๊ณผ์ ์ ์์ ํ์์ค. -
์คํ ์ง์ฐํด๊ฒฐ์ฑ ๋ค์ ํน์ง๊ณผ ์ฅ๋จ์ ์ ๋ํด ๋ ผํ์์ค. -
schedule_timeout()์์์ ์ง์ฐ์์๋udelay,mdelay๋ณด๋ค ๋ ๋์ ํด๊ฒฐ์ฑ ์ธ๊ฐ?
-
-
-
๋ฆฌ๋ ์ค์low memory์high memory์ ๋ํด ์ค๋ช ํ์์ค. -
์ฌ๋ฉ์ด๋? -
CPU๋ณ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ป๋ ์ด์ ๊ณผ ๋จ์ ์ ๋ํด ๋ ผํ์์ค. -
vmalloc๊ณผkmalloc์ ์ฐจ์ด๋ฅผ ์ ๋ฆฌํ๊ณ , ๋ ์ฌ์ด์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์๊ธฐ๋ ์์๋ฅผ ํ๋ ๋์์ค.
-
-
-
VFS์ ์ด์ ์ ์ ์ํ๊ณ , ๊ทธ๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ฅผ ์ค๋ช ํ์์ค. -
์ํผ๋ธ๋ก ๊ฐ์ฒด ์ ๋ํด ์ค๋ช ํ์์ค.
-
์์ด๋ ธ๋ ๊ฐ์ฒด ์ ๋ํด ์ค๋ช ํ์์ค.
-
๋ดํธ๋ฆฌ ๊ฐ์ฒด ์ ๋ํด ์ค๋ช ํ์์ค.
-
ํ์ผ ๊ฐ์ฒด ์ ๋ํด ์ค๋ช ํ์์ค.
-
-
-
์นํฐ์๋ธ๋ก์ ๋ํด ์ค๋ช ํ์์ค. -
bio๊ตฌ์กฐ์ฒด์ ๋ํด ์ค๋ช ํ์์ค. -
buffer_head๊ตฌ์กฐ์ฒด์bio๊ตฌ์กฐ์ฒด์ ์ฐจ์ด์ ์ ์ ์ํ์์ค. -
deadline,as,cfq,noop์ ๋น๊ตํ์์ค.
-
-
-
mm_struct์vm_area_struct์ ๋ํด ์ค๋ช ํ์์ค. -
VMA ํ๋๊ทธ์ ๋ํด ์ค๋ช ํ์์ค. -
mmap์ ๋ํด ์ค๋ช ํ์์ค. -
ํ์ด์ง ํ ์ด๋ธ์ ์ด์ฉํด ๊ฐ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋ํด ์ค๋ช ํ์์ค.
-
-
-
ํ์ด์ง ์บ์ํ์ ๋ฐฉ๋ฒ์ ๋ฐ์ ๊ณผ์ ์ ๋ํด ๋ ผํ์์ค. -
ํ์ด์ง ์บ์์๋ฒํผ ์บ์์ ์ฐจ์ด์ ์ ๋ํด ๋ ผํ์์ค. -
bdflush->pdflush->flusher thread์ ๋ฐ์ ๊ณผ์ ์ ๋ํด ์์ ํ์์ค. -
๊ฒฝ์ ํํผ ๊ธฐ๋ฒ์ด ๋ฌด์์ธ์ง ์ค๋ช ํ๊ณ , ์ ์ฌ์ฉ๋๋์ง ๋ ผํ์์ค.
-
-
-
๋ธ๋ก ์ฅ์น์์บ๋ฆญํฐ ์ฅ์น์ ๋ํด ์ค๋ช ํ์์ค. -
๋ฆฌ๋ ์ค์์ ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์ป์ ์ ์๋ ์ฅ์ ์ ๋ํด ์ค๋ช ํ์์ค. -
ํตํฉ ์ฅ์น ๋ชจ๋ธ ์ ์ถ๊ฐํจ์ผ๋ก์จ ์ป์ ์ ์๋ ์ด์ ์ ๋ํด ์ค๋ช ํ์์ค.
-
kobject,ktypes,kset์ ์๊ด๊ด๊ณ์ ๋ํด ์ค๋ช ํ์์ค.
-
-
-
์ปค๋ ๋๋ฒ๊น๊ณผ์ฌ์ฉ์ ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ฒ๊น์ด ๋ฌด์์ด ๋ค๋ฅธ์ง ๋ ผํ์์ค. -
printf()์printk()์ ์ฐจ์ด์ ์ ๋ํด ๋ ผํ์์ค. -
๋๋ฒ๊ฑฐ๋ ์ด๋ป๊ฒ๋๋ฒ๊น์ ํ๋๊ฐ? -
ksymoops์ ํ์๊ณผ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผํ์์ค.
-
-
-
๋์ ์ด์์ฑ์ ์ฅ๋จ์ ์ ๋ํด ๋ ผํ์์ค.
-
์ด์์ฑ ์๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ์ด๋ค ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋์ง ๋ ผํ์์ค.
-
์ด์์ฑ ์๋ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ฐ์ดํฐ ํ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ ์ด์ ๋ฅผ ์ค๋ช ํ์์ค.
-
๋น ์๋์๊ณผ ๋ฆฌํ ์๋์์ ์ฐจ์ด์ ์ฅ๋จ์ ์ ์์๋ณด๊ณ , ์ด๊ฒ๋ค์ ํ์ฉํ๋ ์ํคํ ์ณ์ ๋ํด ๋ ผํ์์ค.
-
-
-
๋ฆฌ๋ ์ค ๊ฐ๋ฐ์๋ค์ด
typedef๋ฅผ ๊ธฐํผํ๋ ์ด์ ๋ฅผ ์ค๋ช ํ์์ค. -
๋ฆฌ๋ ์ค ๊ฐ๋ฐ์๊ฐ ๋ฒ๊ทธ๋ฅผ ๋ง๋ฌ์ ๋ ์ํํ๋, ์ ์ถ๊น์ง์ ์์ ์์์ ๋ํด ์ค๋ช ํ์์ค.
-
๋ฆฌ๋ ์ค ๊ฐ๋ฐ์๊ฐ ์ฃผ์์ ๋ฌ ๋ ์ ๊ฒฝ์จ์ผ ํ ์ฌํญ์ ๋ํด ์ค๋ช ํ์์ค.
-
ํจ์น๋ฅผ ๋ง๋ค๊ณ ์ ์ถํ๋ ๊ณผ์ ์ ๋ํด ์ค๋ช ํ์์ค.
-