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

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

  free_bootmem()Õâ¸öº¯ÊýÊÇϵͳÆô¶¯³õÆÚÄÚ´æÊͷŵĺËÐĺ¯Êý£¬ÎÒÃÇÀ´¿´¿´ËüµÄ´úÂë¡£
  void __init free_bootmem (unsigned long addr, unsigned long size)//addrÊÇÒªÊͷŵÄÎïÀíÆðʼµØÖ·£¬sizeÊÇÒªÊͷſռäµÄ´óС¡£
 {
    free_bootmem_core(NODE_DATA(0)->bdata, addr, size);//Ö±½Ó´ÓÄÚ´ænode0ºÅ¿ªÊ¼ÊÍ·ÅÄÚ´æ¿Õ¼ä¡£
 }//¿ÉÒÔ¿´³öÕæÕýµÄºËÐĺ¯ÊýÊÇfree_bootmem_core()Õâ¸öº¯Êý£¬Õâ¸ö²ÅÊǺËÐIJ¿·Ö¡£ÎÒÃÇÀ´¿´¿´ËüµÄ¾ßÌåÄÚÈݰɡ£
  static void __init free_bootmem_core(bootmem_data_t *bdata, unsigned long addr, unsigned long size)
{
    unsigned long i;
    unsigned long start;
    /*
     * round down end of usable mem, partially free pages are
     * considered reserved.
     */
    unsigned long sidx;
    unsigned long eidx = (addr + size - bdata->node_boot_start)/PAGE_SIZE;//¼ÆËã³öÒªÊͷſռäµÄ½áÊøÎ»ÖÃÏà¶ÔÓÚ¸ÃÄÚ´æ½ÚµãµÄÆðʼλÖÃµÄÆ«ÒÆÒ³Êý¡£
    unsigned long end = (addr + size)/PAGE_SIZE;//Êͷſռä×îºóλÖõľø¶ÔÒ³ºÅ¡£
    BUG_ON(!size);//Èç¹ûÊÍ·Å¿ÕÄڴ棬ϵͳ±ÀÀ£¡£
    BUG_ON(end > bdata->node_low_pfn);//²»ÄÜÊͷų¬¹ý±¾½Úµã·¶Î§ÄÚµÄÄÚ´æ¿Õ¼ä£¬·ñÔòϵͳ±ÀÀ£¡£
    if (addr < bdata->last_success)
             bdata->last_success = addr;
    /*
     * Round up the beginning of the address.
     */
    start = (addr + PAGE_SIZE-1) / PAGE_SIZE;//ÕâÀï¼ÆË㿪ʼµØÖ·µÄÈ«ÐÂÒ³£¬¼ÙÉèaddrÊÇÔÚ0~4kbµÄµØÖ··¶Î§µÄ»°£¬ÆäÊµÕæÕýÔÚ0ºÅÒ³µÄλÖ㬵«ÊÇÈç¹ûͨ¹ýÉÏÃæµÄÔËË㣬Çó³öÀ´µÄ¾ÍÊÇ1ºÅÒ³µÄλÖá£ÎªÊ²Ã´ÕâÑù×öÄØ£¿ÒòΪÈç¹ûÆðʼµØÖ·²»Êǰ´Ò³¶ÔÆëµÄ£¬Èç¹ûÖ±½ÓÊÍ·Å£¬¾Í»á°ÑÇ°Ãæ²»ÊôÓÚÕâ¸öÄÚ´ænodeµÄ¿Õ¼äÒ²ÊÍ·ÅÁË¡£
    sidx = start - (bdata->node_boot_start/PAGE_SIZE);//Õâ¸ö¾ÍÊǼÆËãÐÂÒ³ºÍÔ­À´µÄÆðʼµØÖ·ËùÔÚÒ³µÄÆ«ÒÆÒ³Êý¡£
 


Ïà¹ØÎĵµ£º

LinuxÏÂQTͼÐνçÃæ¿ª·¢£¨Ò»£©——¸ÅÊö(1)


QtÊÇÒ»¸ö¿çƽ̨µÄC++ͼÐÎÓû§½çÃæ¿â,.ÓÉŲÍþTrollTech¹«Ë¾³öÆ·£¬Ä¿Ç°°üÀ¨Qt/X11£¬»ùÓÚFrambufferµÄQt Embedded,¿ìËÙ¿ª·¢¹¤¾ßQt Designer¼¸¹ú¼Ê»¯¹¤¾ßQt LinguistµÈ£®QtÖ§³ÖUnix¼°Linuxϵͳ,»¹Ö§³ÖWindows NT/Windows 2k¼°Qindows 95/98ƽ̨.QtµÄÁ¼ºÃ·â×°»úÖÆÊ¹ÆäÄ£¿é»¯³Ì¶È·Ç³£¸ß,¿ÉÖØÓÃÐÔ ......

linux c alarm(0)µÄº¬Òå

Linux C¡¡¡¡alarmº¯Êý---Çë¿´×îºó
¡¡¡¡alarmÒ²³ÆÎªÄÖÖÓº¯Êý£¬Ëü¿ÉÒÔÔÙ½ø³ÌÖÐÉèÖÃÒ»¸ö¶¨Ê±Æ÷£¬µ±¶¨Ê±Æ÷Ö¸¶¨µÄʱ¼äµ½Ê±£¬ËüÏò½ø³Ç·¢ËÍSIGALARMÐźš£Òª×¢ÒâµÄÊÇ£¬Ò»¸ö½ø³ÌÖ»ÄÜÓÐÒ»¸öÄÖÖÓʱ¼ä£¬Èç¹ûÔÚµ÷ÓÃalarm֮ǰÒÑÉèÖùýÄÖÖÓʱ¼ä£¬ÔòÈκÎÒÔǰµÄÄÖÖÓʱ¼ä¶¼±»ÐÂÖµËù´úÌæ¡£
ËùÐèÍ·Îļþ
¡¡¡¡#include<unistd.h>
º¯Ê ......

LinuxÃüÁmodinfoÏÔʾkernelÄ£¿éÐÅÏ¢

modinfo(module infomation)
¹¦ÄÜ˵Ã÷£ºÏÔʾkernelÄ£¿éµÄÐÅÏ¢¡£
Óï¡¡¡¡·¨£ºmodinfo [-adhpV][Ä£¿éÎļþ]
²¹³ä˵Ã÷£ºmodinfo»áÏÔʾkernelÄ£¿éµÄ¶ÔÏóÎļþ£¬ÒÔÏÔʾ¸ÃÄ£¿éµÄÏà¹ØÐÅÏ¢¡£
²Î¡¡¡¡Êý£º
  -a»ò--author ¡¡ÏÔʾģ¿é¿ª·¢ÈËÔ±¡£ 
  -d»ò--description ¡¡ÏÔʾģ¿éµÄ˵Ã÷¡£& ......

LinuxÃüÁlsmod ÏÔʾÒÑÔØÈëϵͳµÄÄ£¿é

lsmod(list modules)
 
¹¦ÄÜ˵Ã÷£ºÏÔʾÒÑÔØÈëϵͳµÄÄ£¿é¡£
Óï¡¡¡¡·¨£ºlsmod
²¹³ä˵Ã÷£ºÖ´ÐÐlsmodÖ¸Á»áÁгöËùÓÐÒÑÔØÈëϵͳµÄÄ£¿é¡£Linux²Ù×÷ϵͳµÄºËÐľßÓÐÄ£¿é»¯µÄÌØÐÔ£¬Ó¦´ËÔÚ±àÒëºËÐÄʱ£¬ÎñÐë°ÑÈ«²¿µÄ¹¦Äܶ¼·ÅÈëºËÐÄ¡£Äú¿ÉÒÔ½«ÕâЩ¹¦ÄܱàÒë³ÉÒ»¸ö¸öµ¥¶ÀµÄÄ£¿é£¬´ýÐèҪʱÔÙ·Ö±ðÔØÈë¡£
·¶Àý£º
[root@lin ......

linuxÏ´´½¨oracleÓû§±í¿Õ¼ä

 ¾ÍÊÇÔÚÒÑÓеÄÊý¾Ý¿âʵÀýÉÏ´´½¨Ò»¸öеÄÕʺţ¬·ÃÎÊһЩеıí
 ²Ù×÷²½ÖèÈçÏ£º
 1¡¢µÇ¼linux£¬ÒÔoracleÓû§µÇ¼£¨Èç¹ûÊÇrootÓû§µÇ¼µÄ£¬µÇ¼ºóÓà su - oracleÃüÁîÇл»³ÉoracleÓû§£©
 2¡¢ÒÔsysdba·½Ê½À´´ò¿ªsqlplus£¬ÃüÁîÈçÏ£º sqlplus "/as sysdba"
 3¡¢²é¿´ÎÒÃdz£¹æ½«Óû§±í¿Õ¼ä·ÅÖÃλÖà ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ