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

Linux slab ·ÖÅäÆ÷ÆÊÎöÖ®Ò»£ºslab µÄ¸ÅÄî

      ÄÚ´æ¹ÜÀíµÄÄ¿±êÊÇÌṩһÖÖ·½·¨£¬ÎªÊµÏÖ¸÷ÖÖÄ¿µÄ¶øÔÚ¸÷¸öÓû§Ö®¼äʵÏÖÄÚ´æ¹²Ïí¡£ÄÚ´æ¹ÜÀí·½·¨Ó¦¸ÃʵÏÖÒÔÏÂÁ½¸ö¹¦ÄÜ£ºÒ»ÊÇ×îС»¯¹ÜÀíÄÚ´æËùÐèµÄʱ¼ä£»¶þÊÇ×î´ó»¯ÓÃÓÚÒ»°ãÓ¦ÓõĿÉÓÃÄڴ棨×îС»¯¹ÜÀí¿ªÏú£©¡£ÄÚ´æ¹ÜÀíʵ¼ÊÉÏÊÇÒ»ÖÖ¹ØÓÚȨºâµÄÁãºÍÓÎÏ·¡£Äú¿ÉÒÔ¿ª·¢Ò»ÖÖʹÓÃÉÙÁ¿ÄÚ´æ½øÐйÜÀíµÄËã·¨£¬µ«ÊÇÒª»¨·Ñ¸ü¶àʱ¼äÀ´¹ÜÀí¿ÉÓÃÄÚ´æ¡£Ò²¿ÉÒÔ¿ª·¢Ò»¸öËã·¨À´ÓÐЧ¿ìËٵعÜÀíÄڴ棬µ«È´ÒªÊ¹Óøü¶àµÄÄÚ´æ¡£×îÖÕ£¬Ìض¨Ó¦ÓóÌÐòµÄÐèÇ󽫴Ùʹ¶ÔÕâÖÖȨºâ×÷³öÑ¡Ôñ¡£
Ò»£¬ÆÕͨÄÚ´æ¹ÜÀíÓëslabÄÚ´æ¹ÜÀíµÄ¶Ô±È
      Ö®Ç°µÄÄÚ´æ¹ÜÀíÆ÷¶¼Ê¹ÓÃÁËÒ»ÖÖ»ùÓڶѵķÖÅä²ßÂÔ¡£ÔÚÕâÖÖ·½·¨ÖУ¬´ó¿éÄڴ棨³ÆΪ¶Ñ£©ÓÃÀ´ÎªÓû§¶¨ÒåµÄÄ¿µÄÌṩÄÚ´æ¡£µ±Óû§ÐèÒªÒ»¿éÄÚ´æʱ£¬¾ÍÇëÇó¸ø×Ô¼º·ÖÅäÒ»¶¨´óСµÄÄÚ´æ¡£¶Ñ¹ÜÀíÆ÷»á²é¿´¿ÉÓÃÄÚ´æµÄÇé¿ö£¨Ê¹ÓÃÌض¨Ëã·¨£©²¢·µ»ØÒ»¿éÄÚ´æ¡£ËÑË÷¹ý³ÌÖÐʹÓõÄһЩËã·¨ÓÐ first-fit£¨ÔÚ¶ÑÖÐËÑË÷µ½µÄµÚÒ»¸öÂú×ãÇëÇóµÄÄÚ´æ¿é£©ºÍ best-fit£¨Ê¹ÓöÑÖÐÂú×ãÇëÇóµÄ×îºÏÊʵÄÄÚ´æ¿é£©¡£µ±Óû§Ê¹ÓÃÍêÄÚ´æºó£¬¾Í½«ÄÚ´æ·µ»Ø¸ø¶Ñ¡£ÕâÖÖ»ùÓڶѵķÖÅä²ßÂԵĸù±¾ÎÊÌâÊÇËéƬ£¨fragmentation£©¡£µ±ÄÚ´æ¿é±»·ÖÅäºó£¬ËüÃÇ»áÒÔ²»Í¬µÄ˳ÐòÔÚ²»Í¬µÄʱ¼ä·µ»Ø¡£ÕâÑù»áÔÚ¶ÑÖÐÁôÏÂһЩ¶´£¬ÐèÒª»¨Ò»Ð©Ê±¼ä²ÅÄÜÓÐЧµØ¹ÜÀí¿ÕÏÐÄÚ´æ¡£ÕâÖÖË㷨ͨ³£¾ßÓнϸߵÄÄÚ´æʹÓÃЧÂÊ£¨·ÖÅäÐèÒªµÄÄڴ棩£¬µ«ÊÇÈ´ÐèÒª»¨·Ñ¸ü¶àʱ¼äÀ´¶Ô¶Ñ½øÐйÜÀí¡£
      Linux ËùʹÓÃµÄ slab ·ÖÅäÆ÷µÄ»ù´¡ÊÇ Jeff Bonwick Ϊ SunOS ²Ù×÷ϵͳÊ×´ÎÒýÈëµÄÒ»ÖÖËã·¨¡£Jeff µÄ·ÖÅäÆ÷ÊÇΧÈƶÔÏ󻺴æ½øÐеġ£ÔÚÄÚºËÖУ¬»áΪÓÐÏ޵ĶÔÏ󼯣¨ÀýÈçÎļþÃèÊö·ûºÍÆäËû³£¼û½á¹¹£©·ÖÅä´óÁ¿ÄÚ´æ¡£Jeff ·¢ÏÖ¶ÔÄÚºËÖÐÆÕͨ¶ÔÏó½øÐгõʼ»¯ËùÐèµÄʱ¼ä³¬¹ýÁ˶ÔÆä½øÐзÖÅäºÍÊÍ·ÅËùÐèµÄʱ¼ä¡£Òò´ËËûµÄ½áÂÛÊDz»Ó¦¸Ã½«ÄÚ´æÊÍ·Å»ØÒ»¸öÈ«¾ÖµÄÄÚ´æ³Ø£¬¶øÊǽ«ÄÚ´æ±£³ÖΪÕë¶ÔÌض¨Ä¿¶ø³õʼ»¯µÄ״̬¡£ÀýÈ磬Èç¹ûÄÚ´æ±»·ÖÅä¸øÁËÒ»¸ö»¥³âËø£¬ÄÇôֻÐèÔÚΪ»¥³âËøÊ״ηÖÅäÄÚ´æʱִÐÐÒ»´Î»¥³âËø³õʼ»¯º¯Êý£¨mutex_init£©¼´¿É¡£ºóÐøµÄÄÚ´æ·ÖÅä²»ÐèÒªÖ´ÐÐÕâ¸ö³õʼ»¯º¯Êý£¬ÒòΪ´ÓÉÏ´ÎÊͷź͵÷ÓÃÎö¹¹Ö®ºó£¬ËüÒѾ­´¦ÓÚËùÐèµÄ״̬ÖÐÁË¡£
      ÏÂͼ¸ø³öÁË slab ½á¹¹µÄ¸ß²ã×éÖ¯½á¹¹¡£ÔÚ×î¸ß²ãÊÇ cache_chain£¬ÕâÊÇÒ»¸ö slab »º´æµÄÁ´½ÓÁÐ±í¡£Õâ¶ÔÓÚ best-fit Ëã·¨·Ç³£ÓÐÓ㬿ÉÒÔÓÃÀ´²éÕÒ×îÊʺÏËùÐèÒªµÄ·ÖÅä´óСµÄ»º´æ£¨±éÀúÁÐ±í£©¡£cache_chain µÄÿ¸öÔ


Ïà¹ØÎĵµ£º

ǶÈëʽLinuxµÄLCDÇý¶¯£¨FB @ s3c2410£©

CPU : ARM9 s3c2410 
LCD : ¹æ¸ñ²»Ã÷£¨Õâ¸öºÜÎÞÄΣ¬µ«ÊÇÎÒËùÖªµÀµÄÖ»ÓÐÒ»¸ö·Ö±æÂÊ£©
Ô´ÂëÐ޸ģº
/linux-2.6.30.4/arch/arm/mach-s3c2410/mach-smdk2410.c
        ÔÚÕâ¸öÎļþÖмÓÈëframebufferµÄ³õʼ»¯Êý¾Ý½á¹¹£¨¾ßÌåÊý¾Ý²ÎÕÕLCD¼¼ÊõÊֲᣩÈçÏ£º
#include <mach/fb.h> ......

´ÓÒ»µÀÃæÊÔÌâ̸LinuxÏÂforkµÄÔËÐлúÖÆ

ijÍâÆóÃæÊÔlinux¿ª·¢Ö°Î»ÃæÊÔÌ⣺
¸ø³öÈçÏÂC³ÌÐò£¬ÔÚlinuxÏÂʹÓÃgcc±àÒ룺
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"
int main(void)
{
pid_t pid1;
pid_t pid2;
pid1 = fork();
pid2 = fork();
printf("pid1:%d, pid2:%d\n", pid1, pid2);
}

    ......

linuxϵͳ½Å±¾µÄ³£¼ûÆô¶¯Ë³Ðò(FW)


ÓÉÓÚÏà¹Ø±äÁ¿¶¨Ò岻ͬ,
ËùÒÔÒÔÏÂÆô¶¯Ë³Ðò½ö¹©²Î¿¼
ÔÚRedhat
Redflag centos fc linuxϵͳÀïÃæ½Å±¾µÄÆô¶¯
ÏȺó£º
µÚÒ»²½£ºÍ¨¹ý/boot/vm½øÐÐ
Æô¶¯ vmlinuz
µÚ¶þ²½£ºinit /etc/inittab
µÚÈý²½£ºÆô¶¯ÏàÓ¦µÄ½Å±¾£¬²¢ÇÒ´ò¿ªÖÕ¶Ë
rc.sysinit
rc.d(Àï
ÃæµÄ½Å±¾£©
rc.local
µÚËIJ½£ºÆô¶¯loginµÇ¼½çÃæ login
µÚÎå² ......

Linux ·ÖÇø


¶ÔÓ²Å̽øÐзÖÇøÇ°£¬Ó¦¸ÃÏÈŪÇå³þ¼ÆËã»úµ£¸ºµÄ¹¤×÷¼°Ó²Å̵ÄÈÝÁ¿Óжà´ó£¬»¹Òª¿¼ÂÇÒÔϼ¸¸öÎÊÌâ¡£
        
        
µÚÒ»µãÒ²ÊÇ×îÖØÒªµÄÒ»µã£¬ÒªÖªµÀµ±Ç°°²×°
Lilo
µÄ°æ±¾£¬£¨
Linux
Òýµ¼Îļþ£º
Lilo
ºÍ
Grub
£©ÒòΪ
Li ......

LinuxÏÂÃæµÄÈí¼þRAID6²âÊÔ

linuxϵÄÈí¼þRAIDÖ§³ÖRAID¼¶±ð0,1,4,5,6£¬½ñÌìÌرð²âÊÔÒ»ÏÂRAID6¡£
²½ÖèÒ»£º×¼±¸·ÖÇø
·ÖÇøÇé¿öÈçÏ£¬¾ßÌåÈçºÎ·ÖÇø¾Í²»½éÉÜÁË¡£
/dev/hdb5            5240        5252      1043 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ