LinuxϵͳϵĶàÏ̱߳à³ÌÈëÃÅÈý
ºÍ½ø³ÌÏà±È£¬Ï̵߳Ä×î´óÓŵãÖ®Ò»ÊÇÊý¾ÝµÄ¹²ÏíÐÔ£¬¸÷¸ö½ø³Ì¹²Ïí¸¸½ø³Ì´¦ÑØÏ®µÄÊý¾Ý¶Î£¬¿ÉÒÔ·½±ãµÄ»ñµÃ¡¢ÐÞ¸ÄÊý¾Ý¡£µ«ÕâÒ²¸ø¶àÏ̱߳à³Ì´øÀ´ÁËÐí¶àÎÊÌâ¡£ÎÒÃDZØÐëµ±ÐÄÓжà¸ö²»Í¬µÄ½ø³Ì·ÃÎÊÏàͬµÄ±äÁ¿¡£Ðí¶àº¯ÊýÊDz»¿ÉÖØÈëµÄ£¬¼´Í¬Ê±²»ÄÜÔËÐÐÒ»¸öº¯ÊýµÄ¶à¸ö¿½±´£¨³ý·ÇʹÓò»Í¬µÄÊý¾Ý¶Î£©¡£ÔÚº¯ÊýÖÐÉùÃ÷µÄ¾²Ì¬±äÁ¿³£³£´øÀ´ÎÊÌ⣬º¯ÊýµÄ·µ»ØÖµÒ²»áÓÐÎÊÌâ¡£ÒòΪÈç¹û·µ»ØµÄÊǺ¯ÊýÄÚ²¿¾²Ì¬ÉùÃ÷µÄ¿Õ¼äµÄµØÖ·£¬ÔòÔÚÒ»¸öÏ̵߳÷Óøú¯ÊýµÃµ½µØÖ·ºóʹÓøõØÖ·Ö¸ÏòµÄÊý¾Ýʱ£¬±ðµÄÏ߳̿ÉÄܵ÷Óô˺¯Êý²¢ÐÞ¸ÄÁËÕâÒ»¶ÎÊý¾Ý¡£ÔÚ½ø³ÌÖй²ÏíµÄ±äÁ¿±ØÐëÓùؼü×ÖvolatileÀ´¶¨Ò壬ÕâÊÇΪÁË·ÀÖ¹±àÒëÆ÷ÔÚÓÅ»¯Ê±£¨ÈçgccÖÐʹÓÃ-OX²ÎÊý£©¸Ä±äËüÃǵÄʹÓ÷½Ê½¡£ÎªÁ˱£»¤±äÁ¿£¬ÎÒÃDZØÐëʹÓÃÐźÅÁ¿¡¢»¥³âµÈ·½·¨À´±£Ö¤ÎÒÃǶԱäÁ¿µÄÕýȷʹÓá£ÏÂÃ棬ÎÒÃǾÍÖð²½½éÉÜ´¦ÀíÏß³ÌÊý¾ÝʱµÄÓйØ֪ʶ¡£ ¡¡¡¡1¡¢Ïß³ÌÊý¾Ý ¡¡¡¡ÔÚµ¥Ï̵߳ijÌÐòÀÓÐÁ½ÖÖ»ù±¾µÄÊý¾Ý£ºÈ«¾Ö±äÁ¿ºÍ¾Ö²¿±äÁ¿¡£µ«ÔÚ¶àÏ̳߳ÌÐòÀ»¹ÓеÚÈýÖÖÊý¾ÝÀàÐÍ£ºÏß³ÌÊý¾Ý£¨TSD: Thread-Specific Data£©¡£ËüºÍÈ«¾Ö±äÁ¿ºÜÏó£¬ÔÚÏß³ÌÄÚ²¿£¬¸÷¸öº¯Êý¿ÉÒÔÏóʹÓÃÈ«¾Ö±äÁ¿Ò»Ñùµ÷ÓÃËü£¬µ«Ëü¶ÔÏß³ÌÍⲿµÄÆäËüÏß³ÌÊDz»¿É¼ûµÄ¡£ÕâÖÖÊý¾ÝµÄ±ØÒªÐÔÊÇÏÔ¶øÒ×¼ûµÄ¡£ÀýÈçÎÒÃdz£¼ûµÄ±äÁ¿errno£¬Ëü·µ»Ø±ê×¼µÄ³ö´íÐÅÏ¢¡£ËüÏÔÈ»²»ÄÜÊÇÒ»¸ö¾Ö²¿±äÁ¿£¬¼¸ºõÿ¸öº¯Êý¶¼Ó¦¸Ã¿ÉÒÔµ÷ÓÃËü£»µ«ËüÓÖ²»ÄÜÊÇÒ»¸öÈ«¾Ö±äÁ¿£¬·ñÔòÔÚ AÏß³ÌÀïÊä³öµÄºÜ¿ÉÄÜÊÇBÏ̵߳ijö´íÐÅÏ¢¡£ÒªÊµÏÖÖîÈç´ËÀàµÄ±äÁ¿£¬ÎÒÃǾͱØÐëʹÓÃÏß³ÌÊý¾Ý¡£ÎÒÃÇΪÿ¸öÏß³ÌÊý¾Ý´´½¨Ò»¸ö¼ü£¬ËüºÍÕâ¸ö¼üÏà¹ØÁª£¬ÔÚ¸÷¸öÏß³ÌÀ¶¼Ê¹ÓÃÕâ¸ö¼üÀ´Ö¸´úÏß³ÌÊý¾Ý£¬µ«ÔÚ²»Í¬µÄÏß³ÌÀÕâ¸ö¼ü´ú±íµÄÊý¾ÝÊDz»Í¬µÄ£¬ÔÚͬһ¸öÏß³ÌÀËü´ú±íͬÑùµÄÊý¾ÝÄÚÈÝ¡£ ¡¡¡¡ºÍÏß³ÌÊý¾ÝÏà¹ØµÄº¯ÊýÖ÷ÒªÓÐ4¸ö£º´´½¨Ò»¸ö¼ü£»ÎªÒ»¸ö¼üÖ¸¶¨Ïß³ÌÊý¾Ý£»´ÓÒ»¸ö¼ü¶ÁÈ¡Ïß³ÌÊý¾Ý£»É¾³ý¼ü¡£ ¡¡¡¡´´½¨¼üµÄº¯ÊýÔÐÍΪ£º extern int pthread_key_create __P ((pthread_key_t *__key,void (*__destr_function) (void *))); ¡¡¡¡µÚÒ»¸ö²ÎÊýΪָÏòÒ»¸ö¼üÖµµÄÖ¸Õ룬µÚ¶þ¸ö²ÎÊýÖ¸Ã÷ÁËÒ»¸ödestructorº¯Êý£¬Èç¹ûÕâ¸ö²ÎÊý²»Îª¿Õ£¬ÄÇôµ±Ã¿¸öÏ߳̽áÊøʱ£¬ÏµÍ³½«µ÷ÓÃÕâ¸öº¯ÊýÀ´ÊÍ·Å°ó¶¨ÔÚÕâ¸ö¼üÉϵÄÄÚ´æ¿é¡£Õâ¸öº¯Êý³£ºÍº¯Êýpthread_once ((pthread_once_t*once_control, void (*initroutine) (void)))Ò»ÆðʹÓã¬ÎªÁËÈÃÕâ¸ö¼üÖ»±»´´½¨Ò»´Î¡£º¯Êýpthread_onceÉùÃ÷Ò»¸ö³õʼ»¯º¯Êý£¬µÚÒ»´Îµ÷ÓÃpthread_onceʱËüÖ´ÐÐÕâ¸öº¯Êý£¬ÒÔºóµÄµ÷Óý«±»ËüºöÂÔ¡£ ¡¡¡¡ÔÚÏÂÃæµÄÀý×
Ïà¹ØÎĵµ£º
2.2 ¹¹½¨ARM Linux½»²æ±àÒ빤¾ßÁ´
¹¹½¨½»²æ±àÒëÆ÷µÄµÚÒ»¸ö²½Öè¾ÍÊÇÈ·¶¨Ä¿±êƽ̨¡£ÔÚGNUϵͳÖУ¬Ã¿¸öÄ¿±êƽ̨¶¼ÓÐÒ»¸öÃ÷È·µÄ¸ñʽ£¬ÕâЩÐÅÏ¢ÓÃÓÚÔÚ¹¹½¨¹ý³ÌÖÐʶ±ðҪʹÓõIJ»Í¬¹¤¾ßµÄÕýÈ·°æ±¾¡£Òò´Ë£¬µ±ÔÚÒ»¸öÌض¨Ä¿±ê»úÏÂÔËÐÐGCCʱ£¬GCC±ãÔÚĿ¼·¾¶ÖвéÕÒ°üº¬¸ÃÄ¿±ê¹æ·¶µÄÓ¦ÓóÌÐò·¾¶¡£GNUµÄÄ¿±ê¹æ·¶¸ñʽΪCPU-PLATF ......
ÔõÑù´´½¨ÕæÕýºÜСµÄLinuxϵÄELF¿ÉÖ´ÐÐÎļþ
תÔØ: ELFÎļþ¸ñʽÑо¿
ÈÕÆÚ: Friday, July 25 @ 14:46:16 CST
Ö÷Ì⣺ Èí¼þ¿ª·¢
·¢ÐÅÈË: someone (++), ÐÅÇø: Linux
±ê Ìâ: ÔõÑù´´½¨ÕæÕýºÜСµÄLinuxϵÄELF¿ÉÖ´ÐÐÎļþ
·¢ÐÅÕ¾: ......
ÔÚLinux²Ù×÷ϵͳÖУ¬ÓÐÒ»¸öϵͳÈí¼þ°ü£¬ËüµÄ¹¦ÄÜÀàËÆÓÚWindowsÀïÃæµÄ“Ìí¼Ó/ɾ³ý³ÌÐò”£¬µ«Êǹ¦ÄÜÓֱȓÌí¼Ó/ɾ³ý³ÌÐò”Ç¿ºÜ¶à£¬Ëü¾ÍÊÇRed Hat Package Manager(¼ò³ÆRPM)¡£´Ë¹¤¾ß°ü×îÏÈÊÇÓÉRed Hat¹«Ë¾ÍƳöµÄ£¬ºóÀ´±»ÆäËûLinux¿ª·¢ÉÌËù½èÓá£ÓÉÓÚËüΪLinuxʹÓÃÕßÊ¡È¥Á˺ܶàʱ¼ä£¬ËùÒÔ±»¹ã·ºÓ¦ÓÃÓÚÔÚLin ......
ÉîÈë·ÖÎö Linux ÄÚºËÁ´±í
¼¶±ð£º ³õ¼¶
ÑîɳÖÞ (pubb@163.net)¹ú·À¿Æ¼¼´óѧ¼ÆËã»úѧԺ
2004 Äê 8 ÔÂ 01 ÈÕ
±¾ÎÄÏêϸ·ÖÎöÁË 2.6.x ÄÚºËÖÐÁ´±í½á¹¹µÄʵÏÖ£¬²¢Í¨¹ýʵÀý¶Ôÿ¸öÁ´±í²Ù×÷½Ó¿Ú½øÐÐÁËÏ꾡µÄ½²½â¡£
Ò»¡¢ Á´±íÊý¾Ý½á¹¹¼ò½é
Á´±íÊÇÒ»ÖÖ³£ÓõÄ×éÖ¯ÓÐÐòÊý¾ÝµÄÊý¾Ý½á¹¹£¬Ëüͨ¹ýÖ¸Õ뽫һϵÁÐÊý¾Ý½Úµ ......
Windows ºÍ Linux µÄIPC API¶ÔÓ¦±í
Table 1. Process mapping
Windows
Linux
Classification
CreateProcess()
CreateProcessAsUser()
fork()
setuid()
exec()
Mappable
TerminateProcess()
kill()
Mappable
SetThreadpriority()
GetThreadPriority()
Setpriority()
getPriority()
Mappa ......