System call Up
System call
I. I. I. ½Ã½ºÅÛ ÄÝ(System call)À̶õ? ½Ã½ºÅÛ ÄÝÀº À¯Àú ·¹º§ÀÇ ¾ÖÇø®ÄÉÀ̼ǵ鿡°Ô Ä¿³ÎÀÇ ±â´ÉÀ» Áö¿øÇØ ÁÙ ¼ö ÀÖ´Â ÀÎÅÍÆäÀÌ...
I. I. I. ½Ã½ºÅÛ ÄÝ(System call)À̶õ?
½Ã½ºÅÛ ÄÝÀº À¯Àú ·¹º§ÀÇ ¾ÖÇø®ÄÉÀ̼ǵ鿡°Ô Ä¿³ÎÀÇ ±â´ÉÀ» Áö¿øÇØ ÁÙ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽ºÀÌ´Ù. Áï, À¯Àú ·¹º§ÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¿î¿µÃ¼Á¦ÀÇ ±â´ÉÀ̳ª ¸ðµâÀ» È°¿ëÇϱâ À§Çؼ´Â ¹Ýµå½Ã ½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
System call À̶õ, ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ Áö¿øÇÏÁö ¾Ê´Â ±â´É¿¡ ´ëÇÏ¿© ¿î¿µÃ¼°èÀÇ ·çƾÀ» È£ÃâÇÏ¿© ÀÌ¿ëÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ´ë°³ ¸ðµç ¿î¿µÃ¼°è´Â ¿©·¯ °¡Áö Àú±ÞÇÑ ¿¬»êÀ» ¼öÇàÇϱâ À§ÇÑ ·çƾµéÀÇ ¸ðÀ½À» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î ¸ðµç ¿î¿µÃ¼°è´Â µð·ºÅ丮¸¦ ¸¸µå´Â ·çƾÀ̶óµç°¡, ƯÁ¤ÇÑ µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀϵéÀÇ ¸ñ·ÏÀ» Àо´Â ·çƾ µîÀ» °¡Áö°í ÀÖ´Ù. ¸¸¾à ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ¿î¿µÃ¼°è¿¡ ÀÖ´Â ·çƾÀ» ½ÇÇà½ÃÄÑ ¾î¶°ÇÑ °á°ú¸¦ ¾ò±â ¿øÇÑ´Ù¸é, ½Ã½ºÅÛ È£ÃâÀ» ÅëÇØ ÀÌ¿ëÇؾßÇÑ´Ù.
II. ½Ã½ºÅÛ ÄÝ ±¸Çö ¼ø¼
1. ½Ã½ºÅÛ ÄÝ ¹øÈ£ ÇÒ´ç
2. ½Ã½ºÅÛ ÄÝ Å×ÀÌºí µî·Ï
3. ½Ã½ºÅÛ ÄÝ Ã³¸® ÇÔ¼ö ±¸Çö
4. Ä¿³Î ÄÄÆÄÀÏ
5. ½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º ¹× ½ÇÇà
III. ½Ã½ºÅÛ ÄÝ ±¸Çö
¡Ø ½Ã½ºÅÛ ÄÝ ¹øÈ£ ÇÒ´ç
1) /usr/include/asm/unistd.h À» ¼öÁ¤ÇÑ´Ù.
#define __NR_newsyscall 222 -> newsyscallÀÇ ½Ã½ºÅÛ ÄÝ ¹øÈ£ ÇÒ´ç
2) /usr/include/bits/syscall.h ÆÄÀÏ ¼öÁ¤
¡Ø ½Ã½ºÅÛ ÄÝ Å×ÀÌºí µî·Ï
1) /usr/src/linux/arch/i386/kernel/entry.S¿¡¼ µî·ÏÇÑ´Ù.
À§ ±×¸²¿¡¼ ³× ¹ø° ÁÙÀÇ
.long SYMBOL_NAME(sys_newsyscall)
·Î µî·ÏÇÏ°í, ³¡ ºÎºÐÀÇ
.rept NR_syscalls-223
À̶ó ¼öÁ¤ÇÑ´Ù.(¿ø·¡´Â ¡°.rept NR_syscalls-222¡±¿´À½.)
¡Ø ½Ã½ºÅÛ ÄÝ Ã³¸® ÇÔ¼ö ±¸Çö
(À̹ÌÁö¸¦ Ŭ¸¯ÇϽøé È®´ë/¹Ì¸®º¸±â¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.)
[1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [10] |
[¹®¼Á¤º¸]
¹®¼ºÐ·® : 7 Page
ÆÄÀÏÁ¾·ù : HWP ÆÄÀÏ
ÀÚ·áÁ¦¸ñ : System call
ÆÄÀÏÀ̸§ : System call.hwp
Å°¿öµå : System,call
ÀÚ·áNo(pk) : 16088910