Linux KernelÇýÖðAndroid£ºµ½µ×·¢ÉúÁËʲô
¹Ø×¢Android£¬¹Ø×¢Google ǰÈÕLinux Kernelά»¤ÕßGreg Kroah-Hartman°ÑAndroid´úÂë´ÓLinux Kernel´úÂë¿âÖÐɾ³ýµÄÏûÏ¢ÒýÀ´Á˹㷺¹Ø×¢£¬¿ª·¢½çÒÑÓкܶàÆÀÂÛ¶Ô´ËʽøÐÐÌÖÂÛ¡£ifanr½ñÈÕÌṩÁ˵±ÌìGregÉùÃ÷µÄÈ«ÒëÎÄ£¬ÏÂÃæ¾ÍÈÃÎÒÃÇÀ´¿´¿´¡£ 2.6.33 °æÄÚºËÒÆ³ýÁËAndroidµÄ´úÂë¡£ºÜ¶àÈ˲»¶ÏµØÎÊÎÒ·¢ÉúÁËʲô£¬¶ÔÓÚAndroidÏÂÒ»²½ÒªÔõô°ì¡£ÕâÀïÊÇÎÒ¶ÔÕû¼þÊÂÇéµÄ³ÎÇ壺 Ê×ÏÈ£¬ÎÒºÜϲ»¶Androidƽ̨¡£Ö±µ½ÉÏÖÜ£¬ÎÒ»¹Ã¿ÌìʹÓÃÎҵĿª·¢ÊÖ»úG1¡£Ëü¹¤×÷Á¼ºÃ£¬×÷ΪÓû§ÎÒºÜÂúÒâ¡£ÁíÍ⣬´Ó¼¼Êõ½Ç¶ÈÎÒÒ²ºÜϲ»¶Ëû¡£ÁîÈ˾ªÆæµÄÊÇ£¬Google½ö½öʹÓÃLinuxÄں˹¹½¨ÁËÒ»¸ö¿ÉÒÆÖ²µÄºÍ½¡×³µÄÊÖ»úƽ̨£¬¶ø²¢Ã»ÓÐʹÓá±´«Í³¡±LinuxµÄÈÎºÎÆäËû¶«Î÷¡£¸ü¼ÓÄÑÄܿɹóµÄÊÇ£¬Äã¿ÉÒÔ ÔÚAndroidϵͳ֮Éϰ²×°Ò»¸ö¡±ÕæÕý¡±µÄLinux¾µÏñ£¬Á½Õß¶¼ÄÜÕý³£¹¤×÷¶øÎÞÐèÈκÎÐ޸ġ£ Android Ò²½â¾öÁËÊÖ»úÖÆÔìÉ̶àÄêÀ´Óöµ½µÄÎÊÌ⣺Ëü´´ÔìÁËÒ»¸öÃâ·ÑµÄJavaÐéÄâ»úºÍͳһµÄÓ¦ÓÃÈí¼þ²ã£¬Ê¹³ÌÐò¿ÉÒÔÔÚËùÓм¯³ÉËüµÄÊÖ»úƽ̨ÉÏÔËÐС£ÒòΪËûËüµÄ³öÏÖ£¬ ËùÓÐÏÖ´æµÄ¡±LinuxÊÖ»úлᡱ£¨¡±Linux Phone Consortium¡± £©×éÖ¯¶¼Ðû¸æÖսᣬ»òÕß¼´½«¹Ø±Õ¡£ ³öÁËʲôÎÊÌ⣿ ·¢ÉúÁËʲôÖÂʹAndroidÄں˴úÂ뱻ɾ³ý£¿ ¼òµ¥µÄ˵£¬Ã»ÓÐÈ˹ØÐÄ´úÂ룬ËùÒÔËû±»É¾³ýÁË¡£ÕýÈçÎÒ֮ǰµÄÉùÃ÷£¬¿ª·¢·ÖÖ§µÄ´úÂëÐèÒª¼ÌÐøÐ޸IJÅÄܺϲ¢½øÄÚºËÖ÷ÏßÄÚºËÊ÷£¬·ñÔò½«±»É¾³ý¡£µ«ÊÇ£¬Õâ¶ù»¹ÓиüÑÏÖØµÄÎÊÌâ¡£Android´úÂë²»½ö½öÊÇdrivers/staging/androidĿ¼ÏµÄһЩÇý¶¯³ÌÐò¡£ AndroidϵͳµÄÕý³£ÔËÐУ¬ÐèÒªGoogle´´½¨µÄÒ»ÖÖеÄÄÚºËËøºÍÆä°²È«Ä£ÐÍËøÒÀÀµµÄºËÐÄϵͳÖеĹ³×Ó£¨hooks£©¡£ÒªÐ´³öÄܹ»ÔÚAndroidÉÏÖ´ÐеÄÇý¶¯³ÌÐò£¬ÄãÐèҪǡµ±µÄʹÓÃеÄÄÚºËËø£¬ÓÐʱºò»¹ÐèҪʹÓùÖÒìµÄ°²È«Ä£ÐÍ¡£ ÕâÒâζ×ÅËùÓÐΪAndroidÓ²¼þƽ̨±àдµÄÇý¶¯¶¼²»ÄÜÈںϽøÖ÷ÏßÄÚºËÊ÷£¬ËüÃÇÔÚÖ÷ÏßÄÚºËÖлá±àÒëʧ°Ü¡£ÒòΪËüÃÇÒÀÀµµÄ´úÂëÖ»´æÔÚÓÚGoogleµÄÄں˷ÖÖ§ÖС£ÒòΪÉÏÃæÕâЩ£¬Google×è°ÁË´óÁ¿Ó²¼þÇý¶¯¡¢Æ½Ì¨´úÂëºÍÖ÷ÏßÄÚºËÊ÷µÄÕûºÏ¡£²¢´´½¨ÁËÒ»¸öºÜ¶àÖÆÔìÉÌÏÖÔÚÒÀÀµµÄÄں˷ÖÖ§¡££¨ÒëÕ߯ÀÂÛ£ºÐ°¶ñµÄ×ö·¨£¬ÀûÓÿªÔ´µÄ³É¹ûıÀû£¬¶ø²¢Ã»ÓлØÀ¡¿ªÔ´ÉçÇø£© ´´ÔìÄÚºËÔ´´úÂë·ÖÖ§²¢Ã»ÓÐÎÊÌ⣬¼¸ºõÿһ¸ö·¢Ðа涼ÓÐ×Ô¼ºµÄ·ÖÖ§¡£µ«ÊǸüÔãµÄÊÇ£¬Google²»°ÑËûÃǵĴúÂëÕûºÏ½øÖ÷ÏßÄÚºËÊ÷£¬Ê¹±àдÇý¶¯ºÍƽ̨´úÂëµÄ¹«Ë¾ÎÞ·¨»ØÀ¡¿ªÔ´ÉçÇø¡£Äں˿ª·¢ÉçÇøÔçÔÚ¼¸Äêǰ¾Í¸æËßÕâЩ¹«Ë¾Ê¹ËûÃǵĴúÂëºÏ²¢½øÖ÷ÏßÄںˣ¬ÒԵõ½×Ô¶¯µÄ°²È«ÐÞ¸´ºÍ×Ô¶¯´¦ÀíAPI±ä¶¯£¬ºÜ¶à¹«Ë¾Ìý´Ó½¨Ò
Ïà¹ØÎĵµ£º
stroul£¬
strdup
snprintf()
atio
CÖг£ÓÃ×Ö·û´®²Ù×÷º¯Êý
#include <string.h>
size_t strlen(const char *s) ²âÁ¿×Ö·û´®³¤¶ÈsµÄʵ¼Ê³¤¶È¡£
ÀýÈçs[20]="abc",ÄÇôstrlen(s)µÄ½á¹ûÊÇ3£¬¶ø²»ÊÇ20.Õâ¾ÍÊÇʵ¼Ê³¤¶È
char *strcat(const char *s1, const *s2) ......
//
ͬ²½ÎÊÌ⣺
¶Ô¹²ÏíÊý¾ÝµÄ·ÃÎÊ£¬ÐèҪͬ²½£¬»¥³â¡£
ÔÚÖжϣ¬ÇÀÕ¼£¬¶àCPU£¬¶àÏß³Ì »·¾³ÏÂÓÈÆäÖØÒª¡£
ͬ²½·ÖΪ: ×èÈûͬ²½£¬·Ç×èÈûͬ²½
×èÈûͬ²½ÓÐÐí¶àʵÏÖ·½Ê½ÁË£ºmutex, semaphore. ×èÈûͬ²½Ê¹Óò»µ±¾Í¿ÉÄÜÔì³ÉËÀËø£¬»îËø£¬ÓÅÏȼ¶·´×ª¡£
·Ç×èÈûͬ²½£º£¨ÏÖÔÚÁ÷ÐÐÈýÖÖ£©
wait free ºÜÄÑʵÏÖ£¬Ë¼ÏëÊDZ¾Ïß³ÌÓÐÏÞ²½¾Í ......
LinuxÄÚºËÅäÖð취£º
1. make config
ÕâÖÖ°ì·¨»á±éÀúËùÓÐÅäÖÃÏҪÇóÓû§Öð¸öÑ¡ÔñY/N/M
2. make menuconfig
Õâ¸ö°ì·¨ÊÇ»ùÓÚncurse¿â±àÖÆµÄͼÐνçÃæ¹¤¾ß¡£³£ÓÃ
3. make xconfig
ÓÃÓÚ»ùÓÚX11µÄͼÐι¤¾ß
4. make gconfig
ÓÃÓÚ»ùÓÚgtk+ͼÐι¤¾ß
5. make defconfig
´´½¨Ò»¸öĬÈϵÄÅäÖã¬Éú³Éµ±Ç°µÄ.config
6. make x ......
1. linuxÏÂÆô¶¯oracle
su - oracle
sqlplus /nolog
conn /as sysdba
startup
exit
lsnrctl start
exit
2. linuxϹرÕoracle
su - oracle
sqlplus /nolog
conn /as sysdba
shutdown immediate
exit
lsnrctl stop
exit
¿ÉÒÔʹÓÃlsnrctl ½øÈ¥ºóÓÃstatus²é¿´×´Ì¬£¬ÀàËÆ£º
lsnrctl
status
http://hi.baidu.c ......