Linux 0.11°æ ½ø³Ìµ÷¶ÈÎı¾½â˵
0.11ºËÖнø³ÌµÄµ÷¶ÈÖ÷ÒªÓÉËĸö²¿·ÖÊý×é³É£ºµ÷¶È³õʼ»¯¡¢µ÷¶È¡¢Ë¯Ãß¡¢»½ÐÑ¡£
Ò»¡¢µ÷¶È³õʼ»¯:sched_init()
ÎÒÃÇÖªµÀÔÚÄں˳õʼ»¯£¨main£©¹ý³ÌÖУ¬Òª½«ÈÎÎñ0ת»»µ½Óû§Ì¬ÏÂÖ´ÐУ¬Ò²¾ÍÊǽ¨Á¢LinuxÖеĵÚÒ»¸öÓû§³ÌÐò¡£¼ÈÈ»ÈÎÎñ0֮ǰÊÇÔÚÄÚºË̬ÏÂÖ´Ðеģ¬ËùÒÔÓõÄÊÇϵͳµÄldt¡¢ºÍtss£¬ÒªÔÚÓû§Ì¬ÏÂÖ´ÐУ¬¾ÍҪʹÓÃÓû§Ì¬ÏµÄldt¡¢tss£¬ÄÇô£¬µ÷¶È³õʼ»¯µÄÆäÖÐÒ»¸öÈÎÎñ¾ÍÊǽ¨Á¢ÈÎÎñ0µÄldtºÍgdt¡£ÏÂÃæËµÒ»ÏÂsched_init()µÄ¾ßÌ幤×÷¹ý³Ì£º
1£©ÔÚgdtÖÐÉèÖÃldt¡¢gdt£ºldtºÍgdtµÄ¶¨ÒåÔÚsched.hÖС£
2£©½«eflagsÖеÄNTÖÃλ£º¼ÇµÃÔÚÇ°Ãæ¹ØÓÚÈÎÎñÇл»µÄ˵Ã÷ÖУ¬ÎÒÌáµ½ÔÚmainµÄÖÐsched_init()Ö®ºó£¬Òªµ÷ÓÃmove_to_user_mode£¨£©ÊµÏÖºËÐÄ̬µ½Óû§Ì¬µÄת»»£¬¶øÔÚmove_to_user_mode£¨£©ÖУ¬×îºóµ÷ÓÃÁËiret£¬Èç¹û½«NTΪ0£¬¾Í²»»áÒýÆð½ø³ÌµÄÇл»ÁË¡£
3£©¼ÓÔØtssºÍldt£ºÊÖ¶¯¼ÓÔØ½öÕâÒ»´Î£¬ÒÔºó¶¼ÊÇͨ¹ýÈÎÎñµÄÇл»CPU×Ô¶¯¼ÓÔØµÄ¡£ÔÚÕâÀÒòΪÊǵÚÒ»¸öÓû§ÈÎÎñ£¬ËùÒÔÐèÒªÊÖ¶¯ÉèÖá£
4£©³õʼ»¯8253¶¨Ê±Æ÷¡£
5£©ÔÚIDTÖÐÉèÖÃʱÖÓµÄÖжÏÃźÍϵͳµ÷ÓõÄÖжÏÃÅ¡£
¶þ¡¢µ÷¶È£ºschedule()
Õâ¸öº¯ÊýµÄÖ÷Òª¹¤×÷¾ÍÊÇ´ÓËùÓд¦ÔÚ¾ÍÐ÷״̬µÄ½ø³ÌÖÐÑ¡ÔñÏÂÒ»¸öÒªÔËÐеĽø³Ì¡£¾ßÌ幤×÷¹ý³ÌÊÇÕâÑùµÄ£ºËüÊ×Ïȼì²éÔÚ´¦ÔÚ¿ÉÖжÏ˯Ãß״̬ϵĽø³ÌÊÇ·ñ³ýÁË×èÈûÐźÅÒÔÍâ±ðµÄÐźţ¬Èç¹û´æÔÚ£¬Ôò½«ËüÖóɾÍÐ÷״̬¡£È»ºóÑ»·¼ì²éÈÎÎñÊý×éÖеÄËùÓд¦ÔÚ¾ÍÐ÷״̬µÄÈÎÎñ£¬ÌôÑ¡³öÊ£ÓàÖ´ÐÐʱ¼äÖµ×î´óµÄÒ»¸öÈÎÎñ£¬ÀûÓÃswitch_to()º¯ÊýÇл»µ½¸ÃÈÎÎñ¡£Èç¹û·¢ÏÖËùÓоÍÐ÷½ø³ÌµÄʱ¼äƬ¶¼ÊÇ0£¬Ôò¸ù¾ÝÈÎÎñµÄÓÅÏȼ¶£¬ÖØÐ¼ÆËãÿ¸öÈÎÎñµÄʱ¼äƬ£¬ÔÚÖØÐÂÖ´ÐÐÑ»·¼ì²éËùÓоÍÐ÷ÈÎÎñµÄÖ´ÐÐÊ£Óàʱ¼ä¡£
ÆäÖУ¬Õâ¸öº¯ÊýµÄºËÐÄÖ®Ò»¾ÍÊÇswitch_to()º¯Êý£¬ËüÄÜʵÏÖÈÎÎñµÄÇл»£¬ËüµÄ¶¨ÒåÔÚsched.hÖУ¬Ö÷ÒªÔÀí¾ÍÊÇÀûÓÃÈç¹ûljmpµÄ²Ù×÷ÊýÊÇÈÎÎñÃÅÃèÊö·û¾Í»áÒýÆðÈÎÎñµÄÇл»¡£
Èý¡¢Ë¯Ãßsleep_on()¡¢interruptible_sleep_on()
ÔÚ½ÓÊÕÕâ¸öº¯ÊýµÄ¹¤×÷ÔÀí֮ǰ£¬ÏÈÁ˽âÒ»¸öÊý¾Ý½á¹¹£ºµÈ´ý¶ÓÁС£µÈ´ý¶ÓÁÐÆä
Æäʵ¾ÍÊÇÒ»¸ö½ø³ÌÖ¸ÕëÁ´±í£¬ËùÓÐÓÉÓڵȴýͬһ¸ö×ÊÔ´µÄ˯Ãß½ø³Ì×é³ÉÒ»¸öµÈ´ý¶ÓÁС£Õâ¸öÁ´±íµÄÁ¬½Ó²¢²»ÊÇͨ³£ÒâÒåÉÏ
Ïà¹ØÎĵµ£º
ÏÂÔØJRE(Java Runtime Environment) ¡£(http://java.sun.com/javase/downloads/index.jsp)
ii. [root@localhost ~]#mkdir /usr/local/java
iii. (½«µµ°¸jre-1_5_0_09-linux-i586-rpm.binÏÂÔØµ½/usr/local/javaĿ¼ÏÂ)
iv. (³¬¼¶Óû§Ä£Ê½)
[root@localhost ~]#s ......
ÎÒÏëÔÚredhatÏÂʹÓÃÉãÏñÍ· µ«ÊÇÏÖÓа汾²»Ö§³Ö ËùÒÔÎÒÏëÉý¼¶ÄÚºË ÕâÑù¿ÉÄÜ»áÖ§³ÖÉãÏñÍ·
ÓÚÊÇÎÒ´ÓÍøÉÏÏÂÔØÁË 2.4.26°æ±¾µÄÄÚºË Í¨¹ýÍøÉϽéÉܵÄÄÇЩ·½·¨ Éý¼¶ÄÚºË Éý¼¶ºóÖØÆôµçÄÔ ½øÈëÐÂÄÚºËʱ Óöµ½ÏÂÃæµÄÎÊÌâ
VFS:Cannot open root device "sda2" or 08:01
Please append a correct "root=" boot option
kernel pa ......
ʹÓÃBusyBoxÖÆ×÷linux¸ùÎļþϵͳ£¨CramFS+mdev£©
²Ù×÷ϵͳ£ºUbuntu9.04
Äں˰汾£ºlinux-2.6.24.7
¿ª·¢°å£º²©´´arm2410s
½»²æ±àÒ빤¾ß£ºarm-linux-gcc-4.1.1
BusyBox£ºbusybox-1.11.1
CramFS£ºCramFS-1.1
×¢Ò⣺ÓÉÓÚÒªÖ ......
2007 Äê 4 ÔÂ 17 ÈÕ
Linux® ϵͳµ÷Óà ——
ÎÒÃÇÿÌì¶¼ÔÚʹÓÃËüÃÇ¡£²»¹ýÄúÇå³þϵͳµ÷ÓÃÊÇÈçºÎÔÚÓû§¿Õ¼äºÍÄÚºËÖ®¼äÖ´ÐеÄÂ𣿱¾ÎĽ«Ì½¾¿ Linux
ϵͳµ÷Óýӿڣ¨SCI£©£¬Ñ§Ï°ÈçºÎÌí¼ÓеÄϵͳµ÷Óã¨ÒÔ¼°ÊµÏÖÕâÖÖ¹¦ÄܵįäËû·½·¨£©£¬²¢½éÉÜÓë SCI ÓйصÄһЩ¹¤¾ß¡£
ϵͳµ÷ÓÃ
¾ÍÊÇÓû§¿Õ¼ä ......