LinuxÄں˱àÂëʰ½õ
1.Ò»ÖÖ¶¨Ò庯ÊýÖ¸ÕëµÄ·½·¨
<linux/proc_fs.h>
typedef int (read_proc_t)(char *page, char **start, off_t offset, int count, int *eof, void *data);
read_proc_t *proc_read;
ÕâÖÖ¶¨Òå·½·¨ÓÐÒ»¸öÓÅÊÆ¾ÍÊÇ£¬¼´Ê¹ÄãûÓп´µ½read_proc_tµÄ¶¨Ò壬ҲÄܹ»Çå³þµÄÖªµÀproc_readÊÇÒ»¸öÖ¸Õ룬ÈçÏÂÃæ2ÖеĵÄcreate_proc_read_entryÖеIJÎÊýÖÐÏÔʾµÄÄÇÑù¡£ÁíÒ»ÖÖ³£Ó÷½·¨ÊÇ£º
typedef int (*read_proc_t)(....);¶¨Ò庯ÊýÖ¸Õë¡£
read_proc_t p;
µ«ÊÇÕâÖÖ·½·¨Ã»ÓÐÉÏÃæÄÇÖֿɶÁÐԺã¬ÒòΪ²»ÄÜÒ»Ñ۾Ϳ´³öpÊÇÒ»¸öº¯ÊýÖ¸Õë¡£
2.Ò»ÖÖ¶¨ÒåºêµÄ·½·¨
<linux/proc_fs.h>
static inline struct proc_dir_entry *create_proc_read_entry(const char *name, mode_t mode,
struct proc_dir_entry *base, read_proc_t *read_proc, void *data);
inline¹Ø¼ü×ÖÊÇGNU CÀ©Õ¹µÄ£¬×¨ÃÅΪÉè¼ÆÄں˶øÀ©Õ¹µÄ£¬ËüÄܹ»½«º¯Êý±àÒë³Éºê£¬Èç¹ûËüÊǺ¯Êý£¬ÄÇôÓÉÓÚÓÐstatic¹Ø¼ü×ÖÐÞÊΣ¬ÏÔÈ»Äã²»ÄÜÔÚ±¾ÎļþÖ®ÍⶨÒ弰ʹÓÃËü¡£
3.ö¾Ù±äÁ¿µÄÊýÁ¿
<linux/interrupt.h>
enum{
HI_SOFTIRQ,
TIMER_SOFTIRQ,
...
...
NR_SOFTIRQS,
};
Õâ¸öö¾Ù¶¨ÒåÁËÈíÖжÏÀàÐÍ£¬×îºóÒ»¸öNR_SOFTIRQSÀíËùµ±È»µÄ±íʾÁËö¾ÙÀàÐ͵Ä×î´óÖµ¡£
4.ÁªºÏºÍ½á¹¹µÄǶÌ×
<linux/mm_types.h>
struct page{
unsigned long flags;
union {
atomic_t _mapcount;
struct {
u16 inuse;
u16 objects;
};
};
}
½á¹¹pageÖеijÉÔ±ÔõÑù·ÃÎÊÄØ£¿³õʼ»¯ÔõÑù³õʼ»¯ÄØ£¿º¬ÓÐÄäÃûµÄÁªºÏºÍ½á¹¹¡£²âÊÔÒÔºó¿ÉÒÔ·¢ÏÖ×îÄÚ²ãµÄ³ÉÔ±»¹Êǵ±³ÉµÚÒ»²ãÀ´·ÃÎÊ£¬µ«ÊDz»ÄÜÕâÑù³õʼ»¯¡£ÈçÓÐ
struct page p;
p.flags=1;
atomic_set(&p._mapcount,1);
p.inuse=1;
p.objects=1;
¶ø²»ÄÜÈçÏÂÕâÑù³õʼ»¯
struct page p={
.flags=1,
.inuse=1,
Ïà¹ØÎĵµ£º
zz linux yum°²×°mysqlºóҪעÒâµÄһЩ³õʼ»¯ÎÊÌâ
ÎҵķþÎñÆ÷×°µÄÊÇcentos 5.3,ÓÉÓÚ×ʼ°²×°×öÁËÏêϸµÄ¼Ç¼,ËùÒÔÕû¸ö¹ý³ÌÒ²ÊÇÇá³µÊì·,һ·yumÏÂÀ´£¬¾Í¸ã¶¨ÁË£¬È»ºó¾ÍÊÇÊý¾Ý¿â¡¢ÍøÕ¾µÄ°á¼Ò£¬ÇáËɸ㶨~
¿ÉÊǽñÌìÔÚ¼Ò¿´ÁËϹ«Ë¾µÄÍøÕ¾£¬ÎÊÌâ³öÀ´ÁË~ ÓÐЩ²úÆ·µã»÷²é¿´ÏêϸÐÅÏ¢µÄʱºò£¬ÕÒ²»µ½ÍøÒ³~¾¹ýÒ»·¬Ë¼¿¼£¬·¢ÏÖÊÇmysql ......
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
ΪÁËÔÚͬһϵͳÖÐʹÓò»Í¬°æ±¾µÄ¿â£¬¿ÉÒÔÔÚ¿âÎļþÃûºó¼ÓÉϰ汾ºÅΪºó׺,ÀýÈ磺 libhello.so.1.0,ÓÉÓÚ³ÌÐòÁ¬½ÓĬÈÏÒÔ.soΪÎļþºó׺Ãû¡£ËùÒÔΪÁËʹÓÃÕâЩ¿â£¬Í¨³£Ê¹Óý¨Á¢·ûºÅÁ¬½ÓµÄ·½Ê½¡£
ln -s libhello.so.1.0 libhello.so.1 ......
¹ýÄê»ØÀ´£¬¹«Ë¾ÓÐЩ¸Ä¶¯£¬ÔÏȵÄWinceƽ̨»»³ÉLinuxÁË£¬×Ô¼ºµÄѧϰ¼Æ»®Ò²ÒªËæÖ®¸Ä±ä£¬ËäȻ֮ǰû½Ó´¥¹ýLinuxϵͳÏà¹ØµÄ֪ʶ£¬µ«Òª×¥×¡»ú»áŬÁ¦Ñ§Ï°¡£
Ìýѧ³¤Ëµ£¬ÒªÑø³ÉЩBlogµÄϰ¹ß£¬°Ñ×Ô¼ºµÄѧϰÐĵüÇÏÂÀ´£¬·½±ãÔÚѧҪÊDzéÔÄ£¬ÓеÀÀí£¬ÏÖÔÚ¿ªÊ¼×ܽáÐĵÃ֪ʶ¡£
ÔÚ¹«Ë¾¿ª·¢ÓõÄÊÇѧУµÄSEP 4020mini¿ª·¢°å£¬
³õÆÚÊÇÊìϤ» ......
1¡¢ÌØÈ¨¼¶
¡¡¡¡IntelÌåϵ½á¹¹ÒýÈëÌØÈ¨¼¶ÊÇΪÁËʵÏÖ±£»¤¡£Ëùν386±£»¤Ä£Ê½¾ÍÊÇÔÚ´Ë»ù´¡ÉϽ¨Á¢ÆðÀ´µÄ¡£ÏµÍ³ÖÐÿ¸ö¶Î£¨CS¡¢DS¡¢SS£©¶¼ÓÐ×Ô¼ºµÄÌØÈ¨¼¶£¬ÏµÍ³ÖÐÿ¸öÈÎÎñ»ò³ÌÐòÒ²¶¼ÓÐ×Ô¼ºµÄÌØÈ¨¡£
¡¡¡¡2¡¢²Ù×÷ģʽ
¡¡¡¡´¦ÀíÆ÷¼Óµç»òÖØÆôºó£¬Ê×ÏȽøÈëʵģʽ£¬²Ù×÷ϵͳ³õʼ»¯²¿·Ö¸ºÔð´Óʵģʽµ½±£»¤Ä£Ê½µÄÇл»¡£
¡¡¡¡3¡¢¶Î¡¢¶Îà ......