Linux ÄÚ´æ¹ÜÀí ¸ß¶ËÄÚ´æµÄÓ³É䷽ʽ
½âÊÍÒ»:
¸ß¶ËÄÚ´æÊÇÖ¸ÎïÀíµØÖ·´óÓÚ 896M µÄÄÚ´æ¡£
¶ÔÓÚÕâÑùµÄÄڴ棬ÎÞ·¨ÔÚ“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”½øÐÐÓ³Éä¡£
Ϊʲô£¿
ÒòΪ“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”×î¶àÖ»ÄÜ´Ó 3G µ½ 4G£¬Ö»ÄÜÖ±½ÓÓ³Éä 1G ÎïÀíÄڴ棬¶ÔÓÚ´óÓÚ 1G µÄÎïÀíÄڴ棬ÎÞÄÜΪÁ¦¡£
ʵ¼ÊÉÏ£¬“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä”Ò²´ï²»µ½ 1G£¬ »¹µÃÁôµãÏßÐÔ¿Õ¼ä¸ø“Äں˶¯Ì¬Ó³Éä¿Õ¼ä” ÄØ¡£
Òò´Ë£¬Linux ¹æ¶¨“ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä” ×î¶àÓ³Éä 896M ÎïÀíÄÚ´æ¡£
¶Ô Óڸ߶ËÄڴ棬¿ÉÒÔͨ¹ý alloc_page() »òÕ߯äËüº¯Êý»ñµÃ¶ÔÓ¦µÄ page£¬µ«ÊÇÒªÏë·ÃÎÊʵ¼ÊÎïÀíÄڴ棬»¹µÃ°Ñ page
תΪÏßÐÔµØÖ·²ÅÐУ¨ÎªÊ²Ã´£¿ÏëÏë MMU ÊÇÈçºÎ·ÃÎÊÎïÀíÄÚ´æµÄ£©£¬Ò²¾ÍÊÇ˵£¬ÎÒÃÇÐèҪΪ¸ß¶ËÄÚ´æ¶ÔÓ¦µÄ page
ÕÒÒ»¸öÏßÐԿռ䣬Õâ¸ö¹ý³Ì³ÆÎª¸ß¶ËÄÚ´æÓ³Éä¡£
¸ß¶ËÄÚ´æÓ³ÉäÓÐÈýÖÖ·½Ê½£º
1¡¢Ó³Éäµ½“Äں˶¯Ì¬Ó³Éä¿Õ¼ä”
ÕâÖÖ·½Ê½ºÜ¼òµ¥£¬ÒòΪͨ¹ý vmalloc() £¬ÔÚ”Äں˶¯Ì¬Ó³Éä¿Õ¼ä“ÉêÇëÄÚ´æµÄʱºò£¬¾Í¿ÉÄܴӸ߶ËÄÚ´æ»ñµÃÒ³Ãæ£¨²Î¿´ vmalloc µÄʵÏÖ£©£¬Òò´Ë˵¸ß¶ËÄÚ´æÓпÉÄÜÓ³Éäµ½”Äں˶¯Ì¬Ó³Éä¿Õ¼ä“ ÖС£
2¡¢ÓÀ¾ÃÄÚºËÓ³Éä
Èç¹ûÊÇͨ¹ý alloc_page() »ñµÃÁ˸߶ËÄÚ´æ¶ÔÓ¦µÄ page£¬ÈçºÎ¸øËüÕÒ¸öÏßÐԿռ䣿
ÄÚºËרÃÅΪ´ËÁô³öÒ»¿éÏßÐԿռ䣬´Ó
PKMAP_BASE µ½
FIXADDR_START £¬ÓÃÓÚÓ³Éä¸ß¶ËÄÚ´æ¡£ÔÚ
2.4 ÄÚºËÉÏ£¬Õâ¸öµØÖ··¶Î§ÊÇ
4G-8M µ½
4G-4M Ö®¼ä¡£Õâ¸ö¿Õ¼äÆð½Ð“ÄÚºËÓÀ¾ÃÓ³Éä¿Õ¼ä”»òÕß“ÓÀ¾ÃÄÚºËÓ³Éä¿Õ¼ä”
Õâ¸ö¿Õ¼äºÍÆäËü¿Õ¼äʹÓÃͬÑùµÄҳĿ¼±í£¬¶ÔÓÚÄÚºËÀ´Ëµ£¬¾ÍÊÇ
swapper_pg_dir£¬¶ÔÆÕͨ½ø³ÌÀ´Ëµ£¬Í¨¹ý CR3 ¼Ä´æÆ÷Ö¸Ïò¡£
ͨ³£Çé¿öÏ£¬Õâ¸ö¿Õ¼äÊÇ
4M ´óС£¬Òò´Ë½ö½öÐèÒªÒ»¸öÒ³±í¼´¿É£¬ÄÚºËͨ¹ýÀ´ pkmap_page_table ѰÕÒÕâ¸öÒ³±í¡£
ͨ¹ý kmap()£¬ ¿ÉÒÔ°ÑÒ»¸ö page Ó³Éäµ½Õâ¸ö¿Õ¼äÀ´
ÓÉÓÚÕâ¸ö¿Õ¼äÊÇ
4M ´óС£¬×î¶àÄÜͬʱӳÉä
1024 ¸ö
page¡£Òò´Ë£¬¶ÔÓÚ²»Ê¹ÓõĵÄ
page£¬¼°Ó¦¸Ãʱ´ÓÕâ¸ö¿Õ¼äÊͷŵô£¨Ò²¾ÍÊǽâ³ýÓ³Éä¹ØÏµ£©£¬Í¨¹ý
kunmap() £¬¿ÉÒÔ°ÑÒ»¸ö page ¶ÔÓ¦µÄÏßÐÔµØÖ·´ÓÕâ¸ö¿Õ¼äÊͷųöÀ´¡£
3¡¢ÁÙʱӳÉä
ÄÚºËÔÚ
FIXADDR_START µ½
FIXADDR_TOP Ö®¼ä±£ÁôÁËһЩÏßÐÔ¿Õ¼äÓÃÓÚÌØÊâÐèÇó¡£Õâ¸ö¿Õ¼ä³ÆÎª“¹Ì¶¨Ó³Éä¿Õ¼ä”
ÔÚÕâ¸ö¿Õ¼äÖУ¬ÓÐÒ»²¿·ÖÓÃÓڸ߶ËÄÚ´æµÄÁÙʱӳÉä¡£
Õâ¿é¿Õ¼ä¾ßÓÐÈçÏÂÌØµã£º
1¡¢
ÿ¸ö
CPU Õ¼ÓÃÒ»¿é¿Õ¼ä
2¡¢
ÔÚÿ¸ö
CPU Õ¼ÓõÄÄÇ¿é¿Õ¼äÖУ¬ÓÖ·ÖΪ¶à¸öС
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
Files And Dirs
1. touch ---create a new, empty file
vi filename is also ok
2. mkdir ---make directory
mkdir -p ---to make all directories in the path
3. space in ......
ÔÚWindowsϰ²×°Èí¼þʱ£¬Ö»ÐèÔËÐÐÈí¼þµÄ°²×°³ÌÐò£¨setup¡¢installµÈ£©»òÕßÓÃzipµÈ½âѹËõÈí¼þ½â¿ª¼´¿É°²×°£¬ÔËÐз´°²×°³ÌÐò£¨uninstall¡¢unware¡¢¡°Ð¶ÔØ¡±µÈ£©¾ÍÄܽ«Èí¼þÇå³ý¸É¾»£¬ÍêȫͼÐλ¯µÄ²Ù×÷½çÃæ£¬¼òµ¥µ½Ö»ÒªÓÃÊó±êÒ»Ö±µã»÷¡°ÏÂÒ»²½¡±¾Í¿ÉÒÔÁË¡£¶øLinuxºÃÏó¾Í²»Ò»ÑùÁË£¬ºÜ¶àµÄ³õѧÕß¶¼±§Ô¹ÔÚLinuxϰ²×°ºÍÐ¶ÔØÈí¼þ·Ç³ ......
´ó¼ÒÖªµÀLinuxÖд´½¨×Ó½ø³ÌµÄÒ»¸öºÜºÃµÄ·½·¨ÊǺ¯Êýµ÷ÓÃfork,µ«ÊǺܶà³õѧÕß¶ÔforkµÄÀí½âÉÏ¿ÉÄÜÓеãÀ§ÄÑ¡£ÏÂÃæ¾Ù¸öÀý×ÓÀ´¿´¿´forkµÄÓ÷¨°É¡£
Æäʵ£¬´ó¼ÒÓÃforkµÄʱºò¼ÇסforkÊÇ“·Ö²æ”µÄÒâ˼¾ÍºÜºÃÀí½âÁË¡£
  ......