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

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 Õ¼ÓõÄÄÇ¿é¿Õ¼äÖУ¬ÓÖ·ÖΪ¶à¸öС


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linux 2.6.23ʱÖÓÖжÏÓëµ÷¶È·ÖÎö(4)

TIMER_INITIALIZER£¨£©£º
1):TIMER_INITIALIZER£¨£©ÓÃÀ´ÉùÃ÷Ò»¸ö¶¨Ê±Æ÷£¬ËüµÄ¶¨ÒåÈçÏ£º
#define TIMER_INITIALIZER(_function, _expires, _data) {         \
                .function = (_fun ......

LINUX»ù´¡ÖªÊ¶

d Ŀ¼
l ·ûºÅÁ´½Ó(Ö¸ÏòÁíÒ»¸öÎļþ)
s Ì×½Ó×ÖÎļþ
b ¿éÉ豸Îļþ
c ×Ö·ûÉ豸Îļþ
p ÃüÃû¹ÜµÀÎļþ
- ÆÕͨÎļþ£¬»òÕ߸ü׼ȷµØ˵²»ÊôÓÚÒÔÉϼ¸ÖÖÀàÐ͵ÄÎļþ
-------------------------------------------------------------
ÎļþȨÏÞ
r´ú±í¿É¶Á
w´ú±í¿Éд
x´ú±í¿ÉÔËÐÐ µ ......

ÈçºÎÔÚLinuxÏÂÀ´²é¿´OSϵͳ¿éµÄ´óС

Skate
¡¡
¡¡¡¡²é¿´osϵͳ¿éµÄ´óС
¡¡
¡¡¡¡[root]# /sbin/tune2fs -l /dev/sda1
¡¡
¡¡¡¡²é¿´osϵͳҳµÄ´óС
¡¡
¡¡¡¡[oracle@skate-test ~]$ getconf PAGESIZE
¡¡
¡¡¡¡4096
¡¡
¡¡¡¡Ð޸ĿéµÄ´óС£º
¡¡
¡¡¡¡´´½¨Îļþϵͳʱ£¬¿ÉÒÔÖ¸¶¨¿éµÄ´óС¡£Èç¹û½«À´ÔÚÄãµÄÎļþϵͳÖÐÊÇһЩ±È½Ï´óµÄÎļþµÄ»°£¬Ê¹ÓýϴóµÄ¿é´óС ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ