Ò룺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 ·¢Ðа汾µÄ¹«Ë¾£¬°ÑËûÃǵÄÄÚºËÕû²¢½øÀ´¡£Ö®ºóËûÃǾÍ
Ïà¹ØÎĵµ£º
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
ÔÚÏÖʵÉú»îÖб»ÈËÃdzÆÎª´óʦ¼¶µÄÈËÎïȷʵºÜÉÙ¼û¡£
Brian
Proffitt
ÏÈÉú¾ÍÊÇһλȫÇòÖªÃû¡¢ÊÜÈË×ð¾´µÄ
Linux
´óʦ¡£´ËÑÔÓкθù¾Ý£¿½üÈÕ£¬ËûÏòÎÒÃÇÍÆ¼öÁËʲô£¿
......
Ò»¸ö³ÌÐòµÄ¿ª·¢Àë²»¿ªÐí¶à¿âº¯ÊýµÄÖ§³Ö£¬¿ÉÊÇ¿âÈç´ËÖ®¶à£¬ÓпªÔ´Ãâ·ÑµÄÒ²ÓÐÊշѵġ£ºÜÏ£ÍûÊìϤ±à³ÌµÄǰ±²°Ñ×Ô¼ºµÄ¾ÑéÕûÀíÏ£¬³£ÓõĿⶼ°üº¬ÄÄЩ¹¦ÄÜ¡£ÏÂÎÄÊÇÔÚÍøÉÏÕÒµÄÒ»¸öÀàËÆµÄ×ÊÁÏ¡£ÆÚ´ý¸ü¶à¸üÈ«µÄÄÚÈÝ¡£
---------------------------------------------------------------------------------------------------
¿´µ ......
/*
* 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 < ......
×ªÔØ£ºhttp://www.cnblogs.com/hexapodsoft/archive/2007/04/24/724902.html
I/OÖØ¶¨ÏòÏê½â¼°Ó¦ÓÃʵÀý
1¡¢ »ù±¾¸ÅÄÕâÊÇÀí½âºóÃæµÄ֪ʶµÄǰÌᣬÇëÎñ±ØÀí½â£©
a¡¢ I/OÖØ¶¨Ïòͨ³£Óë FDÓйأ¬shellµÄFDͨ³£Îª10¸ö£¬¼´ 0¡«9£»
b¡¢ ³£ÓÃFDÓÐ3¸ö£¬Îª0£¨stdin£¬±ê×¼ÊäÈ룩¡¢1£¨stdout£¬±ê×¼Êä³ö£©¡¢2£¨stderr£¬±ê×¼´íÎóÊä ......
Ò»¡¢°²×°JDK
°²×°°üÃûΪ£ºjdk-1_5_0_18-linux-i586.rpm.bin
°²×°²½Ö裺
1. ÒÔrootÉí·ÝµÇ¼Linux²Ù×÷ϵͳ
2. ½«jdk-1_5_0_18-linux-i586.rpm.bin°²×°°üÉÏ´«µ½/tmpĿ¼ÏÂ, ¼ì²âÈ·±£jdk-1_5_0_18-linux-i586.rpm.binÓпÉÖ´ÐÐȨÏÞ£»
Èç¹ûjdk-1_5_0_18-linux-i586.rpm.binûÓпÉÖ´ÐÐȨÏÞ£¬¿ÉʹÓÃÒ»ÏÂÃüÁîÌí¼Ó
#c ......