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

Linux ÄÚ´æ¹ÜÀí ÏßÐÔ¿Õ¼äÓëÎïÀíÄÚ´æ

Linux ÄÚ´æ¹ÜÀí -- ÏßÐÔ¿Õ¼äÓëÎïÀíÄÚ´æ ÊÕ²Ø
ÉÏͼ·´Ó³ÁËÈçÏÂÐÅÏ¢£º
1¡¢ ½ø³ÌµÄ4G ÏßÐԿռ䱻»®·Ö³ÉÈý¸ö²¿·Ö£º½ø³Ì¿Õ¼ä£¨0-3G£©¡¢ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä£¨3G – high_memory£©¡¢Äں˶¯Ì¬Ó³Éä¿Õ¼ä£¨VMALLOC_START - VMALLOC_END£©
2¡¢ Èý¸ö¿Õ¼äʹÓÃͬһÕÅҳĿ¼±í£¬Í¨¹ý CR3 ¿ÉÕÒµ½´ËҳĿ¼±í¡£µ«²»Í¬µÄ¿Õ¼äÔÚҳĿ¼±íÖÐÒ³¶ÔÓ¦²»Í¬µÄÏÒò´Ë»¥Ï಻³åÍ»
3¡¢ Äں˳õʼ»¯ÒԺ󣬸ù¾Ýʵ¼ÊÎïÀíÄÚ´æµÄ´óС£¬¼ÆËã³ö high_memory¡¢VMALLOC_START¡¢VMALLOC_END µÄÖµ¡£²¢Îª“ÄÚºËÖ±½ÓÓ³É䔿ռ佨Á¢ºÃÓ³Éä¹ØÏµ£¬ËùÓеÄÎïÀíÄÚ´æ¶¼¿ÉÒÔͨ¹ý´Ë¿Õ¼ä½øÐзÃÎÊ¡£
4¡¢ “½ø³Ì¿Õ¼ä”ºÍ“Äں˶¯Ì¬Ó³Éä¿Õ¼ä”µÄÓ³Éä¹ØÏµÊǶ¯Ì¬½¨Á¢µÄ£¨Í¨¹ýȱҳÒì³££©
¼ÙÉèÔÚÓÐÈý¸öÏßÐÔµØÖ· addr1, addr2, addr3 £¬·Ö±ðÊôÓÚÈý¸öÏßÐԿռ䣬µ«ÊÇ×îÖÕ¶¼Ó³Éäµ½ÎïÀíÒ³Ãæ1£º
1¡¢ Èý¸öµØÖ·¶ÔÓ¦²»Í¬µÄÒ³±íºÍÒ³±íÏî
2¡¢ µ«ÊÇÒ³±íÏîµÄ¸ß 20bit ¿Ï¶¨ÊÇ1£¬±íʾÎïÀíÒ³ÃæµÄË÷ÒýºÅÊÇ1
3¡¢ ͬʱ£¬¸ù¾Ý¸ß 20 bit£¬¿ÉÒÔ´Ó mem_map[] ÖÐÕÒµ½¶ÔÓ¦µÄ struct page ½á¹¹£¬struct page ÓÃÓÚ¹ÜÀíʵ¼ÊµÄÎïÀíÒ³Ãæ£¨ºìÏߣ©
4¡¢ ´ÓÏßÐÔµØÖ·£¬¸ù¾ÝҳĿ¼±í£¬Ò³±í£¬¿ÉÒÔÕÒµ½ÎïÀíµØÖ·
5¡¢ Struct page ºÍÎïÀíµØÖ·Ö®¼äºÜÈÝÒ×»¥Ïàת»»
6¡¢ ´ÓÎïÀíµØÖ·£¬¿ÉÒÔºÜÈÝÒ׵ķ´ÍƳöÔÚÄÚºËÖ±½ÓÓ³Éä¿Õ¼äµÄÏßÐÔµØÖ·£¨À¶Ïߣ©¡£ÒªÏëµÃµ½ÔÚ½ø³Ì¿Õ¼ä»òÕßÄں˶¯Ì¬Ó³Éä¿Õ¼äµÄ¶ÔÓ¦µÄÏßÐÔµØÖ·£¬ÔòÐèÒª±éÀúÏàÓ¦µÄ“Ðé´æÇø¼ä”Á´±í¡£
¹ØÓÚҳĿ¼±í£º
      1¡¢ ÿ¸ö½ø³ÌÓÐÒ»¸öÊôÓÚ×Ô¼ºµÄҳĿ¼±í£¬¿Éͨ¹ý CR3 ¼Ä´æÆ÷ÕÒµ½
2¡¢ ¶øÄÚºËÒ²ÓÐÒ»¸ö¶ÀÁ¢ÓÚÆäËü½ø³ÌµÄҳĿ¼±í£¬±£´æÔÚ swapper_pg_dir[] Êý×éÖÐ
3¡¢ µ±½ø³ÌÇл»µÄʱºò£¬Ö»ÐèÒª½«Ð½ø³ÌµÄҳĿ¼°ÑµØÖ·¼ÓÔØµ½ CR3 ¼Ä´æÆ÷Öм´¿É
4¡¢ ´´½¨Ò»¸öнø³ÌµÄʱºò£¬ÐèҪΪËü·ÖÅäÒ»¸ö page£¬×÷ΪҳĿ¼±í£¬²¢½« swapper_pg_dir[] µÄ¸ß 256 Ï±´¹ýÀ´£¬µÍ 768 ÏîÔòÇå0


Ïà¹ØÎĵµ£º

linux mountÃüÁîÏê½â

¹¦ÄÜ£º
¼ÓÔØÖ¸¶¨µÄÎļþϵͳ¡£
Óï·¨£º
mount [-afFhnrvVw] [-L] [-o] [-t] [É豸Ãû] [¼ÓÔØµã]
Ó÷¨ËµÃ÷£º
mount¿É½«Ö¸¶¨É豸ÖÐÖ¸¶¨µÄÎļþϵͳ¼ÓÔØµ½LinuxĿ¼Ï£¨Ò²¾ÍÊÇ×°ÔØµã£©¡£¿É½«¾­³£Ê¹ÓõÄÉ豸дÈë
Îļþ/etc/fastab,ÒÔʹϵͳÔÚÿ´ÎÆô¶¯Ê±×Ô¶¯¼ÓÔØ¡£mount¼ÓÔØÉ豸µÄÐÅÏ¢¼Ç¼ÔÚ/etc/mtabÎļþÖС£Ê¹ÓÃumountÃüÁîÐ ......

LinuxÍøÂçÉ豸Çý¶¯Ñ§Ï°±Ê¼Ç( )

LinuxÍøÂçÉ豸Çý¶¯³ÌÐòÌåϵ½á¹¹
´ÓÉϵ½Ï£ºÍøÂçЭÒé½Ó¿Ú²ã-->ÍøÂçÉ豸½á¹¹²ã-->É豸Çý¶¯ÊµÏÖ²ã-->ÍøÂçÉ豸Óëý½é²ã
 
¼ÇÒä·½·¨£º
·ÖÈý²ã£¬1¡¢×îÉÏÃæÀí½âΪÎÒÃÇÓõÄÍøÂç´«Êä·½·¨£¬¾ÍÊÇÍøÂçЭÒ飬2¡¢×îÏÂÃæ¾ÍÊÇÎïÀíÓ²¼þ£¬¼´ÍøÂçÉ豸²ã£¬3¡¢ÖмäÊÇÒ»²ã£¬É豸Çý¶¯£¬È»ºó²ð³É2²¿·Ö£¬Éϲ¿·ÖÊǽṹ£¨²ã£©£¬Ï²¿· ......

linuxÄÚºËregister_chrdev_region()ϵÁк¯Êý

ÄÚºËÖÐËùÓÐÒÑ·ÖÅäµÄ×Ö·ûÉ豸±àºÅ¶¼¼Ç¼ÔÚÒ»¸öÃûΪ chrdevs
É¢ÁбíÀï¡£¸ÃÉ¢ÁбíÖеÄÿһ¸öÔªËØÊÇÒ»¸ö char_device_struct ½á¹¹£¬ËüµÄ¶¨ÒåÈçÏ£º
  
static struct char_device_struct {
       struct char_device_struct *next;    // Ö¸ÏòÉ¢ÁгåÍ»Á´±íÖÐµÄ ......

LinuxϵĶδíÎó²úÉúµÄÔ­Òò¼°µ÷ÊÔ·½·¨

¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄgdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3λ°ü ......

LinuxÐźŽéÉÜ(ת)

Ðźţ¨signal£©ÊÇÒ»ÖÖÈí¼þÖжϣ¬ËüÌṩÁËÒ»ÖÖ´¦ÀíÒ첽ʼþµÄ·½·¨£¬Ò²Êǽø³Ì¼äΩһµÄÒ첽ͨÐÅ·½Ê½¡£ÔÚLinuxϵͳÖУ¬¸ù¾ÝPOSIX±ê×¼À©Õ¹ÒÔºóµÄÐźŻúÖÆ£¬²»È¨¿ÉÒÔÓÃÀ´Í¨ÖªÄ³½ø³Ì·¢ÉúÁËʲôʼþ£¬»¹¿ÉÒÔ¸ø½ø³Ì´«µÝÊý¾Ý¡£
    Ò»¡¢ÐźŵÄÀ´Ô´
    ÐźŵÄÀ´Ô´¿ÉÒÔÓкܶàÖÖ·½Ê½£¬°´ÕÕ²úÉúÌõ¼þµÄ²» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ