Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ǶÈëʽLinuxÎļþϵͳ¼°Æä´æ´¢»úÖÆ·ÖÎö

     ǶÈëʽϵͳÓëͨÓÃPC»ú²»Í¬£¬Ò»°ãûÓÐÓ²ÅÌÕâÑùµÄ´æ´¢É豸¶øÊÇʹÓÃFlashÉÁ´æÐ¾Æ¬¡¢Ð¡ÐÍÉÁ´æ¿¨µÈרΪǶÈëʽϵͳÉè¼ÆµÄ´æ´¢×°Ö㬱¾ÎÄ·ÖÎöÁËǶÈëʽϵͳÖг£ÓõĴ洢É豸¼°Æä¹ÜÀí»úÖÆ£¬½éÉÜÁ˳£ÓõĻùÓÚFLASHµÄÎļþϵͳÀàÐÍ¡£
1£®Ç¶Èëʽϵͳ´æ´¢É豸¼°Æä¹ÜÀí»úÖÆ·ÖÎö
¡¡¡¡¹¹½¨ÊÊÓÃÓÚǶÈëʽϵͳµÄLinuxÎļþϵͳ£¬±ØÈ»»áÉæ¼°µ½Á½¸ö¹Ø¼üµã£¬Ò»ÊÇÎļþϵͳÀàÐ͵ÄÑ¡Ôñ£¬Ëü¹ØÏµµ½ÎļþϵͳµÄ¶ÁдÐÔÄÜ¡¢³ß´ç´óС;ÁíÒ»¸ö¾ÍÊǸùÎļþϵͳÄÚÈݵÄÑ¡Ôñ£¬Ëü¹ØÏµµ½¸ùÎļþϵͳËùÄÜÌṩµÄ¹¦Äܼ°³ß´ç´óС¡£
¡¡¡¡Ç¶ÈëʽÉ豸ÖÐʹÓõĴ洢Æ÷ÊÇÏñFlashÉÁ´æÐ¾Æ¬¡¢Ð¡ÐÍÉÁ´æ¿¨µÈרΪǶÈëʽϵͳÉè¼ÆµÄ´æ´¢×°Öá£FlashÊÇĿǰǶÈëʽϵͳÖй㷺²ÉÓõÄÖ÷Á÷´æ´¢Æ÷£¬ËüµÄÖ÷ÒªÌØµãÊǰ´ÕûÌå/ÉÈÇø²Á³ýºÍ°´×Ö½Ú±à³Ì£¬¾ßÓе͹¦ºÄ¡¢¸ßÃܶȡ¢Ð¡Ìå»ýµÈÓŵ㡣Ŀǰ£¬Flash·ÖΪNOR, NANDÁ½ÖÖÀàÐÍ¡£
¡¡¡¡NORÐÍÉÁ´æ¿ÉÒÔÖ±½Ó¶ÁȡоƬÄÚ´¢´æµÄÊý¾Ý£¬Òò¶øËٶȱȽϿ죬µ«ÊǼ۸ñ½Ï¸ß¡£NORÐÍоƬ£¬µØÖ·ÏßÓëÊý¾ÝÏß·Ö¿ª£¬ËùÒÔNORÐÍоƬ¿ÉÒÔÏñSRAMÒ»ÑùÁ¬ÔÚÊý¾ÝÏßÉÏ£¬¶ÔNORоƬ¿ÉÒÔ“×֔Ϊ»ù±¾µ¥Î»²Ù×÷£¬Òò´Ë´«ÊäЧÂʺܸߣ¬Ó¦ÓóÌÐò¿ÉÒÔÖ±½ÓÔÚFlashÄÚÔËÐУ¬²»±ØÔÙ°Ñ´úÂë¶Áµ½ÏµÍ³RAMÖÐÔËÐС£ËüÓëSRAMµÄ×î´ó²»Í¬ÔÚÓÚд²Ù×÷ÐèÒª¾­¹ý²Á³ýºÍдÈëÁ½¸ö¹ý³Ì¡£
¡¡¡¡NANDÐÍÉÁ´æÐ¾Æ¬¹²ÓõØÖ·ÏßÓëÊý¾ÝÏߣ¬ÄÚ²¿Êý¾ÝÒÔ¿éΪµ¥Î»½øÐд洢£¬Ö±½Ó½«NANDоƬ×öÆô¶¯Ð¾Æ¬±È½ÏÄÑ¡£NANDÉÁ´æÊÇÁ¬Ðø´æ´¢½éÖÊ£¬ÊʺϷŴóÎļþ¡£²Á³ýNORÆ÷¼þʱÊÇÒÔ64-128KBµÄ¿é½øÐеģ¬Ö´ÐÐÒ»¸öдÈë/²Á³ý²Ù×÷µÄʱ¼äΪ5s£»²Á³ýNANDÆ÷¼þÊÇÒÔ8-32KBµÄ¿é½øÐеģ¬Ö´ÐÐÏàͬµÄ²Ù×÷×î¶àÖ»ÐèÒª4ms¡£
¡¡¡¡NAND RashµÄµ¥Ôª³ß´ç¼¸ºõÊÇNORÆ÷¼þµÄÒ»°ë£¬ÓÉÓÚÉú²ú¹ý³Ì¸üΪ¼òµ¥£¬NAND½á¹¹¿ÉÒÔÔÚ¸ø¶¨µÄÄ£¾ß³ß´çÄÚÌṩ¸ü¸ßµÄÈÝÁ¿£¬Ò²¾ÍÏàÓ¦µØ½µµÍÁ˼۸ñ¡£NOR flashÕ¼¾ÝÁËÈÝÁ¿Îª1¨D16MBÉÁ´æÊг¡µÄ´ó²¿·Ö£¬¶øNAND flashÖ»ÊÇÓÃÔÚ8¨D128MBµÄ²úÆ·µ±ÖУ¬ÕâҲ˵Ã÷NORÖ÷ÒªÓ¦ÓÃÔÚ´úÂë´æ´¢½éÖÊÖУ¬NANDÊʺÏÓÚÊý¾Ý´æ´¢¡£
¡¡¡¡ÊÙÃü(ÄÍÓÃÐÔ)£¬ÔÚNANDÉÁ´æÖÐÿ¸ö¿éµÄ×î´ó²Áд´ÎÊýÊÇÒ»°ÙÍò´Î£¬¶øNORµÄ²Áд´ÎÊýÊÇÊ®Íò´Î¡£NAND´æ´¢Æ÷³ýÁ˾ßÓÐ10±È1µÄ¿é²Á³ýÖÜÆÚÓÅÊÆ£¬µäÐ͵ÄNAND¿é³ß´çÒª±ÈNORÆ÷¼þС8±¶£¬Ã¿¸öNAND´æ´¢Æ÷¿éÔÚ¸ø¶¨µÄʱ¼äÄÚµÄɾ³ý´ÎÊýÒªÉÙһЩ¡£
¡¡¡¡ËùÓÐǶÈëʽϵͳµÄÆô¶¯¶¼ÖÁÉÙÐèҪʹÓÃijÖÖÐÎʽµÄÓÀ¾ÃÐÔ´æ´¢É豸£¬ËüÃÇÐèÒªºÏÊʵÄÇý¶¯³ÌÐò£¬µ±Ç°ÔÚǶÈëʽLinuxÖÐÓÐÈýÖÖ³£ÓõĿéÇý¶¯³ÌÐò¿ÉÒÔÑ¡Ôñ¡£
¡ñ BlkmemÇý¶¯²ã
¡¡¡¡BlkmemÇý¶¯ÊÇΪu


Ïà¹ØÎĵµ£º

LinuxÄں˵Äͬ²½»úÖÆ

ÔÚ½øÈëÕýÎÄǰÏÈ¿´Ò»ÏÂÎÒÔÚÍøÉÏ¿´µ½µÄÌû×Ó£º
ÎÊ£ºatomic_set(v,i)µÄ¶¨ÒåÊÇÕâÑùµÄ:
#define atomic_set(v,i) v->counter=i
µ«ÊÇ£¬ÔÚi386Ìåϵ½á¹¹ÖУ¬²»ÄÜÖ±½Ó°ÑÒ»¸öÄÚ´æ²Ù×÷Êýͨ¹ýÒ»ÌõmovÖ¸Áî´æµ½ÁíÒ»¸öÄÚ´æ²Ù×÷ÊýÖУ¬
±ÈÈçÒª°Ñint32ÀàÐ͵ıäÁ¿ i ÉèÖÃ³É j£¬±ØÐë¾­¹ýÁ½ÌõÖ¸Áî:
mov eax,j
mov i,eax
Èç¹ûÕâÑùÀ ......

Ubuntu8.04ϱàÒëlinuxÄÚºË

½ñÌì¿´µ½Ê¦ÐÖ¹¤Î»ÉÏÓб¾Linux Kernel In a Nutshell£¬»¹ÊÇȫӢµÄÓ°Ó¡°æ£¬ËùÒԾͽè¹ýÀ´¿´¿´£¬·¢ÏÖÏÖÔÚ¿´Ó¢ÎĵÄÊé½¥½¥ÊÊÓ¦ÁË£¬»¹ÊDZȽÏÈÝÒ׵ģ¬ÊéÖпªÊ¼½éÉÜÈçºÎ±àÒëLinuxÄںˣ¬LinuxÄں˴óÈýµÄʱºòҲѧ¹ý±àÒë¹ý£¬µ«Êǵ±Ê±±àÒë±È½Ï¼òµ¥£¬Õâ´Î¾ö¶¨ÔÙÖØÍ·µ½Î²ºÃºÃ±àÒëһϣ¬Ê×ÏÈÏÂÔØlinux kernel£¬ÔÙÓÃsecureCRTÉÏ´«µ½Ubuntu 8. ......

Linux ÄÚºËWorkQueueÔĶÁ±Ê¼Ç


1.            Workqueue
WorkqueueµÄÃû×־ͺÍËûµÄ¹¦ÄÜÒ»Ñù£ºÐèÒª´¦ÀíµÄ¹¤×÷ÁбíºÍ¹¤×÷µÄÌí¼Óɾ³ý£¨Ã²ËÆÃ»Óп´µ½ÈçºÎɾ³ýµÄ£©¡¢ÒÔ¼°¹¤×÷µÄµ÷¶ÈÖ´ÐС£
ÐèÒª´¦ÀíµÄ¹¤×÷Áбíͨ³£¶¼Î¬»¤ÔÚÄں˶ÔÏóworkqueue_structÀïÃæ¡£ÏµÍ³ÀïÃæ¿ÉÒÔÓжà¸öworkqueue_struct¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ