ÄÜÅÙÃ÷ »ó¼¼º¸±â
µð¹ö±ëÀ» ÅëÇØ ¹è¿ì´Â ¸®´ª½º Ä¿³ÎÀÇ ±¸Á¶¿Í ¿ø¸® 2


µð¹ö±ëÀ» ÅëÇØ ¹è¿ì´Â ¸®´ª½º Ä¿³ÎÀÇ ±¸Á¶¿Í ¿ø¸® 2

µð¹ö±ëÀ» ÅëÇØ ¹è¿ì´Â ¸®´ª½º Ä¿³ÎÀÇ ±¸Á¶¿Í ¿ø¸® 2

<±èµ¿Çö> Àú | À§Å°ºÏ½º

Ãâ°£ÀÏ
2021-06-07
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
7 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

½ÅÀÔ ¸®´ª½º ½Ã½ºÅÛ °³¹ßÀÚºÎÅÍ 5³âÂ÷ °³¹ßÀÚ°¡ ½Ç¹«¸¦ Çϱâ À§ÇØ ¾Ë¾Æ¾ß ÇÒ
¸®´ª½º Ä¿³ÎÀÇ ÁÖ¿ä ¼­ºê½Ã½ºÅÛ!


½ÇÀü °³¹ß¿¡¼­ ½ÅÀÔ »ç¿ø ¿·¿¡ Ä£ÀýÇÑ ¼±¹è °³¹ßÀÚ°¡ ¾É¾Æ¼­ ¸®´ª½º Ä¿³Î¿¡ ´ëÇØ ²Ä²ÄÇÏ°Ô ¾Ë·ÁÁÖµí, ¸®´ª½º Ä¿³ÎÀ» ½±°í Ä£ÀýÇÏ°Ô ¼³¸íÇϴ åÀÌ´Ù. ¡ºµð¹ö±ëÀ» ÅëÇØ ¹è¿ì´Â ¸®´ª½º Ä¿³ÎÀÇ ±¸Á¶¿Í ¿ø¸® 2¡»´Â ÃֽŠ¹öÀü(LTS: 4.19)ÀÇ ¸®´ª½º Ä¿³Î ¼Ò½º¸¦ ÇÔ¼ö È帧À» µû¶ó°¡¸ç ÀÚ¼¼È÷ ºÐ¼®ÇÏ°í ftrace¿Í TRACE32 °°Àº µð¹ö±ë ÅøÀ» È°¿ëÇØ Ä¿³ÎÀÇ µ¿ÀÛ ¿ø¸®¸¦ ¼³¸íÇÑ´Ù. ¶ÇÇÑ ¶óÁ¸® ÆÄÀÌ¿¡¼­ ¸®´ª½º Ä¿³ÎÀÇ ¼Ò½ºÄڵ带 Á÷Á¢ ¼öÁ¤ÇØ ¼³Ä¡ÇÑ ´ÙÀ½ Ä¿³ÎÀ» µð¹ö±ëÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. °¢ Àå¿¡¼­ ¼Ò°³ÇÏ´Â Ä¿³Î µð¹ö±ë ¹æ¹ýÀº ½Ç¹« °³¹ß¿¡ ±×´ë·Î Àû¿ëÇÒ ¼ö ÀÖ´Ù.

ÀúÀÚ¼Ò°³

LGÀüÀÚ¿¡¼­ 11³â° ÀÓº£µðµå ¸®´ª½º BSP ¿£Áö´Ï¾î·Î ÀÏÇÏ°í ÀÖ´Ù. ÁÖ·Î ¸®´ª½º Ä¿³Î µå¶óÀ̹ö¸¦ ¾ÈÁ¤È­(Kernel Stability Troubleshooting)Çϰųª º¸µå¸¦ ºê¸µ¾÷ÇÏ´Â °úÁ¦¿¡ Âü¿©Çß´Ù. ·Î¿ì ·¹ÀÌ¾î ¼ÒÇÁÆ®¿þ¾î(ºÎÆ®·Î´õ, ¸®´ª½º Ä¿³Î µå¶óÀ̹ö)ÀÇ ´Ù¾çÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â µð¹ö±ë ¹æ¹ý¿¡ °ü½ÉÀÌ ¸¹À¸¸ç ½Ç¹« Áö½ÄÀ» ºí·Î±×¸¦ ÅëÇØ ´Ù¸¥ °³¹ßÀÚ¿Í °øÀ¯ÇÏ´Â °ÍÀ» Áñ±ä´Ù.

¸ñÂ÷

¢Ã 08Àå: Ä¿³Î ŸÀÌ¸Ó °ü¸®
8.1 Ä¿³Î ŸÀ̸Ó(ÀúÇØ»óµµ Å¸À̸Ó)ÀÇ ÁÖ¿ä °³³ä
___8.1.1 HZ¶õ?
___8.1.2 Soft IRQÀÇ Å¸ÀÌ¸Ó ¼­ºñ½º¶õ?
___8.1.3 Soft IRQ ŸÀ̸Ó(TIMER_SOFTIRQ) ¼­ºñ½º¿Í µ¿Àû ŸÀ̸Ӷõ?
___8.1.4 Ä¿³ÎÀÌ ½ÇÇà ½Ã°¢À» °ü¸®ÇÏ´Â ¹æ½ÄÀ» ¿Ö Àß ¾Ë¾Æ¾ß ÇÒ±î?
___8.1.5 Ä¿³Î ŸÀÌ¸Ó ¿ë¾î Á¤¸®
8.2 jiffies¶õ?
___8.2.1 jiffies ¼Ò°³
___8.2.2 jiffies¿Í jiffies_64 º¯¼ö
___8.2.3 jiffies °ªÀº ´©°¡ ¾ðÁ¦ Áõ°¡½Ãų±î?
___8.2.4 msecs_to_jiffies() ÇÔ¼ö¶õ?
8.3 Ä¿³Î¿¡¼­ ½Ã°£À» È帧À» Á¦¾îÇÏ´Â ¹æ¹ý
___8.3.1 time_after()/time_before() ¸ÅÅ©·Î ÇÔ¼ö
___8.3.2 time_after()/time_before() ÇÔ¼öÀÇ »ç¿ë ¿¹
8.4 µ¿Àû ŸÀÌ¸Ó ÃʱâÈ­
___8.4.1 µ¿Àû ŸÀ̸ÓÀÇ Àüü È帧
___8.4.2 µ¿Àû ŸÀÌ¸Ó ÀڷᱸÁ¶
___8.4.3 µ¿Àû ŸÀÌ¸Ó ÃʱâÈ­ ÇÔ¼ö
8.5 µ¿Àû ŸÀÌ¸Ó µî·Ï
___8.5.1 µ¿Àû ŸÀ̸ÓÀÇ µî·Ï
___8.5.2 µ¿Àû ŸÀÌ¸Ó µî·Ï °úÁ¤ÀÇ ÁÖ¿ä ÇÔ¼ö
___8.5.3 µ¿Àû ŸÀÌ¸Ó µî·Ï °úÁ¤¿¡¼­ È£ÃâÇÏ´Â ÇÔ¼ö ºÐ¼®
8.6 µ¿Àû ŸÀ̸Ӵ ´©°¡ ¾ðÁ¦ ½ÇÇàÇÒ±î?
___8.6.1 Soft IRQ ŸÀÌ¸Ó ¼­ºñ½º¿¡¼­ µ¿Àû ŸÀ̸Ӹ¦ ½ÇÇàÇÏ´Â °úÁ¤
___8.6.2 Soft IRQ ŸÀÌ¸Ó ¼­ºñ½ºÀÇ 1~2´Ü°è ºÐ¼®
___8.6.3 Soft IRQ ŸÀÌ¸Ó ¼­ºñ½º¿¡¼­ µî·ÏµÈ µ¿Àû ŸÀ̸Ӹ¦ üũÇÏ´Â ´Ü°èÀÇ ÄÚµå ºÐ¼®
___8.6.4 Soft IRQ ŸÀÌ¸Ó ¼­ºñ½º Çڵ鷯¿¡¼­ µî·ÏµÈ µ¿Àû ŸÀ̸Ӹ¦ ½ÇÇàÇÏ´Â ´Ü°èÀÇ ÄÚµå ºÐ¼®
8.7 ¶óÁ¸® ÆÄÀÌ¿¡¼­ÀÇ µ¿Àû ŸÀÌ¸Ó ½Ç½À ¹× ·Î±× ºÐ¼®
___8.7.1 ftraceÀÇ µ¿Àû ŸÀÌ¸Ó µð¹ö±ë À̺¥Æ® ¼Ò°³
___8.7.2 ¶óÁ¸® ÆÄÀÌ¿¡¼­ÀÇ µ¿Àû ŸÀÌ¸Ó µî·Ï ¹× ½ÇÇà °úÁ¤À» ftrace·Î È®ÀÎÇϱâ
8.8 Á¤¸®

¢Ã 09Àå: Ä¿³Î µ¿±âÈ­
9.1 Ä¿³Î µ¿±âÈ­ÀÇ ÁÖ¿ä °³³ä
___9.1.1 ÀÓ°è ¿µ¿ª°ú ·¹À̽º ÄÁµð¼Ç
___9.1.2 ·¹À̽º ÄÁµð¼ÇÀº ¿Ö ¹ß»ýÇÒ±î?
___9.1.3 ·¹À̽º ÄÁµð¼Ç °ü·Ã Ä¿³Î ÆÐÄ¡
9.2 ·¹À̽º ÄÁµð¼Ç ¹ß»ý ½Ç½À
___9.2.1 À¯Àú ÇÁ·Î¼¼½º¿¡¼­ ½Ã½ºÅÛ ÄÝÀ» È£ÃâÇÒ ¶§ ¹ß»ýÇÏ´Â ·¹À̽º ÄÁµð¼Ç
___9.2.2 Ä¿³Î ÇÁ·Î¼¼½ºÀÇ ·¹À̽º ÄÁµð¼Ç
___9.2.3 ÀÎÅÍ·´Æ® ¹ß»ýÀ¸·Î ÀÎÇÑ ·¹À̽º ÄÁµð¼Ç ¹ß»ý
9.3 Ä¿³Î µ¿±âÈ­ ±â¹ý
___9.3.1 ½ºÇɶô°ú ¹ÂÅؽº ±â¹ý
___9.3.2 ½ºÇɶô°ú ¹ÂÅؽº ±â¹ýÀÇ Â÷ÀÌÁ¡
9.4 ½ºÇɶô
___9.4.1 ½ºÇɶôÀÇ Æ¯Â¡
___9.4.2 ½ºÇɶô ÀڷᱸÁ¶
___9.4.3 ½ºÇɶô »ç¿ë ¿¹Á¦
___9.4.4 ½ºÇɶô ó¸® È帧
___9.4.5 spin_lock() ÇÔ¼öÀÇ ÀζóÀÎ ¾î¼Àºí¸® ÄÚµå ºÐ¼®
___9.4.6 spin_lock() ÇÔ¼öÀÇ ¾î¼Àºí¸® ÄÚµå ºÐ¼®
___9.4.7 spin_unlock() ÇÔ¼ö ºÐ¼®
___9.4.8 ½ºÇɶô Ç÷¯±×ÀÎ ÇÔ¼ö: spin_lock_irq()/spin_unlock_irq()
___9.4.9 ½ºÇɶô Ç÷¯±×ÀÎ ÇÔ¼ö: spin_lock_irqsave()/spin_unlock_irqrestore()
9.5 ¹ÂÅؽº¶õ?
___9.5.1 ¹ÂÅؽºÀÇ ±âº» °³³ä
___9.5.2 ¹ÂÅؽºÀÇ fastpath µ¿ÀÛ
___9.5.3 ¹ÂÅؽº slowpath: mutex_lock() ÇÔ¼ö ºÐ¼®
___9.5.4 ¹ÂÅؽº slowpath: mutex_unlock() ÇÔ¼ö ºÐ¼®
9.6 Ä¿³Î µ¿±âÈ­ µð¹ö±ë
___9.6.1 ½ºÇɶô
___9.6.2 ¹ÂÅؽº µð¹ö±ë
9.8 Á¤¸®

¢Ã 10Àå: ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µ
10.1 ½ºÄÉÁÙ¸µÀÇ ÁÖ¿ä °³³ä
___10.1.1 ½ºÄÉÁÙ¸µÀ̶õ?
___10.1.2 ¼±Á¡ ½ºÄÉÁÙ¸µ°ú ºñ¼±Á¡ ½ºÄÉÁÙ¸µÀ̶õ?
___10.1.3 ÄÁÅؽºÆ® ½ºÀ§ÄªÀ̶õ?
___10.1.4 ½ºÄÉÁÙ¸µ Á¤Ã¥À̶õ?
___10.1.5 ½ºÄÉÁÙ·¯ Ŭ·¡½º¶õ?
___10.1.6 ·±Å¥¶õ?
___10.1.7 ¿ì¼±¼øÀ§(nice)¶õ?
10.2 ÇÁ·Î¼¼½º »óÅ °ü¸®
___10.2.1 ÇÁ·Î¼¼½º »óÅÂ
___10.2.2. ÇÁ·Î¼¼½º »óÅ º¯È­
___10.2.3 ¾î¶² ÇÔ¼ö°¡ ÇÁ·Î¼¼½º »óŸ¦ ¹Ù²Ü±î?
___10.2.4 ÇÁ·Î¼¼½º »óŸ¦ ftrace·Î È®ÀÎÇϱâ
10.3 ½ºÄÉÁÙ·¯ Ŭ·¡½º
___10.3.1 ½ºÄÉÁÙ·¯ Ŭ·¡½º ÀڷᱸÁ¶
___10.3.2 5°¡Áö ½ºÄÉÁÙ·¯ Ŭ·¡½º¶õ?
___10.3.3 ÇÁ·Î¼¼½º´Â ½ºÄÉÁÙ·¯ Ŭ·¡½º¸¦ ¾î¶»°Ô µî·ÏÇÒ±î?
___10.3.4 ÇÁ·Î¼¼½º´Â ½ºÄÉÁÙ·¯ Ŭ·¡½º·Î ½ºÄÉÁÙ·¯ÀÇ ¼¼ºÎ ÇÔ¼ö¸¦ ¾î¶»°Ô È£ÃâÇÒ±î?
10.4 ·±Å¥
___10.4.1 ·±Å¥ ÀڷᱸÁ¶(rq) ¼Ò°³
___10.4.2 runqueues º¯¼ö
___10.4.3 ·±Å¥¿¡ Á¢±ÙÇÏ´Â ÇÔ¼ö
___10.4.4 ·±Å¥ ÀڷᱸÁ¶
10.5 CFS ½ºÄÉÁÙ·¯
___10.5.1 CFS ½ºÄÉÁÙ·¯ÀÇ ÁÖ¿ä °³³ä
___10.5.2 CFS ½ºÄÉÁÙ·¯ ¾Ë°í¸®Áò
___10.5.3 CFS °ü·Ã ¼¼ºÎ ÇÔ¼ö ºÐ¼®
___10.5.4 vruntimeÀ» ftrace·Î È®ÀÎÇÏ´Â ½Ç½À
10.6 ¼±Á¡ ½ºÄÉÁÙ¸µ
___10.6.1 ¼±Á¡ ½ºÄÉÁÙ¸µÀ̶õ?
___10.6.2 ¼±Á¡ ½ºÄÉÁÙ¸µ ÁøÀÔÁ¡Àº ¾îµðÀϱî?
___10.6.3 ¼±Á¡ ½ºÄÉÁÙ¸µÀÇ ¹ß»ý ½ÃÁ¡À» ¾Æ´Â °ÍÀº ¿Ö Áß¿äÇÒ±î?
___10.6.4 ¼±Á¡ ½ºÄÉÁÙ¸µÀÇ ÁøÀÔÁ¡: Ä¿³Î ¸ðµå Áß ÀÎÅÍ·´Æ® ¹ß»ý
___10.6.5 ¼±Á¡ ½ºÄÉÁÙ¸µ ÁøÀÔÁ¡: À¯Àú ÇÁ·Î¼¼½º ½ÇÇà Áß ÀÎÅÍ·´Æ® ¹ß»ý
___10.6.6 ¼±Á¡ ½ºÄÉÁÙ¸µ ÁøÀÔÁ¡: À¯Àú ÇÁ·Î¼¼½º°¡ ½Ã½ºÅÛ ÄÝ Ã³¸®¸¦ ¸¶¹«¸®ÇÑ ÈÄ
___10.6.7 ¼±Á¡ ½ºÄÉÁÙ¸µ ºñÈ°¼ºÈ­/È°¼ºÈ­ ÇÔ¼ö preempt_disable()/preempt_enable() ¼Ò°³
10.7 ÇÁ·Î¼¼½º´Â ¾î¶»°Ô ±ú¿ï±î?
___10.7.1. ÇÁ·Î¼¼½º¸¦ ±ú¿î´Ù´Â °ÍÀº ¹«¾ùÀ» ÀǹÌÇÒ±î?
___10.7.2 ÇÁ·Î¼¼½º¸¦ ±ú¿ï ¶§ È£ÃâÇÏ´Â ÇÔ¼ö
___10.7.3 ±ú¿ì´Â ÇÁ·Î¼¼½º¸¦ ·±Å¥¿¡ »ðÀÔÇÏ´Â µ¿ÀÛ
10.8 ½ºÄÉÁÙ¸µÀÇ ÇÙ½É schedule() ÇÔ¼ö
___10.8.1 schedule() ÇÔ¼ö ºÐ¼®
___10.8.2 schedule() ÇÔ¼öÀÇ µ¿ÀÛ Á¤¸®
10.9 ÄÁÅؽºÆ® ½ºÀ§Äª
___10.9.1 ÄÁÅؽºÆ® ½ºÀ§ÄªÀ̶õ?
___10.9.2 ÄÁÅؽºÆ® ½ºÀ§Äª °ü·Ã ÀڷᱸÁ¶
___10.9.3 ÄÁÅؽºÆ® ½ºÀ§ÄªÀÇ ¼¼ºÎ ÄÚµå ºÐ¼®
___10.9.4 ftrace¸¦ ÀÌ¿ëÇÑ ÄÁÅؽºÆ® ½ºÀ§Äª µ¿ÀÛ È®ÀÎ
___10.9.5 ÄÁÅؽºÆ® ½ºÀ§Äª µð¹ö±ë
10.10 ½ºÄÉÁÙ¸µ µð¹ö±ë
___10.10.1 ftrace: sched_switch¿Í sched_wakeup À̺¥Æ® ¼Ò°³
___10.10.2 ftrace: ½ºÄÉÁÙ¸µ°ú ÇÁ·Î¼¼½º¸¦ ±ú¿ï ¶§ÀÇ ÄÝ ½ºÅà ÆľÇ
___10.10.3 ÇÁ·Î¼¼½º¸¦ ±ú¿ï ¶§ÀÇ ÄÝ ½ºÅà ºÐ¼®
10.11 Á¤¸®

¢Ã 11Àå: ½Ã½ºÅÛ ÄÝ
11.1 ½Ã½ºÅÛ ÄÝÀÇ ÁÖ¿ä °³³ä
___11.1.1 ½Ã½ºÅÛ ÄÝÀ̶õ?
___11.1.2 ½Ã½ºÅÛ ÄÝÀÇ Àüü È帧°ú °èÃþ
___11.1.3 ½Ã½ºÅÛ ÄÝÀÇ Æ¯Â¡
___11.1.4 ARM ÇÁ·Î¼¼¼­ °üÁ¡ÀÇ ½Ã½ºÅÛ ÄÝ Ã³¸®
___11.1.5 ½Ã½ºÅÛ ÄÝ Å×À̺íÀ̶õ?
11.2 À¯Àú °ø°£¿¡¼­ ½Ã½ºÅÛ ÄÝÀº ¾î¶»°Ô ¹ß»ýÇÒ±î?
___11.2.1 GNU C ¶óÀ̺귯¸®ÀÇ ½ÇÇà È帧
___11.2.2 À¯Àú °ø°£¿¡¼­ ½Ã½ºÅÛ ÄÝÀÌ ¹ß»ýÇÒ ¶§ÀÇ ¾î¼Àºí¸® ÄÚµå ºÐ¼®
11.3 Ä¿³Î ¸ðµå¿¡¼­ ½Ã½ºÅÛ ÄÝÀ» ¾î¶»°Ô ½ÇÇàÇÒ±î?
___11.3.1 ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍ·´Æ® º¤ÅÍ vector_swi´Â ¾î¶»°Ô ½ÇÇàµÉ±î?
___11.3.2 ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍ·´Æ® º¤ÅÍ vector_swi ÄÚµå ºÐ¼®
___11.3.3 Ä¿³Î °ø°£¿¡¼­ ½Ã½ºÅÛ ÄÝ Å×À̺í È®ÀÎ
11.4 ½Ã½ºÅÛ ÄÝ Çڵ鷯´Â ¾î¶»°Ô µ¿ÀÛÇÒ±î?
___11.4.1 ½Ã½ºÅÛ ÄÝ Á¾·ùº° ½Ã½ºÅÛ ÄÝ Çڵ鷯ÀÇ µ¿ÀÛ
___11.4.2 ¸Å°³º¯¼ö Á¡°Ë
11.5 ½Ã½ºÅÛ ÄÝÀÇ ½ÇÇàÀ» ¿Ï·áÇÑ ÈÄ¿¡´Â ¹«½¼ ÀÏÀ» ÇÒ±î?
___11.5.1 ret_fast_syscall ·¹À̺íÀÇ º¹±Í °úÁ¤
___11.5.2 ret_fast_syscall ·¹À̺íÀÇ Àüü ½ÇÇà È帧
___11.5.3 ½Ã±×³Î Àü´Þ ¹× ½ºÄÉÁÙ¸µ ½ÇÇà Á¶°Ç Á¡°Ë
___11.5.4 À¯Àú °ø°£À¸·Î º¹±Í
11.6 ½Ã½ºÅÛ ÄÝ °ü·Ã ÇÔ¼ö
___11.6.1 SYSCALL_DEFINEx ¸ÅÅ©·Î ºÐ¼®
___11.6.2 Àüó¸® Äڵ忡¼­ ½Ã½ºÅÛ ÄÝ Çڵ鷯 È®ÀÎ
11.7 ½Ã½ºÅÛ ÄÝ µð¹ö±ë
___11.7.1 ftrace ½Ã½ºÅÛ ÄÝ À̺¥Æ®
___11.7.2 ftrace ½Ã½ºÅÛ ÄÝ Çڵ鷯ÀÇ ÄÝ ½ºÅà ȮÀÎ
___11.7.3 strace¸¦ ÀÌ¿ëÇÑ ½Ã½ºÅÛ ÄÝ µð¹ö±ë
___11.7.4 strace¿Í ftrace¸¦ ÀÌ¿ëÇÑ ½Ã½ºÅÛ ÄÝ µð¹ö±ë
11.8 Á¤¸®

¢Ã 12Àå: ½Ã±×³Î
12.1 ½Ã±×³ÎÀ̶õ?
___12.1.1 À¯Àú ÇÁ·Î¼¼½º ÀÔÀå¿¡¼­ ½Ã±×³ÎÀ̶õ?
___12.1.2 ½Ã±×³Î ¹øÈ£¿Í µ¿ÀÛ ¹æ½Ä
___12.1.3 ½Ã±×³ÎÀ» ¹ÞÀ¸¸é ÇÁ·Î¼¼½º´Â ¾î¶»°Ô µ¿ÀÛÇÒ±î?
___12.1.4 Ä¿³Î¿¡¼­ ½Ã±×³ÎÀº ¾î¶»°Ô ó¸®ÇÒ±î?
___12.1.5 Ä¿³ÎÀÌ ½Ã±×³ÎÀ» ó¸®ÇÏ´Â µ¿ÀÛÀ» ¿Ö Àß ¾Ë¾Æ¾ß ÇÒ±î?
12.2 ½Ã±×³Î ¼³Á¤Àº ¾î¶»°Ô ÇÒ±î?
___12.2.1 À¯Àú °ø°£¿¡¼­ÀÇ ½Ã±×³Î ¼³Á¤
___12.2.2 Ä¿³Î °ø°£¿¡¼­ÀÇ ½Ã±×³Î ¼³Á¤
___12.2.3 ½Ã±×³Î °ü·Ã ½Ã½ºÅÛ È£Ãâ ÇÔ¼ö´Â ¹«¾ùÀϱî?
12.3 Ä¿³Î °ø°£ÀÇ ½Ã±×³Î ¼³Á¤ ÇÔ¼ö ºÐ¼®
___12.3.1 À¯Àú °ø°£¿¡¼­ sigaction() ÇÔ¼ö¸¦ È£ÃâÇßÀ» ¶§ÀÇ Ä¿³Î ½ÇÇà È帧
___12.3.2 À¯Àú °ø°£¿¡¼­ pause() ÇÔ¼ö È£Ãâ ½ÃÀÇ Ä¿³Î ½ÇÇà È帧 ÆľÇ
12.4 ½Ã±×³Î »ý¼º °úÁ¤ÀÇ ÇÔ¼ö ºÐ¼®
___12.4.1 À¯Àú ÇÁ·Î¼¼½ºÀÇ kill() ÇÔ¼ö ½ÇÇà
___12.4.2 À¯Àú ÇÁ·Î¼¼½ºÀÇ tgkill() ÇÔ¼ö ½ÇÇà
___12.4.3 Ä¿³ÎÀº ¾ðÁ¦ ½Ã±×³ÎÀ» »ý¼ºÇÒ±î?
___12.4.4 __send_signal() ÇÔ¼ö ºÐ¼®
___12.4.5 complete_signal() ÇÔ¼ö ºÐ¼®
12.5 ÇÁ·Î¼¼½º´Â ¾ðÁ¦ ½Ã±×³ÎÀ» ¹ÞÀ»±î?
___12.5.1 ret_fast_syscall ·¹ÀÌºí ºÐ¼®
___12.5.2 ÀÎÅÍ·´Æ® Çڵ鸵 ÈÄ __irq_usr ·¹À̺í ÄÚµå ºÐ¼®
12.6 ½Ã±×³Î Àü´Þ°ú 󸮴 ¾î¶»°Ô ÇÒ±î?
___12.6.1 do_work_pending()/do_signal() ÇÔ¼ö ºÐ¼®
___12.6.2 get_signal() ÇÔ¼ö ºÐ¼®
___12.6.3 handle_signal() ÇÔ¼ö¿Í ½Ã±×³Î Çڵ鷯 È£Ãâ ÄÚµå ºÐ¼®
12.7 ½Ã±×³Î Á¦¾î suspend() Á¦¾î¸¦ À§ÇÑ ºÐ¼®
___12.7.1 À¯Àú °ø°£ÀÇ suspend() ÇÔ¼ö
___12.7.2 Ä¿³Î °ø°£ÀÇ sys_rt_sigsuspend() ÇÔ¼ö ºÐ¼®
12.8 ½Ã±×³Î¿¡ ´ëÇÑ ftrace µð¹ö±ë
___12.8.1 ftraceÀÇ ½Ã±×³Î À̺¥Æ® ¼Ò°³
___12.8.2 ftrace¸¦ ÀÌ¿ëÇÑ ½Ã±×³ÎÀÇ ±âº» µ¿ÀÛ ·Î±× ºÐ¼®
___12.8.3 ftraceÀÇ ½Ã±×³Î Çڵ鷯 µ¿ÀÛ ·Î±× ºÐ¼®
12.9 Á¤¸®

¢Ã 13Àå: °¡»ó ÆÄÀÏ ½Ã½ºÅÛ
13.1 °¡»ó ÆÄÀÏ ½Ã½ºÅÛ ¼Ò°³
___13.1.1 °¡»ó ÆÄÀÏ ½Ã½ºÅÛÀ̶õ?
___13.1.2 °¡»ó ÆÄÀÏ ½Ã½ºÅÛÀÇ °øÅë ¸ðµ¨
___13.1.3 ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.1.4 À¯Àú ÇÁ·Î¼¼½º ÀÔÀå¿¡¼­ ÆÄÀÏ Ã³¸®
___13.1.5 ÆÄÀÏ ½Ã½ºÅÛº° ÆÄÀÏ ÇÔ¼ö ¿ÀÆÛ·¹À̼ÇÀÇ Ã³¸® °úÁ¤
13.2 ÆÄÀÏ °´Ã¼
___13.2.1 file ±¸Á¶Ã¼ ºÐ¼®
___13.2.2 ÆÄÀÏ °´Ã¼ÀÇ ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
13.3 ÆÄÀÏ °´Ã¼ÀÇ ÇÔ¼ö ¿ÀÆÛ·¹ÀÌ¼Ç µ¿ÀÛ ¹æ½Ä
___13.3.1 ÆÄÀÏÀ» ¿ÀÇÂÇÒ ¶§ÀÇ open ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.3.2 ÆÄÀÏÀ» ¾µ ¶§ÀÇ write ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.3.3 ÆÄÀÏÀ» ÀÐÀ» ¶§ÀÇ read ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.3.4 ÆÄÀÏ Æ÷ÀÎÅÍÀÇ À§Ä¡¸¦ °»½ÅÇÒ ¶§ÀÇ lseek ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.3.5 ÆÄÀÏÀ» ´ÝÀ» ¶§ÀÇ close ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
13.4 ÇÁ·Î¼¼½º´Â ÆÄÀÏ °´Ã¼ ÀڷᱸÁ¶¸¦ ¾î¶»°Ô °ü¸®ÇÒ±î?
___13.4.1 ÆÄÀÏ °´Ã¼ÀÇ ÆÄÀÏ µð½ºÅ©¸³ÅÍ Å×ÀÌºí µî·Ï
___13.4.2 ÆÄÀÏ µð½ºÅ©¸³ÅÍ·Î ÆÄÀÏ °´Ã¼¸¦ ·Îµù
___13.4.3 ÆÄÀÏ µð½ºÅ©¸³ÅÍ ÇØÁ¦
13.5 ½´ÆÛºí·Ï °´Ã¼
___13.5.1 ½´ÆÛºí·Ï °´Ã¼
___13.5.2 super_block ±¸Á¶Ã¼ ºÐ¼®
___13.5.3 ½´ÆÛºí·Ï ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.5.4 ½´ÆÛºí·ÏÀÇ ÇÔ¼ö ¿ÀÆÛ·¹ÀÌ¼Ç °ü·Ã ½Ã½ºÅÛ ÄÝ
___13.5.5 ½´ÆÛºí·Ï Á¤º¸¸¦ statfs ½Ã½ºÅÛ ÄÝ·Î Àд °úÁ¤
13.6 ¾ÆÀ̳ëµå °´Ã¼
___13.6.1 inode ±¸Á¶Ã¼ ºÐ¼®
___13.6.2 ¾ÆÀ̳ëµå ÇÔ¼ö ¿ÀÆÛ·¹À̼Ç
___13.6.3 ÆÄÀÏ ¼Ó¼ºÀ» Àд stat ½Ã½ºÅÛ ÄÝÀÇ Ã³¸® °úÁ¤
13.7 µ§Æ®¸® °´Ã¼
___13.7.1 µ§Æ®¸® °´Ã¼ ¼Ò°³
___13.7.2 dentry ±¸Á¶Ã¼ ºÐ¼®
13.8 °¡»ó ÆÄÀÏ ½Ã½ºÅÛ µð¹ö±ë
___13.8.1 ÆÄÀÏ °´Ã¼ÀÇ ÇÔ¼ö ¿ÀÆÛ·¹ÀÌ¼Ç È®ÀÎ
___13.8.2 ½´ÆÛºí·Ï °´Ã¼ÀÇ ÇÔ¼ö ¿ÀÆÛ·¹ÀÌ¼Ç È®ÀÎ
___13.8.3 ¾ÆÀ̳ëµå °´Ã¼ÀÇ ÇÔ¼ö ¿ÀÆÛ·¹ÀÌ¼Ç È®ÀÎ
13.9 Á¤¸®

¢Ã 14Àå: ¸Þ¸ð¸® °ü¸®
14.1 °¡»ó ¸Þ¸ð¸® ±â¹ýÀÇ ÁÖ¿ä °³³ä
___14.1.1 °¡»ó ¸Þ¸ð¸®ÀÇ ÁÖ¿ä °³³ä
___14.1.2 °¡»ó ¸Þ¸ð¸®¿Í °¡»óÁÖ¼Ò
___14.1.3 ÆäÀÌ¡¿¡¼­ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ °è»êÇÏ´Â ¹æ¹ý
___14.1.4 ÆäÀÌÁö ÇÁ·¹ÀÓ ¹øÈ£¿Í ÆäÀÌÁö µð½ºÅ©¸³ÅÍ
___14.1.5 ÆäÀÌÁö Å×À̺íÀ̶õ?
14.2 °¡»óÁÖ¼Ò¸¦ ¹°¸®ÁÖ¼Ò·Î ¾î¶»°Ô º¯È¯ÇÒ±î?
___14.2.1 °¡»óÁÖ¼Ò º¯È¯ °úÁ¤ÀÇ Àüü ±¸Á¶
___14.2.2 °¡»óÁÖ¼Ò¸¦ ¹°¸®ÁÖ¼Ò·Î º¯È¯ÇÏ´Â ´Ü°è
___14.2.3 ÆäÀÌÁö Å×ÀÌºí °ü·Ã ¿ë¾î
___14.2.4 ÆäÀÌÁö Å×À̺íÀÇ Á¾·ù
___14.2.5 °¡»óÁÖ¼Ò¸¦ ¹°¸®ÁÖ¼Ò·Î º¯È¯ÇÏ´Â ¼¼ºÎ ¿ø¸®
___14.2.6 °¡»óÁÖ¼Ò¸¦ ¹°¸®ÁÖ¼Ò·Î Á÷Á¢ º¯È¯
14.3 ¸Þ¸ð¸® Á¸
___14.3.1 ¸Þ¸ð¸® Á¸ÀÇ Á¾·ù¿Í °³³ä
___14.3.2 ¸Þ¸ð¸® Á¸ ÀڷᱸÁ¶ ºÐ¼®
___14.3.3 /proc/zoneinfo·Î Á¸ ÀڷᱸÁ¶ È®ÀÎÇϱâ
14.4 Ä¿³Î µ¿Àû ¸Þ¸ð¸® ÇÒ´ç
___14.4.1 µ¿Àû ¸Þ¸ð¸®¿Í Á¤Àû ¸Þ¸ð¸® ÇÒ´ç
___14.4.2 kmalloc() ÇÔ¼ö¸¦ ¾²´Â ÀÌÀ¯
___14.4.3 kmalloc() ÇÔ¼ö
___14.4.4 GFP(Get Free Page) Ç÷¡±×
___14.4.5 kmalloc() ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ÀÇ ÁÖÀÇ »çÇ×
14.5 ½½·¦ ¸Þ¸ð¸® ÇÒ´çÀÚ¿Í kmalloc ½½·¦ ij½Ã ºÐ¼®
___14.5.1 ½½·¦ÀÇ ÁÖ¿ä °³³ä
___14.5.2 kmalloc ½½·¦ ij½Ã
___14.5.3 kmalloc ½½·¦ ij½Ã ÀڷᱸÁ¶
___14.5.4 kmalloc ij½Ã ½½·´ ¿ÀºêÁ§Æ®¸¦ ÇÒ´çÇÏ´Â Ä¿³Î ÇÔ¼ö ºÐ¼®
___14.5.5 ½½·´ ¿ÀºêÁ§Æ®¸¦ ÇØÁ¦ÇÏ´Â kfree() ÇÔ¼ö ºÐ¼®
14.6 µð¹ö±ëÀ¸·Î ½½·´ ¿ÀºêÁ§Æ® ÇÒ´ç°ú °¡»óÁÖ¼Ò º¯È¯ ¹æ½Ä ÀÍÈ÷±â
___14.6.1 ftrace¸¦ ÀÌ¿ëÇÑ ¸Þ¸ð¸® ÇÒ´ç ÇØÁ¦ È®ÀÎ
___14.6.2 °¡»óÁÖ¼Ò¸¦ ¹°¸®ÁÖ¼Ò·Î º¯È¯ÇÏ´Â °úÁ¤ È®ÀÎ
___14.6.3 kmalloc() ÇÔ¼ö·Î ¸Þ¸ð¸® ÇÒ´ç ÈÄ ½½·¦ ij½Ã Á¾·ù È®ÀÎ
14.7 Á¤¸®

¢Ã ºÎ·ÏA: GCC Áö½Ã¾î
A.1 __init°ú __section()
A.2 inline
A.3 noinline
A.4 __noreturn
A.5 unused
A.6 __builtin_return_address() ÇÔ¼ö
A.7 container_of

¢Ã ºÎ·ÏB: ¸®´ª½º Ä¿³ÎÀ» Á¢ÇÏ´Â ¹æ¹ý
B.1 ºí·Î±×¿¡ °øºÎÇÑ ³»¿ëÀ» ¿Ã¸®±â
B.2 ¸®´ª½º »çÀÌÆ®¿¡¼­ ´ä½Å ´Þ±â
B.3 Ä¿³Î ½ºÅ͵ð Ŭ·´
B.4 ¸®´ª½º Ä¿³Î ¸ÞÀϸµ ¸®½ºÆ® ±¸µ¶Çϱâ

¢Ã ºÎ·ÏC: ¸®´ª½º Ä¿³Î ÇÁ·ÎÁ§Æ®¿¡ ±â¿©Çϱâ
C.1 ¸®´ª½º Ä¿³Î ¿ÀǼҽº ÇÁ·ÎÁ§Æ® ¼Ò°³
__C.1.1 ¿ë¾î
__C.1.2 ÆÐÄ¡ ¹Ý¿µ °úÁ¤
C.2 ¼³Á¤ ¹æ¹ý
__C.2.1 ¸®´ª½º ¹èÆ÷ÆÇ ¼Ò°³
__C.2.2 git°ú mutt ÇÁ·Î±×·¥ ¼³Á¤
__C.2.3 ¸®´ª½º Ä¿³Î ¼Ò½ºÄÚµå ³»·Á¹Þ±â
__C.2.4 ¸®´ª½º Ä¿³ÎÀÇ git Á¤º¸
C.3 ÆÐÄ¡ Äڵ带 ÀÛ¼ºÇÑ ÈÄ À̸ÞÀÏ·Î º¸³»±â
__C.3.1 ÆÐÄ¡ Äڵ带 ÀÛ¼ºÇϱâ Àü Ä¿³Î ÄÚµå ºÐ¼®
__C.3.2 Ä¿¹Ô°ú Ä¿¹Ô ¸Þ½ÃÁö ÀÛ¼º
__C.3.3 ÆÐÄ¡ ÄÚµù ·ê üũ
__C.3.4 ÆÐÄ¡¸¦ º¸³¾ ¸ÞÀÏ ¼ö½ÅÀÚ È®ÀÎ
__C.3.5 mutt ÇÁ·Î±×·¥À¸·Î ÆÐÄ¡ Àü¼Û
C.4 ÆÐÄ¡ ÄÚµå ¸®ºä °úÁ¤°ú ¾÷½ºÆ®¸²(º´ÇÕ) È®ÀÎ
C.5 ¸®´ª½º Ä¿³Î ¿ÀǼҽº ÇÁ·ÎÁ§Æ®·Î ¾ò´Â Áö½Ä
__C.5.1 ÄÚµå ¸®ºä
__C.5.2 Git »ç¿ë¹ý
__C.5.3 °³¹ßÀÚ °£ÀÇ ÀÇ»ç¼ÒÅë°ú °³¹ß ¹®È­