System V
IPC
²ÎÊý
Ãû×Ö
ÃèÊö
ºÏÀíȡֵ
SHMMAX
×î´ó¹²ÏíÄÚ´æ¶Î³ß´ç£¨×Ö½Ú£©
×îÉÙÈô¸ÉÕ×£¨¼ûÎı¾£©
SHMMIN
×îС¹²ÏíÄÚ´æ¶Î³ß´ç£¨×Ö½Ú£©
1
SHMALL
¿ÉÓù²ÏíÄÚ´æµÄ×ÜÊýÁ¿£¨×Ö½Ú»òÕßÒ³Ãæ£©
Èç¹ûÊÇ×Ö½Ú£¬¾ÍºÍ SHMMAX
Ò»Ñù£»Èç¹ûÊÇÒ³Ãæ£¬ceil(SHMMAX/PAGE_SIZE)
SHMSEG
ÿ½ø³Ì×î´ó¹²ÏíÄÚ´æ¶ÎÊýÁ¿
Ö»ÐèÒª 1 ¸ö¶Î£¬²»¹ýȱʡ±ÈÕâ¸ßµÃ¶à¡£
SHMMNI
ϵͳ·¶Î§×î´ó¹²ÏíÄÚ´æ¶ÎÊýÁ¿
ÀàËÆ SHMSEG
¼ÓÉÏÓÃÓÚÆäËûÓ¦ÓõĿռä
SEMMNI
ÐźŵƱêʶ·ûµÄ×îСÊýÁ¿£¨Ò²¾ÍÊÇ˵£¬Ì×£©
ÖÁÉÙceil(max_connections / 16)
SEMMNS
ϵͳ·¶Î§µÄ×î´óÐźŵÆÊýÁ¿
ceil(max_connections / 16) * 17
¼Ó
ÉÏÓÃÓÚÆäËûÓ¦ÓõĿռä
SEMMSL
ÿÌ×ÐźŵÆ×îСÐźŵÆÊýÁ¿
ÖÁÉÙ 17
SEMMAP
ÐźŵÆÓ³ÉäÀïµÄ¼Ç¼ÊýÁ¿
²ÎÔÄÎı¾
SEMVMX
ÐźŵƵÄ×î´óÖµ
ÖÁÉÙ 1000 £¨È±Ê¡Í¨³£ÊÇ32767£¬³ý·Ç±»ÆÈ£¬·ñÔò²»ÒªÐ޸ģ©
×îÖØÒªµÄ¹²ÏíÄÚ´æ²ÎÊýÊÇ SHMMAX
£¬ ÒÔ×ֽڼǵĹ²ÏíÄÚ´æ¶Î¿ÉÓµÓеÄ×î´ó³ß´ç¡£
Èç¹ûÄãÊÕµ½À´×Ôshmget
µÄÀàËÆInvalid argument
ÕâÑùµÄ´íÎóÐÅÏ¢£¬ÄÇôºÜÓпÉÄÜÊÇÄ㳬¹ýÏÞÖÆÁË¡£
ÓÐЩϵͳ¶ÔϵͳÀ ......
¡¡1 ÒýÑÔ
¡¡¡¡Linux²Ù×÷ϵͳÒò¾ßÓÐÔ´´úÂ빫¿ª¡¢±ãÓڲüõ¡¢Óй㷺µÄ´¦ÀíÆ÷Ö§³ÖµÈÓŵ㣬³ÉΪµ±Ç°Ç¶ÈëʽϵͳµÄÈÈÃÅÑ¡Ôñ¡£»ùÓÚI2C×ÜÏߵļüÅÌÀ©Õ¹É豸Ö÷ÒªÓÃÓÚÂú×ãǶÈëʽÉ豸ÖжԶఴ¼üµÄÐèÇó£¬Çý¶¯³ÌÐòÔÚϵͳÆô¶¯Ê±¶ÔÓ²¼þ½øÐгõʼ»¯¡£ÔÚϵͳÆô¶¯ºóʵÏÖÓ²¼þºÍÓ¦ÓóÌÐòÖ®¼äµÄÊý¾Ý½»»¥¡£Õë¶ÔS3C2410΢´¦ÀíÆ÷ºÍ¼üÅÌɨÃè¹ÜÀíÆ÷¼þ£¬ÉîÈëÌÖÂÛÈçºÎÔÚǶÈëʽ²Ù×÷ϵͳarm LinuxÖÐʵÏÖZLG7290µÄÇý¶¯¡£
¡¡¡¡2 I2C×ÜÏß
¡¡¡¡I2C×ÜÏßÊÇÆ÷¼þ¼ä´®Ðд«Êä×ÜÏߣ¬ÒÔÆä¹æ·¶ºÍ´øI2C½Ó¿ÚµÄÍâΧÆ÷¼þ»ñµÃ¹ã·ºÓ¦Óá£S3C2410´¦ÀíÆ÷ÄÚÖÃÓÐI2C×ÜÏß½Ó¿Ú¡£I2C×ÜÏßÊÇÓÉÊý¾ÝÏßSDAºÍʱÖÓSCL¹¹³ÉµÄ´®ÐÐ×ÜÏߣ¬¿É·¢ËͺͽÓÊÕÊý¾Ý£¬Ã¿¸öÆ÷¼þ¶¼ÓÐÒ»¸öΨһµÄµØÖ·Ê¶±ð¡£I2C×ÜÏßÔÚ´«ËÍÊý¾Ý¹ý³ÌÖй²ÓÐ3ÖÖÐźţº(1)¿ªÊ¼ÐźţºSCLΪ¸ßµçƽʱ£¬SDAÓÉ¸ßµçÆ½ÏòµÍµçÆ½Ìø±ä£¬¿ªÊ¼´«ËÍÊý¾Ý¡£(2)½áÊøÐźţºSCLΪµÍµçƽʱ£¬SDAÓÉµÍµçÆ½Ïò¸ßµçÆ½Ìø±ä£¬½áÊø´«ËÍÊý¾Ý¡£(3)Ó¦´ðÐźţº½ÓÊÕÊý¾ÝµÄIC½ÓÊÕµ½8 bitÊý¾Ýºó£¬Ïò·¢ËÍÊý¾ÝµÄIC·¢³öÌØ¶¨µÄµÍµçƽÂö³å£¬±íʾÒÑÊÕµ½Êý¾Ý¡£CPUÏòÊܿص¥Ôª·¢³öÒ»¸öÐźź󣬵ȴýÊܿص¥Ôª·¢³öÓ¦´ðÐźţ¬CPU½ÓÊÕµ½Ó¦´ðÐźź󣬸ù¾Ýʵ¼ÊÇé¿ö×ö³öÊÇ·ñ¼ÌÐø´«µÝÐźŵÄÅжϡ£ÈôδÊÕµ½Ó¦´ðÐźţ¬ÔòÅжÏΪÊܿص¥Ôª³öÏÖ¹ÊÕ ......
¡¡1 ÒýÑÔ
¡¡¡¡Linux²Ù×÷ϵͳÒò¾ßÓÐÔ´´úÂ빫¿ª¡¢±ãÓڲüõ¡¢Óй㷺µÄ´¦ÀíÆ÷Ö§³ÖµÈÓŵ㣬³ÉΪµ±Ç°Ç¶ÈëʽϵͳµÄÈÈÃÅÑ¡Ôñ¡£»ùÓÚI2C×ÜÏߵļüÅÌÀ©Õ¹É豸Ö÷ÒªÓÃÓÚÂú×ãǶÈëʽÉ豸ÖжԶఴ¼üµÄÐèÇó£¬Çý¶¯³ÌÐòÔÚϵͳÆô¶¯Ê±¶ÔÓ²¼þ½øÐгõʼ»¯¡£ÔÚϵͳÆô¶¯ºóʵÏÖÓ²¼þºÍÓ¦ÓóÌÐòÖ®¼äµÄÊý¾Ý½»»¥¡£Õë¶ÔS3C2410΢´¦ÀíÆ÷ºÍ¼üÅÌɨÃè¹ÜÀíÆ÷¼þ£¬ÉîÈëÌÖÂÛÈçºÎÔÚǶÈëʽ²Ù×÷ϵͳarm LinuxÖÐʵÏÖZLG7290µÄÇý¶¯¡£
¡¡¡¡2 I2C×ÜÏß
¡¡¡¡I2C×ÜÏßÊÇÆ÷¼þ¼ä´®Ðд«Êä×ÜÏߣ¬ÒÔÆä¹æ·¶ºÍ´øI2C½Ó¿ÚµÄÍâΧÆ÷¼þ»ñµÃ¹ã·ºÓ¦Óá£S3C2410´¦ÀíÆ÷ÄÚÖÃÓÐI2C×ÜÏß½Ó¿Ú¡£I2C×ÜÏßÊÇÓÉÊý¾ÝÏßSDAºÍʱÖÓSCL¹¹³ÉµÄ´®ÐÐ×ÜÏߣ¬¿É·¢ËͺͽÓÊÕÊý¾Ý£¬Ã¿¸öÆ÷¼þ¶¼ÓÐÒ»¸öΨһµÄµØÖ·Ê¶±ð¡£I2C×ÜÏßÔÚ´«ËÍÊý¾Ý¹ý³ÌÖй²ÓÐ3ÖÖÐźţº(1)¿ªÊ¼ÐźţºSCLΪ¸ßµçƽʱ£¬SDAÓÉ¸ßµçÆ½ÏòµÍµçÆ½Ìø±ä£¬¿ªÊ¼´«ËÍÊý¾Ý¡£(2)½áÊøÐźţºSCLΪµÍµçƽʱ£¬SDAÓÉµÍµçÆ½Ïò¸ßµçÆ½Ìø±ä£¬½áÊø´«ËÍÊý¾Ý¡£(3)Ó¦´ðÐźţº½ÓÊÕÊý¾ÝµÄIC½ÓÊÕµ½8 bitÊý¾Ýºó£¬Ïò·¢ËÍÊý¾ÝµÄIC·¢³öÌØ¶¨µÄµÍµçƽÂö³å£¬±íʾÒÑÊÕµ½Êý¾Ý¡£CPUÏòÊܿص¥Ôª·¢³öÒ»¸öÐźź󣬵ȴýÊܿص¥Ôª·¢³öÓ¦´ðÐźţ¬CPU½ÓÊÕµ½Ó¦´ðÐźź󣬸ù¾Ýʵ¼ÊÇé¿ö×ö³öÊÇ·ñ¼ÌÐø´«µÝÐźŵÄÅжϡ£ÈôδÊÕµ½Ó¦´ðÐźţ¬ÔòÅжÏΪÊܿص¥Ôª³öÏÖ¹ÊÕ ......
ѧLinuxÒ»Äê¶àÁË£¬¶ÔÇý¶¯µÄ֪ʶһµã¶¼Á˽⣬ÉÏÖÜÂòÁ˱¾¡¶LinuxÉ豸Çý¶¯¡·£¬O'REILLY³ö°æ£¬´òËãѧϰѧϰ¡£Ñ§Ï°¹ýµÄ´óÏÀ£¬Ï£Íû¿ÉÒÔÖ¸µ¼Ö¸µ¼¡£
Ê×ÏÈÏÂÔØLinuxÄںˣ¬°´×÷ÕßµÄ˵·¨£¬Ö»ÒªÊÇlinux-2.6.xxxµÄÄں˶¼¿ÉÒÔ£¬ÎÒµÄÊÇlinux-2.6.33.2¡£ÓÐÎ»ÍøÓÑ˵ÏÂÔØºó×îºÃ½âѹµ½/usr/src/Ŀ¼Ï£¬½âѹ
ÔÚ¹¹½¨ÄÚºËÊ÷ÊDzο¼ÁËÔÊéµÚËÄÕ“µ÷ÊÔ¼¼Êõ”£¬ÅäÖÃÁ˼¸Ìõµ÷ÊÔʱ¿ÉÄÜ»áÓõ½µÄÑ¡Ïî,ÕâЩѡÏî´ó¶àÔÚ“kernel hacking“²Ëµ¥ÖУº
CONFIG_DEBUG_KERNEL£ºÊ¹ÆäËûµ÷ÊÔÑ¡Ïî¿ÉÓÃ
CONFIG_DEBUG_SLAB£º´ò¿ªÄÚºËÄÚ´æ·ÖÅ亯ÊýÖеĶà¸öÀàÐͼì²é
CONFIG_DEBUG_PAGEALLOC£ºÔÚÊÍ·Åʱ£¬È«²¿ÄÚ´æÒ³´ÓÄں˵ØÖ·¿Õ¼äÖÐÒÆ³ö¡£¸ÃÑ¡Ï´ó´ó½µµÍÔËÐÐËÙ¶È£¬µ«¿ÉÒÔ¿ìËÙ¶¨Î»Ìض¨µÄÄÚ´æË𻵴íÎóµÄËùÔÚλÖÃ
CONFIG_DEBUG_SPINLOCK
CONFIG_DEBUG_SPINLOCK_SLEEP
CONFIG_INIT_DEBUG
CONFIG_DEBUG_INFO ......
http://blog.sina.com.cn/s/blog_61869e800100ek8w.html
¶ÁдÎļþ£¬ÊÇ×÷Ϊһ¸ö²Ù×÷ϵͳËùÌṩµÄ×î»ù±¾½Ó¿ÚÖ®Ò»¡£
ÎÒÃǾʹÓдÎļþ¹ý³Ì£ºopen£¬write£¬closeÕ⼸¸ö½Ó¿ÚÀ´ËµÆð£¬ÃèÊöдÎļþµÄÄÇЩʶù¡£
ƽʱ£¬ÎÒÃÇ×öÓ¦ÓóÌÐòµÄʱºò£¬³£³£Óõ½¶ÁдÎļþµÄº¯Êý½Ó¿Ú£¬¾ÍÄÃдÎļþÀ´Ëµ£¬ÎÒÃÇÓÃC/C++±àдʱ£¬Óõ½ÁËÒÔϵĺ¯Êý½Ó¿Ú£º
1>
FILE* fopen(const char*
restrict filename,const char* restrict mode);
2> size_t fwrite(const void*
restrict buffer,size_t size,size_t n,FILE * restrict fp);
3> int fclose(FILE * fp) ;
ÒÔÉÏÕ⼸¸öº¯Êý½Ó¿Ú´ó¼Ò¶¼±È½ÏÊìϤ£¬Èç¹û°´ÕÕÕâ¸öÀ´·ÖÎöËÆºõ¸ü¼ÓÃ÷ÁË¡£È»¶ø£¬ÉÏÃæµÄÕâЩ½Ó¿ÚÒѾÊÇÏÖ´ú°æ±¾µÄ½Ó¿Ú£¬ÆäʵÏÖÒÀÀµÓÚÏÖÔڵijÉÊìϵͳ£¬·ÖÎöÏÖÐÐ
ϵͳµÄÅÓ´ó´úÂëÎÒ»¹ÄÛÁ˵㣬ËùÒÔ¾ÍÄùýÈ¥°æ±¾µÄlinuxϵͳºÍһЩÔʼ½Ó¿Ú½øÐзÖÎö°É¡££¨Æäʵ´ó¼Ò¶¼ÖªµÀ£¬ÏÖÐвÙ×÷ϵͳÄں˵ĴúÂëÁ¿ÒѾ²»ÊÇÒ»¸öÈËÒ»±²
×ÓÄÜ¿´ÍêµÄÁË£¬ÎÒÃÇÖ÷ÒªÊÇ½è¼ølinuxµÄϵͳ˼Ï룬ȥ×÷ÎÒÃÇ×Ô¼ºµÄǶÈëʽ²Ù×÷ϵͳ£©
Àϰ汾µÄ½Ó¿ÚÊÇÕâ¸öÑù×ӵģº
1> int open(const char*
filename,int flag,...) ;
2> int write(in ......
1£©±ÕÍø¿¨É豸
¡¡¡¡/sbin/ifconfig eth0 down
2£©ÐÞ¸ÄMACµØÖ·
¡¡¡¡/sbin/ifconfig eth0 hw ether 00:50:56:C0:00:01
3£©ÖØÆôÍø¿¨
¡¡¡¡/sbin/ifconfig eth0 up
ͨ¹ýifconfig¿ÉÒÔ¿´µ½ÐÞ¸ÄÒѾÉúЧ,¿ÉÊÇÖØÆô»úÆ÷ºóÓÖ»Ö¸´³ÉÁËÔÀ´µÃmac.
ÒªÏëÓÀ¾ÃÐÞ¸ÄMAC
ÔÚ/etc/rc.d/rc.localÀï¼ÓÉÏÕâÈý¾ä(Ò²¿ÉÒÔÔÚ/etc/init.d/networkÀï¼ÓÏÂÃæÈýÐÐ)
ifconfig eth0 down
ifconfig eth0 hw ether 00:50:56:C0:00:01
ifconfig eht0 up
È»ºóreboot ......
¡¾51CTO¾«Ñ¡ÒëÎÄ¡¿ËäÈ»ÏÖÔÚ´ó¶àÊýLinux·¢ÐаæÏ¶¼ÓÐGUIµÄÍøÂç¹ÜÀíÅäÖ㬲»¹ýÊìϤÃüÁîÐй¤¾ß»¹ÊÇ´óÓÐÖúÒæµÄ¡£ÏÂÃæÎÒÃÇÀ´¿´¿´ÕâЩÁ÷ÐÐLinux·¢ÐаæÏÂÃæµÄ³£ÓÃÃüÁî¡£¶ÔÁË£¬Èç¹ûÄãÏëÒªÁ˽â¸Ã¹¤¾ßºÍÑ¡ÏîµÄÏêϸÇé¿ö£¬¿ÉÒÔÊäÈëmanÔÙÊäÈëÕâ¸ö¹¤¾ßµÄÃû×Ö·ÃÎÊÆämanÒ³Ãæ¡£
ÏÖÔھʹò¿ªÄãµÄterminal³¢ÊÔһϰɣ¡
ÓÃÓÚ»ù±¾½Ó¿ÚÓëIPÅäÖõÄifconfig
ifconfig¹¤¾ß£¨interface configurator£¬½Ó¿ÚÅäÖÃÆ÷£©ÌṩÁËһЩ·Ç³£»ù±¾µ«ÊǷdz£ÖØÒªµÄ¹¦ÄÜ¡£Ëü¿ÉÒÔ´ò¿ªºÍ¹Ø±ÕÍøÂçÊÊÅäÆ÷£¬·ÖÅäIPµØÖ·ÓënetmaskÐÅÏ¢¡£Ò»Ð©³£ÓÃÖ¸ÁîÈçÏ£º
²é¿´ÍøÂç½Ó¿Úµ±Ç°ÅäÖÃÓë½Ó¿ÚÃüÃû£º
ifconfig
´ò¿ª£¨up£©»ò¹Ø±Õ£¨down£©ÊÊÅäÆ÷
ifconfig <ÍøÂçÃû> <up|down>
ΪÊÊÅäÆ÷·ÖÅäIPµØÖ·£º
ifconfig <ÍøÂçÃû> <ipµØÖ·>
ΪÊÊÅäÆ÷·ÖÅäµÚ¶þ¸öIPµØÖ·£º
ifconfig <ÍøÂçÃû:ʵÀýÊý> <ipµØÖ·>
·¶Àý£ºifconfig eth0:0 192.168.1.101
Ïêϸ½éÉÜ£ºLinuxÃüÁîÍøÂç²Ù×÷Ö®ifconfig
ÓÃÓÚ¹ÜÀíÒÔÌ«Íø¿¨µÄethtool¹¤¾ß
Ethtool¿ÉÒԲ鿴ºÍÐÞ¸ÄÒÔÌ«ÊÊÅäÆ÷µÄ¸÷ÖÖÉèÖ㨲»°üÀ¨Wi-FiÍø¿¨£©£¬°üÀ¨tx/rx£¬checksummingºÍwake-on-LANÉèÖá£ÏÂÃæÊÇһЩÓÐÓõÄÃüÁ
ÏÔʾij¸öÍøÂçÊÊÅäÆ÷µÄÇý¶¯ÐÅÏ¢£¬ÊÊÓÃÓÚ²éѯ ......