¸®´ª½º Ä¿³Î 5.0 µ¿ÀÛ °úÁ¤ ÀÌÇØ¿Í tracing ½Ç½À

ȨÀ¸·Î±³À°°úÁ¤ÀÓº£µðµå SW ¾ÆÄ«µ¥¹ÌOS System

Àϼö/½Ã°£ 4ÀÏ / 32½Ã°£ °­»ç ÇÑÄľÆÄ«µ¥¹Ì Àü¹®°­»ç
°úÁ¤¸Å´ÏÀú  Á¤½ÂÈ£ (031-622-7684)
±³À°ºñ 990,000¿ø (VATÆ÷ÇÔ)
¼±¼ö°úÁ¤ ¿ÀǼҽº ÇÁ·ÎÁ§Æ® °³¹ßÂü¿©
ÈļӰúÁ¤ ¸®´ª½º Ä¿³Î ºÐ¼® ¹× ÇÁ·Î±×·¡¹Ö
½Ç½ÀÀåºñ ¸®´ª½º
Á¤¿ø 20¸í
Àüü ±³À°ÀÏÁ¤
±³À°ÀÏÁ¤ ½Åû¸¶°¨ÀÏ ¼ö°­½Åû ±³À°Àå¼Ò
±³À°ÀÏÁ¤ Á¶È¸°á°ú°¡ ¾ø½À´Ï´Ù.
°úÁ¤°³¿ä
Ŭ¶ó¿ìµå, ¼­¹ö, ¸ð¹ÙÀÏ, »ç¹°ÀÎÅͳÝ(IoT), ÀΰøÁö´É(AI)½Ã½ºÅÛ ºÐ¾ß¿¡ À̸£±â±îÁö ¸®´ª½º OSÀÇ ½ÃÀåÁ¡À¯À²ÀÌ ±ÞÁõÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ¿¡µû¶ó ¸®´ª½º¸¦ È°¿ëÇÏ´Â ¼ö¸¹Àº ¼ÒÇÁÆ®¿þ¾î ±â¾÷ ¶Ç´Â Çϵå¿þ¾î Á¦Á¶»çµéÀÇ °³¹ßÀÚ,¿£Áö´Ï¾îµé¿¡°Ô ¸®´ª½º Ä¿³Î¿¡ ´ëÇÑ ÀÌÇØ¿Í ºÐ¼®´É·ÂÀÇ Á߿伺ÀÌ Á¡Á¡ ´õ Ä¿Áö°íÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ±âÁ¸ÀÇ ±³À°¸¸À¸·Î´Â ºü¸£°Ô º¯ÇØ°¡°í º¹ÀâÇØÁ®°¡´Â ÃÖ½ÅÄ¿³Î(5.0 ÀÌ»ó)À» È°¿ëÇÏ°í ÀÀ¿ëÇϱ⠾î·Æ½À´Ï´Ù.
µû¶ó¼­ º» °úÁ¤Àº °è¼ÓÇؼ­ º¯È­ÇØ°¡´Â ÃÖ½ÅÄ¿³Î¿¡ ¹ß¸ÂÃç tracing ½Ç½ÀÀ» ÅëÇØ ±³À°À» ÁøÇàÇÕ´Ï´Ù. À̷к¸´Ù ½Ç½À¿¡ ÁßÁ¡À» µÎ¾î ¸®´ª½º tracing ±â¼ú(ftrace, tracepoint, kprobe, BPF µî)À» ÅëÇØ ÃÖ½ÅÄ¿³Î(5.0ÀÌ»ó)ÀÇ µ¿ÀÛ°úÁ¤À» ÀÌÇØÇÏ°í ¼Ò½ºÄڵ带 ºÐ¼®ÇÕ´Ï´Ù. ´õ ³ª¾Æ°¡ Â÷ÈÄ ¹öÀüÀ» ºÐ¼®ÇÏ°í ÀÌÇØÇÏ°íÀÚÇÒ¶§ µ¿ÀÏÇÑ tracing ¹æ¹ýÀ» ÅëÇØ ½º½º·Î ÇнÀÇÒ ¼ö ÀÖµµ·Ï Çϴ°ÍÀ» ¸ñÇ¥·Î ÁøÇàÇÕ´Ï´Ù.´õºÒ¾î Ä¿³Î°ú ¾îÇø®ÄÉÀ̼ǰúÀÇ °ü°è ¹× ¼º´É¿¡ ³¢Ä¡´Â ¿µÇâ¿¡ ´ëÇÑ ºÐ¼®°ú Ä¿³Î°³¹ß Âü¿©(contribution) ¹æ¹ý¿¡ ´ëÇؼ­µµ ÇÔ²² ½Ç½ÀÀ» ÁøÇàÇÕ´Ï´Ù.

* ¼±¼ö°úÁ¤ - ¿î¿µÃ¼Á¦ ÀÌ·Ð, C¾ð¾î, ¸®´ª½ºÈ°¿ë
ƯÀÌ»çÇ×

±³À°¸ñÀû

- ¸®´ª½º Ä¿³Î(5.0 ÀÌ»ó)ÀÇ µ¿ÀÛ°úÁ¤À» ÀÌÇØÇÏ°í ½Ç½ÀÀ» ÅëÇØ °ËÁõÇÕ´Ï´Ù.
- ¸®´ª½º Ä¿³Î ¼Ò½º¸¦ ºÐ¼®ÇÏ°í ÁÖ¿ä ÇÔ¼ö¿Í ÁÖ¿ä ÀڷᱸÁ¶¸¦ ÇнÀÇÕ´Ï´Ù.
- printk»ðÀÔ, ÀçºÎÆà ¾øÀÌ ½ÇÇà Áß¿¡ Ä¿³Î µ¥ÀÌÅÍ ¹× ÇÔ¼öÈ£Ãâ°úÁ¤À» ÃßÀû(tracing)¹æ¹ýÀ» ÇнÀÇÕ´Ï´Ù.
- ÃֽŠ¸®´ª½º Ä¿³Î ¿ÀǼҽº °³¹ßÂü¿©(contribution)¹æ¹ýÀ» ÇнÀÇÕ´Ï´Ù.

±³À°´ë»ó

- ¸®´ª½º Ä¿³Î µ¿ÀÛ°úÁ¤À» ÀÌÇØÇÏ°í ºÐ¼®ÇÏ°íÀÚ ÇÏ´Â °³¹ßÀÚ/¿£Áö´Ï¾î
- ¸®´ª½º Ä¿³Î°ú ¾îÇø®ÄÉÀ̼ǰúÀÇ °ü°è ¹× ¼º´ÉºÐ¼®À» ÇÏ°íÇÏÀÚ´Â °³¹ßÀÚ/¿£Áö´Ï¾î
- ¸®´ª½º Ä¿³Î °³¹ß¿¡ Âü¿©(contribution)ÇÏ°íÀÚ ÇÏ´Â °³¹ßÀÚ/¿£Áö´Ï¾î

±³À°³»¿ë

±¸ºÐ

¸ñÂ÷¼¼ºÎ³»¿ë
1ÀÏÂ÷

- ÇÁ·Î±×·¥(user/kernel) ½ÇÇà ¿ø¸®

- ¸Þ¸ð¸® ¾×¼¼½º °úÁ¤

- °¡»óÁÖ¼Ò(virtual address) È°¿ë¹ý

- ¹°¸® ¸Þ¸ð¸® °ü¸®


- ¸®´ª½º Ä¿³ÎÀÇ ±¸¼º°ú ÄÄÇ»ÅÍ ±¸Á¶, NUMA

- a.out(user) / vmlinux(kernel) ¹ÙÀ̳ʸ® ÀÌÇØ

(readelf, objdump)

- user / library / kernel ÇÔ¼öÀÇ ½ÇÇàÈ帧 tracing ½Ç½À

- pagefault ¹ß»ýÇÏ´Â ÀÌÀ¯¿Í handler µ¿ÀÛ°úÁ¤ tracing ½Ç½À

- VMA(virtual memory area) ¿Í pagetable

- ¹°¸® ¸Þ¸ð¸®ÇÒ´ç(alloc_pages)°ú ¹öµð½Ã½ºÅÛ tracing ½Ç½À


2ÀÏÂ÷

- ¸Þ¸ð¸® °ü¸®

- ÆÄÀÏread / write °úÁ¤


- slab / slub / slob µ¿ÀÛ°úÁ¤ tracing½Ç½À

- vmalloc µ¿ÀÛ°úÁ¤ tracing ½Ç½À

- ÆäÀÌÁö ȸ¼ö µ¿ÀÛ°úÁ¤ tracing½Ç½À

- VFS / FS / Block / SCSI layer ÆÄÀÏ I/O tracing ½Ç½À

- writeback µ¿ÀÛ°úÁ¤ tracing ½Ç½À

- mmap / memory-mapped file I/Oµ¿ÀÛ°úÁ¤ tracing ½Ç½À


3ÀÏÂ÷

- ÀÎÅÍ·´Æ®¿Í BH

- ³×Æ®¿öÅ©(TCP/IP) I/O °úÁ¤


- do_IRQ() µ¿ÀÛ°úÁ¤ tracing ½Ç½À

- ksoftirqd ¿Í kworker µ¿ÀÛ°úÁ¤ tracing½Ç½À

- sk_buff¿Í TCP/IP µ¿ÀÛ°úÁ¤(ex.À¥ ºê¶ó¿ìÀú µ¿ÀÛ)

- DD / IP / TCP Layer ÆÐŶ ¼Û¼ö½Å µ¿ÀÛ°úÁ¤tracing ½Ç½À

- NAPI µ¿ÀÛ°úÁ¤ tracing ½Ç½À

- packet forwarding / fragmentation


4ÀÏÂ÷

- ½ºÄÉÁÙ¸µ°ú context switch

- ½Ã±×³Î enq / deq °úÁ¤

- µ¿±âÈ­ À̽´¿Í locking

- cgroup(memory, cpu)µ¿ÀÛ°úÁ¤

ºÐ¼®

- Ä¿³Î°³¹ßÂü¿©(contribution) ½Ç½À


- run queue¿Í wait queueÀÇ enq / deq °úÁ¤ tracing ½Ç½À

- scheduleÇÔ¼ö ¿Í context switch °úÁ¤ tracing ½Ç½À

- ½Ã±×³Î generate(enq) / deliver(deq) °úÁ¤ tracing ½Ç½À

- ¼±Á¡(preempt)°ú locking, panic fix commitÀÇ ÀÌÇØ

- cgroup(cpu,mem) µ¿ÀÛ°úÁ¤ tracing ½Ç½À

- ¿ÀǼҽº °³¹ß¹®È­(git, patch mail)




÷ºÎÆÄÀÏ

[°úÁ¤¼Ò°³¼­]_¸®´ª½º Ä¿³Î 5.0 µ¿ÀÛ°úÁ¤ ÀÌÇØ¿Í tracing ½Ç½À.pdf

ÆäÀ̽ººÏÆ®À§Åͱ¸±ÛÁñ°Üã±âÀ̸ÞÀÏ

È®ÀÎ