linuxÉ豸Çý¶¯¿ª·¢Ïê½â——globalmem
³£¼ûµÄÁ½ÖÖ´íÎó£º
1.ÔÚ²åÈëÄ£¿éµÄʱºò³öÏÖÈçÏÂÎÊÌ⣺
# insmod globalmem.ko insmod: error inserting 'globalmem.ko': -1 Device or resource busy
ANSWER:Ö÷É豸ºÅ±»Õ¼ÓÃÁË£¬»»ÁíÒ»¸ö¡£ Äã°Ñglobalmem.cÎļþÀïÃæµÄºê¶¨ÒåÄÇÀï¸ÄΪ226»òÆäËû£¬È»ºóÔÙ±àÒë¾Í¿ÉÒÔ²åÈëÁË£¡
ÌØ±ð×¢Ò⣺ Èç¹û»»ÁËÖ÷É豸ºÅÒÔºó£¬ÏÂÃæ½Ó×Å´´½¨½ÚµãµÄʱºòÒ²Òª¸Ã£¬·ñÔò³öÏÖÏÂÃæ´íÎó£º
# mknod /dev/globalmem c 254 0 /*ÕâÀïµÄ254¸úÒÑÐ޸ĵÄÖ÷É豸ºÅ228²»Ò»ÖÂ*/
# echo 'hello world' > /dev/globalmem
/bin/sh: can't create /dev/globalmem: No such device or address
½â¾ö°ì·¨£º
# rm /dev/globalmem
# mknod /dev/globalmem c 226 0
# echo 'hello world' > /dev/globalmem
written 12 bytes(s) from 0
2.¼ÓÔØºÍ´´½¨É豸½Úµã¶¼Êdzɹ¦µÄ£®µ«¾ÍÊÇÓÃcatÃüÁî²é¿´Ê±£¬ËäÈ»¶Á³öÁËÕýÈ·µÄ×Ö·û£¬È´×ÜÊÇÔÚ×îºó»¹Òª¼ÓÉÏÒ»¾äÌáʾ£¢ÕÒ²»µ½É豸»òµØÖ·£¢£®²»ÖªÎªºÎ»á¶à³öÕâ¾äÀ´£®
# echo 'hello world!' > /dev/globalmem
written 13 bytes(s) from 0
# cat /dev/
/dev/console /dev/globalmem /dev/null
# cat /dev/globalmem
read 4096 bytes(s) from 0
hello world!
cat: read error: No such device or address
#
ANSWER:ÆäʵûÎÊÌ⣬
<1>Äã°Ñglobalmem_readº¯ÊýÖеÄif (p >£½ GLOBALMEM_SIZE)¸ÄΪif (p > GLOBALMEM_SIZE)¾ÍºÃÁË¡£¾ßÌåÔÒòÊÇÒ»´Îµ÷ÓÃcat»á¶ÁÁ½´Î£¬Ã¿´Î¶ÁÈ¡4096¸ö×Ö½Ú£¬´ËʱÎļþ¶ÁÖ¸Õëppos¾ÍÊÇ4096ÁË£¬ÔÚµÚ¶þ´Î¶ÁµÄʱºò£¬µ½if (p >£½ GLOBALMEM_SIZE)ÕâÀïÌõ¼þÎªÕæ£¬globalmem_read¾Í·µ»ØENXIO´íÎóÁË£¬ËùÒԲŻá³öÏÖNo such device or address"´íÎó¡£²»ÖªµÀÔÚËÎÀÏʦµÄ»ú×ÓÉÏΪʲô¾ÍÊÇÕýÈ·µÄ£¿
<2> Ëᦻª £º·µ»Ø´íÎóÖµ²ÅÊÇÕýÈ·µÄ£¬ÒòΪ¶ÁµÄλÖÃÒѾԽ½ç£¬ËùÒÔÒª·µ»Ø´íÎ󡣸÷µ»Ø´íÎóµÄʱºò·µ»ØÕýÈ·£¬ÄǾÍÊÇ´íÎ󡣸ijÉif (p > GLOBALMEM_SIZE)ÊÇ´íÎóµÄ¡£
<3> ¸ù¾ÝÉÏÃæÁ½µã¿ÉÒÔС½áÊéÉÏÊÇûÓдíÎóµÄ¡£Êä³öµÄ´íÎóÐÅÏ¢ÊÇÕý³£µÄdebugÐÅÏ¢£¬Ç§²»¸ÃÍò²»¸Ã¾ÍÊÇcatµ÷ÓÃÁËreadÁ½´Î¡£
Ïà¹ØÎĵµ£º
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
http://blog.csdn.net/zengyang/archive/2009/01/07/3725320.aspx
http://tech.ccidnet.com/art/305/20071226/1322187_1.html
State¡¡
½ø³ÌÔÚÖ´Ðйý³ÌÖлá¸ù¾Ý»·¾³À´¸Ä±ästate¡£Linux½ø³ÌÓÐÒÔÏÂ״̬£º¡¡
Running¡¡
½ø³Ì´¦ÓÚÔËÐУ¨ËüÊÇϵͳµÄµ±Ç°½ø³Ì£©»òÕß×¼±¸ÔËÐÐ״̬£¨ËüÔڵȴýϵͳ½«CPU·ÖÅ䏸Ëü£© ......
½ñÌìÔÚVMÖа²×°REDHat9Ö®ºó£¬ÔÚÖÕ¶ËÖÐÖ´ÐÐifconfigÖ¸Áî·¢ÏÖ²»ÄÜ»ñÈ¡²»µ½IP£¬Ö´ÐÐsetupÃüÁÐÞ¸ÄIP»ñÈ¡·½Ê½Îª¶¯Ì¬»ñÈ¡ºó»¹ÊÇ»ñÈ¡²»µ½£¬Ö´ÐÐsetup eth0 ÏÔʾ“ÎÞÁ¬½Ó¡£¡£¡£”ÉÏÍø²éÕÒÔÒòºÜ¶àÈ˶¼ËµÊÇÇý¶¯Ã»°²×°¡¢Íø¿¨Ã»°²×°µÈ£¬×îºó·¢ÏÖ¶¼Êdz¶µ¡£ÕæÕýµÄÔÒòÊÇδ°²×°VMware Tools¡£°²×°VMtools·½Ê½
1 µã» ......
http://linux.duke.edu/yum/ ÏÂÔØyum°²×°Îļþ
http://mirror-status.centos.org ÍøÕ¾²éÕÒÀë×Ô¼º×î½üµÄ¾µÏñÕ¾µã£¬Ìæ»»ÏÂÃæÎļþÖеÄÏàÓ¦µØÖ·
Èí¼þ°²×°·Ç³£¼òµ¥£ºrpm –ivh yum*.rpm
È»ºóÐÞ¸Ä/etc/yum.repos.d/rhel-debuginfo.repo
[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http:/ ......