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

LinuxÖеÄÄÚ´æ·ÖÅäºÍÊÍ·ÅÖ®bootmam_init()º¯Êý·ÖÎö

  Á˽âÁËLinuxÄÚ´æ¹ÜÀíµÄ»ù±¾ÖªÊ¶ºó£¬ÎÒÃÇÀ´Ñо¿Ò»ÏÂLinuxÄÚ´æµÄ·ÖÅäºÍÊÍ·Å¡£ÎÒÃÇ»á·ÖÁ½¸ö²¿·ÖÀ´Ñо¿µÄ¡£ÎÒÃÇÏòÀ´Ì½ÌÖϵͳÆô¶¯³õÆÚÄÚ´æµÄ·ÖÅäºÍÊÍ·Å¡£Õâ¸ö½×¶Î¿ÉÒÔÉêÇëµ½´óƬµÄÎïÀíÄڴ棬µ«ÊÇҪעÒâµ½ÒÔÏÂÁ½µã£¡
  1£©ÆäʵϵͳÆô¶¯³õÆÚÊÇÖ¸ÔÚinit_mem()֮ǰµÄ½×¶Î£¬ÔÚÕâ¸ö½×¶ÎÓÉÓÚÖ»ÐèÒªÉÙÁ¿µÄÄڴ棨Äں˱àÒëÐèÒªµÄÄڴ棬ҳ֡λÂë±í£¬Ò³±í£¬initrd£©£¬ËùÒÔ¿ÉÒÔÉêÇëµ½´óƬµÄÎïÀíÄڴ棬µ«ÊÇÎÒÃÇ»¹Òª×¢Òâµ½µÄÊÇ£¬Èç¹ûÔÚÕâ¸ö½×¶Î²»ÊÍ·ÅÕâЩÄÚ´æµÄ»°£¬init_mem()ÒÔºóµÄÄÚºËÊDz»¿ÉÒÔÔÙ¶ÔÕⲿ·ÖÄÚ´æ²Ù×÷µÄ£¨·ÖÅäºÍÊÍ·Å£©¡£
  2£©Õâ¸ö½×¶Î£¬ÎÒÃÇÖ»¿ÉÒÔ·ÖÅäµÍ¶ËÄڴ棬·ÖÅä²»Á˸߶ËÄڴ棬ÒòΪÕâ¸öʱºòÄÚ´æÊÇûÓÐÄÚºËÂß¼­µØÖ·µÄ¡£
  ºÃÁË£¬ÏÖÔÚÎÒÃÇ¿ªÊ¼À´Ñо¿ÓëÕâ¸ö½×¶ÎÓйصĺ¯Êý£¬Í¨¹ýÕâЩº¯ÊýµÄ·ÖÎö£¬ÎÒÃÇ¿ÉÒÔ¸üÇå³þÄÚ´æ¹ÜÀíÊÇÔõÑùµÄ¡£ÎÒÃÇÏÈÀ´Ñо¿bootmem_init()ϵͳÆô¶¯½×¶ÎÄÚ´æ¹ÜÀí³õʼ»¯¡£Õâ¸öº¯ÊýÊÇÔÚstart_kernel()µÄsetup_arch()µÄpaging_init()µ÷Óõġ£ÎÒÃÇÏÖÔÚÀ´¿´¿´paging_init()µÄ¾ßÌå´úÂë¡£
  void __init paging_init(struct meminfo *mi, struct machine_desc *mdesc)
{
 void *zero_page;
 int node;
 bootmem_init(mi);
struct meminfo *miÆäʵÊÇ´Ósetup_arch()º¯Êý´«¹ýÀ´µÄÈ«¾Ö±äÁ¿£¬Õâ¸öÈ«¾Ö±äÁ¿ÊÇmeminfo£¬Õâ¸ö±äÁ¿¼Ç¼ÁËϵͳÄÚ´æÐÅÏ¢£¬¾ßÌåÀ´ËµÊǼǼÁËbankµÄÐÅÏ¢¡£ÎÒÃÇÀ´¿´¿´bootmem_init(mi)¾ßÌå×öЩʲô£¡
static void __init bootmem_init(struct meminfo *mi)
{
 struct node_info node_info[MAX_NUMNODES], *np = node_info;
 unsigned int bootmap_pages, bootmap_pfn, map_pg;
 int node, initrd_node;
 bootmap_pages = find_memend_and_nodes(mi, np);
¶ÔÓÚstruct node_infoÕâ¸ö½á¹¹ÌåÊÇÓÃÀ´ÃèÊöÄÚ´æ½Úµã£¨node£©µÄÐÅÏ¢µÄ£¬ÕâÀïµÄnode_info±äÁ¿ÊÇÕâ¸ö½á¹¹ÌåµÄÊý×飬*npÕâÊÇÖ¸ÏòÕâ¸öÊý×éµÄÖ¸Õ룬ÎÒÃÇÏÈÀ´¿´¿´find_memend_and_nodes(mi, np);Õâ¸öº¯Êý¡£
find_memend_and_nodes(struct meminfo *mi, struct node_info *np)
{
 unsigned int i, bootmem_pages = 0, memend_pfn = 0;
 for (i = 0; i < MAX_NUMNODES; i++) {
  np[i].start = -1U;
  np[i].end = 0;
  np[i].bootmap_pages = 0;
 }
ÕâÀïÊǶԸղÅ˵µÄÄǸö½á¹¹Ìå½øÐгõʼ»¯£¬Ò»Ö±°ÑÕû¸öÊý×éµÄÿ¸öµ¥Ôª³õʼ»¯ÍêΪֹ¡£
for (i =


Ïà¹ØÎĵµ£º

Linux lock_kernel()º¯ÊýµÄ·ÖÎö¡£

  ÕâÖ»ÊÇÔÝʱµÄ¼Ç¼£¬ÒÔºó»á°ÑËü¹éÀൽstart_kernel()º¯ÊýµÄ·ÖÎö¡£ÔÚ·ÖÎö֮ǰ£¬ÎÒÏÈҪ˵˵¼¸¸ö¸ÅÄî¡£
  ÄÚºËÇÀÕ¼£ºÔÚ2.6Äں˼ÓÈëÁËÇÀÕ¼µÄÄÜÁ¦£¬¾ÍÊÇ˵µ÷¶È³ÌÐòÓа취ÔÚÒ»¸öÄں˼¶µÄÈÎÎñÕýÔÚÖ´ÐеÄʱºò´Óе÷¶È¡£µ«ÊDZØÐëÒª±£Ö¤ÖØÐµ÷¶ÈÒª°²È«£¬ÕâÑù¾ÍÒª¿¿Ò»°ÑËøÀ´±£Ö¤ÁË¡£
  ¼ÆÊýÆ÷£¨thread_info.[reempt_ ......

Linux²Ù×÷ϵͳµÄSwap½»»»ÇøÖ®ÃÕ

Swap£¬¼´½»»»Çø£¬³ýÁ˰²×°LinuxµÄʱºò£¬ÓжàÉÙÈ˹ØÐĹýËüÄØ?Æäʵ£¬SwapµÄµ÷Õû¶ÔLinux·þÎñÆ÷£¬ÌرðÊÇWeb·þÎñÆ÷µÄÐÔÄÜÖÁ¹ØÖØÒª¡£Í¨¹ýµ÷ÕûSwap£¬ÓÐʱ¿ÉÒÔÔ½¹ýϵͳÐÔÄÜÆ¿¾±£¬½ÚʡϵͳÉý¼¶·ÑÓá£
¡¡¡¡SwapµÄÔ­ÀíÊÇÒ»¸ö½Ï¸´ÔÓµÄÎÊÌ⣬ÐèÒª´óÁ¿µÄƪ·ùÀ´ËµÃ÷¡£ÔÚÕâÀïÖ»×÷¼òµ¥µÄ½éÉÜ£¬ÔÚÒÔºóµÄÎÄÕÂÖн«ºÍ´ó¼ÒÏêϸÌÖÂÛSwapʵÏÖµÄϸ½Ú ......

LinuxÖÕ¶ËÉ豸Çý¶¯£¨Ò»£©

ÔÚLinuxϵͳÖУ¬ÖÕ¶ËÉ豸·Ç³£ÖØÒª£¬Ã»ÓÐÖÕ¶ËÉ豸£¬ÏµÍ³½«ÎÞ·¨ÏòÓû§·´À¡ÐÅÏ¢£¬LinuxÖаüº¬¿ØÖÆÌ¨¡¢´®¿ÚºÍαÖÕ¶Ë3ÀàÖÕ¶ËÉ豸¡£
14.1ÖÕ¶ËÉ豸
    ÔÚLinuxϵͳÖУ¬ÖÕ¶ËÊÇÒ»ÖÖ×Ö·ûÐÍÉ豸£¬ËüÓжàÖÖÀàÐÍ£¬Í¨³£Ê¹ÓÃttyÀ´¼ò³Æ¸÷ÖÖÀàÐ͵ÄÖÕ¶ËÉ豸¡£ttyÊÇTeletypeµÄËõд£¬TeletypeÊÇ×îÔç³öÏÖµÄÒ»ÖÖÖÕ¶ËÉ豸£¬ ......

linux ÃüÁî cd

1. cd -> ·µ»Ø½øÈë´ËĿ¼֮ǰËùÔÚµÄĿ¼£ºcd -
2. ÉÏÒ»ÌõÃüÁî ->
                !! È«²¿µÄÉÏÒ»ÌõÃüÁî
                !* ÉÏÒ»ÌõÃüÁîµÄÈ«²¿²ÎÊý
      & ......

ÆÆ½âlinuxÖÐrootÃÜÂë(ת)

1.Æô¶¯linux£¬´ó¸ÅÔÚ2ÃëÖаÉ!¾ÍÕâÑùµÄ½çÃæ!°´ÈýϼüÅÌE
(°´µÚÒ»´ÎE¼ü½øÈëÈçͼ1.)
ͼ1°´µÚ¶þÏÂE¼ü½øÈëÈçͼ2
ͼ2°´µÚÈýÏÂE¼ü½øÈëÈçͼ3
¿´µ½Í¼3µÄ½çÃæÓ¦¸ÃÓÐЩİÉú°É!ÏÖÔÚÎÒÃÇÊäÈëÒ»¾äÃüÁî / 1
(¼ÇµÃ£ºÊäÈë“б¸Ü”ºó°´Ò»Ï“¿Õ¸ñ”ÔÚÊäÈë1£¬½ÓÏÂÈ¥¾Í°´“»Ø³µ¼ü”)
ÊäÈëÃüÁî»Ø³µÖ®ºó£¬Ëü» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ