Ò룺Android ±» Linux kernel ÉçȺ¿ª³ý
ÔÎÄ£ºAndroid and the Linux kernel community
ÔÚ Linux kernel 2.6.33 °æ±¾£¬Android ³ÌʽÂ룬ÒѾ±»ÒƳý¡£ºÜ¶àÈË¿ªÊ¼Ñ¯ÎÊÎÒµ½µ×·¢ÉúÁËʲôÊ£¿Android ÏÂÒ»²½ÓÖ¸ÃÔõô°ì£¿ËùÒÔ£¬ÒÔϾÍÊÇÎÒ¶ÔÕâÕû¼þÊÂÇéµÄÒâ¼û……
Ê×ÏÈ£¬ÎÒҪ˵£¬ÎÒÊǺÜϲ»¶ Android ÊÖ»úƽ̨¡£Ö±µ½ÉÏÖÜ£¬ÎÒ»¹ÊÇÿÌ죬ʹÓÃÎÒÂòµÄ developer G1£¬ËüÍêÃÀµÄÔË×÷£¬ÈÃÉíΪÓû§µÄÎҷdz£»¶Ï²¡£
´Ó¼¼ÊõµÄ½Ç¶È£¬ÎÒÒ²¶Ô Android ¸Ðµ½¸ßÐË¡£讓È˾ªÏ²£¬Google ÔËÓà Linux kernel£¬´¿´â¾ÍÓô«Í³µÄ Linux ϵͳ£¬´´Ôì³öÒ»¸ö¾ßÒÆÖ²ÐÔ£¬¶øÇÒ¿É¿¿µÄÊÖ»úƽ̨¡£Õâ¸öƽ̨ÊÇÕâÃ´ÌØ±ð£¬ÄãÉõÖÁ¿ÉÒÔÔÚÊÖ»úÉÏ£¬»»ÉÏÒ»¸ö Linux ×÷ҵϵͳµÄ image µµ£¬Á½ÖÖ°æ±¾¶¼¿ÉÔË×÷Õý³££¬ÍêÈ«²»ÐèÈκÎÐ޸ġ£
Android ͬʱҲ½â¾öÁËÊÕ»úÖÆÔìÉÌ£¬¶àÄêÒÔÀ´µÄһЩÎÊÌ⣺һ¸öÃâ·Ñ°æ±¾µÄ Java£¬¼°Ò»¸öͳһµÄÓ¦ÓóÌʽÖнé²ã£¬ÈóÌʽÈËÔ±Õë¶ÔËü¿ª·¢³öÈíÌ壬¿ÉÒÔÔÚËùÓÐ Android µÄÊÖ»úÉÏ¡£ÒòΪÕâÑù£¬ËùÓÐÏÖÓеēLinux ÊÖ»úÁªÃË”£¬²»ÊÇÒѾȺÌåÃðÍö£¬ÐÒ´æµÄÓ¦¸ÃÒ²»áºÜ¿ì¾ÍĬĬµÄÏûʧ¡£
ÕâÓÐÄÄÀï²»¶Ô£¿
·¢ÉúʲôÊ£¬Èà Android ³ÌʽÂ룬´Ó Linux ºËÐÄɾ³ý£¿¼òµ¥Ëµ£¬Ã»ÓÐÈ˹ØÐÄ Android ³ÌʽÂëÁË£¬ËùÒÔ¾ÍɾÁ˰ɡ£¾ÍÏñÎÒÒÔǰËùÉùÃ÷µÄ£¬ºËÐijÌʽÂ룬·ÖÖ§°æ±¾£¬±ØÐëŬÁ¦Õû²¢½øÖ÷Òª°æ±¾£¬²»È»¾Í»á±»É¾³ý¡£
µ«ÊǹØÓÚÕâµã£¬Óиü´óµÄÎÊÌâ´æÔÚ¡£
Android ºËÐijÌʽÂ룬²¢·ÇÖ»ÊÇÔÚ drivers/staging/android ×ÓĿ¼Ï£¬µÄ¼¸¸ö¹ÖÒìÇý¶¯³Ìʽ¶øÒÑ¡£ÎªÁËÄÜÈà Android ÔË×÷£¬ÄãÐèÒªÓÃËûÃÇÐÂÔöµÄ lock type£¬²¢ÇÒÓÃËûÃǵݲȫģʽ£¬¸ú Linux ÄÚºËÁ¬½áÉÏ¡£
ΪÁËҪд Android ÉÏʹÓÃµÄ Çý¶¯³Ìʽ£¬ÄãÐèÒªÕýÈ·µÄÕûºÏÐ嵀 lock£¬ÓÐʱ»¹Òª¸ú¹ÖÒìµÄ°²È«Ä£Ê½´ò½»µÀ¡£¶ÔÁË£¬»¹ÓÐÒ»¸öÍêÈ«²»Í¬ÏÔʾ frame buffer ¼Ü¹¹¡£
ÕâÒâνÈκÎΪ Android ƽ̨дµÄÇý¶¯³Ìʽ£¬ÒòΪ¸ú Google Äں˷ÖÖ§ÓÐÏàÒÀÐÔ£¬ËùÒԾͲ»ÄÜÕû²¢½øÖ÷ÒªÄں˷ÖÖ§£¬×îÖÕÒ²²»Äܽø kernel.org ·ÖÖ§¡£
¾ÍÒòΪÕâÑù£¬Google ÒѾÔì³ÉÐí¶àµÄÇý¶¯³Ìʽ£¬ÓëÆ½Ì¨Ïà¹ØµÄ³ÌʽÂ룬²»ÄÜÕû½øÖ÷ÒªÄں˷ÖÖ§¡£ÊµÖÊÉÏ£¬ÕâÒѾ±ä³ÉÁ˼¸¸öÖÆÔìÉÌËø£¬ËùÒÐÀµµÄÄں˷ÖÖ§¡£
ÏÖÔÚ Linux Äں˵ĵö·ÖÖ®°æ±¾£¬ÊÇÒÀÕÕ¼¸¸öÖ÷ÒªµÄ·¢Ðа汾£¬Ä¿Ç°Ïà°²ÎÞÊ¡£µ«ÊÇÒòΪ Google ²»ÏëÈÃËûÃǵijÌʽÂ룬²¢ÕûÈëÖ÷Á÷·ÖÖ§¡£Google Ëùд³öµÄÇý¶¯³Ìʽ¼°Æ½Ì¨Ïà¹ØµÄ³Ìʽ£¬±»Ëø×¡ÎÞ·¨»ØÀ¡¸øÄÚºËÉçȺ¡£ÄÚºËÉçȺ£¬ÒѾ»¨ºÜ¶àÄê±»¸æËßÕâЩ Linux ·¢Ðа汾µÄ¹«Ë¾£¬°ÑËûÃǵÄÄÚºËÕû²¢½øÀ´¡£Ö®ºóËûÃǾÍ
Ïà¹ØÎĵµ£º
Ò»¸ö³ÌÐòµÄ¿ª·¢Àë²»¿ªÐí¶à¿âº¯ÊýµÄÖ§³Ö£¬¿ÉÊÇ¿âÈç´ËÖ®¶à£¬ÓпªÔ´Ãâ·ÑµÄÒ²ÓÐÊշѵġ£ºÜÏ£ÍûÊìϤ±à³ÌµÄǰ±²°Ñ×Ô¼ºµÄ¾ÑéÕûÀíÏ£¬³£ÓõĿⶼ°üº¬ÄÄЩ¹¦ÄÜ¡£ÏÂÎÄÊÇÔÚÍøÉÏÕÒµÄÒ»¸öÀàËÆµÄ×ÊÁÏ¡£ÆÚ´ý¸ü¶à¸üÈ«µÄÄÚÈÝ¡£
---------------------------------------------------------------------------------------------------
¿´µ ......
Linux ÏûÏ¢ÖØ¶¨Ïò°ì·¨
command > filename
°Ñ±ê×¼Êä³öÖØ¶¨Ïòµ½Ò»¸öÖ¸¶¨ÎļþÖÐ
command 1 > fielname
°Ñ±ê×¼Êä³öÖØ¶¨Ïòµ½Ò»¸öÖ¸¶¨ÎļþÖÐ(ͬÉÏ)
command 2 > filename
°Ñ±ê×¼´íÎóÖØ¶¨Ïòµ½Ò»¸öÎļþÖÐ
command >! filename
°Ñ±ê×¼Êä³öÖØ¶¨Ïòµ½Ò»¸ö
Ö¸¶¨
ÎļþÖУ¬ÈôÎļþ´æÔÚ£¬Ôò¸²¸Ç
command >&am ......
/*
* ¸ÃÎļþÖ÷ҪʵÏÖµÄÊÇtruncateº¯Êý£¬¸Ãº¯ÊýÊÇÊÍ·ÅÖ¸¶¨i
* ½ÚµãÔÚÉ豸ÉÏÕ¼ÓõÄËùÓÐÂß¼¿é£¬°üÀ¨Ö±½Ó¿é¡¢Ò»´Î¼ä
* ½Ó¿éºÍ¶þ´Î¼ä½Ó¿é
*/
/*
* linux/fs/truncate.c
*
* (C) 1991 Linus Torvalds
*/
#include <linux/sched.h>
......
/*
* linux/fs/char_dev.c
*
* (C) 1991 Linus Torvalds
*/
#include <errno.h>
#include <sys/types.h> // ¶¨ÒåÁË»ù±¾µÄϵͳÊý¾ÝÀàÐÍ
#include <linux/sched.h>
#include <linux/kernel.h> // º¬ÓÐһЩÄں˳£Óú¯ÊýµÄÔÐζ¨Òå
#include < ......
1£¬ÍøÂçÕûÌåÁ÷Á¿²é¿´
ifconfig -s
cat /proc/net/dev
sar -n DEV/EDEV interval(ʱ¼ä¸ô) count(´ÎÊý)
nload -m [-d interface]
2£¬Ïêϸ²é¿´ÍøÂçÁ÷Á¿£¬±ÈÈç²é¿´Ä³Ò»¸öip/port£¬Ä³Ò»¸öÐÒé
iptraf£¬Îı¾´°¿Ú½çÃæ
ntop£¬webÍøÒ³½çÃæ ......