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

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÄÚ´æ4

£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­£­
¼¸¸öºê£º
PGDIR_SHIFT:È·¶¨Ò³È«¾ÖĿ¼ÏîÄÜÓ³ÉäµÄÇøÓò´óСµÄ¶ÔÊý¡£´ËºêÓÃÓÚ¼ÆËãҳȫ¾ÖĿ¼ÖÐÒ»¸öµ¥¶À±íÏîËùÄÜÓ³ÉäÇøÓòµÄ´óС¡£PGDIR_MASKÓÃÓÚÆÁ±Îoffset table,middle air,upper dir.×ֶεÄËùÓÐλ¡£
#define PGDIR_SHIFT     22//µ±ÎïÀíµØÖ·À©Õ¹»úÖÆ£¨pae£©±»½ûֹʱ,µ±¼¤»îµÄʱºò£¬´Ëʱ¾ÍΪ30루12λƫÒÆ£¬9λ±í£¬9λÖмäĿ¼£©
#define PGDIR_SIZE      (1UL << PGDIR_SHIFT)//´ËʱΪ2µÄ22´Î·½£¬4MB.µ±¼¤»îµÄʱºò£¬¾ÍÊÇ2µÄ30´Î·½£¬1GB.
#define PGDIR_MASK      (~(PGDIR_SIZE-1))//0xffc00000
PUD_SHIFT£ºÈ·¶¨Ò³Éϼ¶Ä¿Â¼ÏîÄÜÓ³ÉäµÄÇøÓò´óСµÄ¶ÔÊý¡£´ËºêÓÃÓÚ¼ÆËãÈ«¾ÖĿ¼ÖеÄÒ»¸öµ¥¶À±íÏîËùÄÜÓ³ÉäµÄÇøÓò´óС¡£PUD_MASKÓÃÓÚÆÁ±Îoffset×ֶΣ¬table×ֶΣ¬Öмä²ã×ֶΣ¬upper dir×ֶεÄËùÓÐλ¡£
#define PUD_SHIFT       PGDIR_SHIFT
#define PUD_SIZE        (1UL << PUD_SHIFT)
#define PUD_MASK        (~(PUD_SIZE-1))
Ö¸¶¨ÏßÐÔµØÖ·µÄoffset×ֶκÍtable×ֶεÄ×ÜλÊý¡£ÊÇÒ³ÖмäĿ¼Ïî¿ÉÒÔÓ³ÉäµÄÇøÓò´óСµÄ¶ÔÊý¡£sizeÓÃÓÚ¼ÆËãÓÉÒ³ÖмäĿ¼µÄÒ»¸öµ¥¶À±íÏîËùÓ³ÉäµÄÇøÓò´óС£¨Ò³±í´óС£©maskÓÃÓÚÆÁ±Îoffset×Ö¶ÎÓëtable×ֶεÄËùÓÐλ¡£¡£
#define PMD_SHIFT       PUD_SHIFT
#define PMD_SIZE        (1UL << PMD_SHIFT)
#define PMD_MASK        (~(PMD_SIZE-1))
PAGE_SHIFT£ºÖ¸¶¨offset×ֶεÄλÊý£»µ±x86ʱ£¬Îª12.ÔÙ¿´ËûµÄ³ß´ç£º1<< PAGE_SHIFT½«1×óÒÆ12룬Ҳ¾ÍÊÇ1*2^12£½4096¸ö×Ö½Ú¡£1ULµÄÒâ˼ÊÇunsigned longµÄ1.¶øPAGE_MASKÓÃÒÔÆÁ±Îoffset×ֶεÄËùÓÐλÖá£
#define PAGE_SHIFT      12
#define PAGE_SIZE       (1UL << PAGE_SHIFT)
#define PAGE_MASK       (~(PAGE_SIZE-1))
ÒÔÉÏÒ²¾ÍÊÇÈ«¾Ö£­>Éϼ¶—>ÖмäĿ¼—>Ò³±íÕâ¸ö˳Ðò¡£¶ø³ýÁËÉÏÃæµÄºêÖ®Í⣬»¹ÓбíÃ÷¸÷¸ö²ã´ÎÖ®¼ä±íÏî¸öÊýµÄºê¡£


Ïà¹ØÎĵµ£º

linuxÄÚºËÄ£¿é±à³ÌÖ®·ûºÅµ¼³ö

ºÜ¼òµ¥µÄÒ»¸ö³ÌÐò,subÄ£¿éÌṩÁ½¸öº¯Êýsub_integer,add_integer£¬²¢½«Æäµ¼³öµ½Äں˷ûºÅ±íÖУ¬sub_testÄ£¿é¶ÔÕâÁ½¸öº¯Êý½øÐе÷Óá£ÕâËãÊÇ×Ô¼ºÐ´µÄµÚÒ»¸öÄÚºËÄ£¿é³ÌÐò°É£¬¼ÍÄîÒ»ÏÂ.
sub.c:
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/module.h>
MODULE_LICENSE("Dual BSD/GPL") ......

linuxʹÓÃСÇÏÃÅ

ʵÓÃСÇÏÃÅʵÔÚÌ«¶àÁË£¬ÂýÂý̽Ë÷°É¡£ÏëÆð¸ÕÓõçÄÔʱ£¬ÌìÌìÔÚ¡¶µçÄÔ°®ºÃÕß¡·ÖÐÕÒСÇÏÃÅ¡£ÕÒµ½Á˾ÍÈç»ñÖÁ±¦¡£ÓÖ¿´µ½ÎÒblogÖÐÓÐÈ˻ظ´²»Ï°¹ßubuntu£¬»¹ÊÇͶ±¼win7¡£ÐÄÏ룬Ӧ¸ÃijЩÈËҲͦÐèÒªÒ»µãʹÓÃСÇÏÃŵĽ»Á÷µÄ¡£ÐÅÊÖдÁËЩ£¬¹©²Î¿¼¡£
±¾ÎÄÊʺϳõ¼¶Óû§ÔĶÁ¡£
1.Öն˸´ÖÆÕ³Ìù
ÓÃgnomeÖÕ¶Ëʱ£¬¶Ô×Ö·ûµÄ¸´ÖÆÕ³Ìù¸Ð¾õûÓÐw ......

ǶÈëʽLinuxϵͳÖеĿìËÙÆô¶¯¼¼ÊõÑо¿

ÕªÒª
LinuxÔÚÏû·Ñµç×ÓÀà²úÆ·Öеõ½Á˹㷺ӦÓã¬ÓÉÓÚǶÈëʽÓû§¶ÔÓÚϵͳÆô¶¯ËٶȽÏΪÃô¸Ð£¬Òò´Ë¿ìËÙÆô¶¯¼¼ÊõÖð½¥³ÉΪÑо¿ºÍÓ¦ÓÃÖеÄÒ»¸öÖص㡣±¾ÎÄͨ¹ý¶ÔǶ
Èëʽ
LinuxµÄÆô¶¯Ê±ÐòºÍÖ÷ÒªÑÓʱÒòËصķÖÎö£¬Õë¶ÔÐÔµØ̽ÌÖÁËÔÚ¸÷¸öÆô¶¯½×¶Î½µµÍʱºÄµÄ¼¼Êõ£¬Öصã·ÖÎöÁËXIP¼¼ÊõºÍXIPÎļþϵͳ£¬²¢¸ø³öÁËÖ÷ÒªµÄʵÏÖ¹ý
³Ì¡£
¹Ø¼ü´ ......

ÍõÛó Linux³¤ÆªÂÛ

½ñÌì¿´ÁËһƪºÜÌرðµÄÎÄÕ£¬ËäÈ»ÓеãÆ«¼¤£¬µ«ÖµµÃÉî˼£¬ÓÚÊÇתÁ˹ýÀ´£¡
±¾ÎÄÊÇһλÇ廪ÍËѧѧÉúËùд!ËûµÄÃû×Ö½ÐÍõÛó,È˺ܳöÃû£¬²»ÐÅ°Ù¶ÈһϾÍÖªµÀ£¡
ÎÒÒѾ­°ëÄêûÓÐʹÓà Windows µÄ·½Ê½¹¤×÷ÁË¡£Linux ¸ßЧµÄÍê³ÉÁËÎÒËùÓеŤ×÷¡£
GNU/Linux ²»ÊÇÿ¸öÈ˶¼ÏëÓõġ£Èç¹ûÄãÖ»ÐèÒª´¦ÀíÒ»°ãµÄÊÂÎñ£¬´òÓÎÏ·£¬ÄÇôÄã²»ÐèÒªÁ˽âÏ ......

LinuxÍøÂçЭÒéÕ»(Ò»)——SocketÈëÃÅ(1)

1¡¢TCP/IP²Î¿¼Ä£ÐÍ
ΪÁËʵÏÖ¸÷ÖÖÍøÂçµÄ»¥Á¬£¬¹ú¼Ê±ê×¼»¯×éÖ¯(ISO)Öƶ¨ÁË¿ª·Åʽϵͳ»¥Á¬(OSI)²Î¿¼Ä£ÐÍ¡£¾¡¹ÜOSIµÄÌåϵ½á¹¹´ÓÀíÂÛÉϽ²ÊDZȽÏÍêÕûµÄ£¬µ«Êµ¼ÊÉÏ£¬ÍêÈ«·ûºÏOSI¸÷²ãЭÒéµÄÉÌÓòúÆ·È´ºÜÉÙ½øÈëÊг¡¡£¶øʹÓÃTCP/IP ЭÒéµÄ²úÆ·È´´óÁ¿Ó¿ÈëÊг¡£¬¼¸ºõËùÓеŤ×÷Õ¾¶¼ÅäÓÐTCP/IPЭÒ飬ʹµÃTCP/IP ³ÉΪ¼ÆËã»úÍøÂçµÄʵ¼ÊµÄ¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ