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

LinuxÄÚºËÉ豸ģÐÍ(1)

LinuxÄÚºËÉ豸ģÐÍ
·­ÒëÕߣº¹ùÉÙ±¯
2009/12/01
Ô­ÎÄ£ºlinux/Documentation/driver-model/overview.txt
¸ÅÊö
~~~~
LinuxÄÚºËÇý¶¯Ä£ÐÍÊÇÕë¶ÔÄÚºË֮ǰËùÓв»Í¬µÄÇý¶¯Ä£Ð͵Äͳһ³éÏóÄ£ÐÍ¡£ËüµÄÄ¿µÄÊÇ,ͨ
¹ý½áºÏÒ»Ì×Êý¾ÝºÍ²Ù×÷¼¯µ½Ò»¸öÈ«¾Ö¿É·ÃÎʵÄÊý¾Ý½á¹¹À´Ó¶øÌí¼Ó»ùÓÚijÖÖÖ¸¶¨×ÜÏßµÄÉè
±¸ºÍÇŽÓÇý¶¯¡£
´«Í³µÄÇý¶¯Ä£ÐÍʵÏÖÁËÀàËÆÊ÷µÄÊý¾Ý½á¹¹(»òÕßÒ»¸öÁ´±íÊý¾Ý½á¹¹£©À´¿ØÖÆÉ豸,
¶øûÓÐÒ»¸ö¿çÔ½²»Í¬×ÜÏßÀàÐÍ£¬Í³Ò»µÄ³éÏóÊý¾Ý½á¹¹¡£
µ±Ç°µÄÇý¶¯Ä£ÐÍÌṩÁËÒ»¸öͨÓõÄͳһµÄÊý¾ÝÄ£ÐÍ£¬ÓÃÓÚÃèÊöÒ»¸ö×ÜÏߣ¬ÒÔ¼°¹ÒÔØÔÚ×ÜÏß
ÉϵÄÉ豸¡£Õâ¸öͳһµÄ×ÜÏßÄ£ÐÍ°üº¬ÁËÒ»Ì×ÿ¸ö×ÜÏ߶¼ÓµÓеÄͨÓÃÊôÐÔ£¬Ò»Ì×ͨÓõĻص÷
º¯Êý£¬ÀýÈçÔÚbus probing, bus shutdown, bus power management»Øµ÷º¯Êý
µÈµÈ¡£
ͨÓõÄÉ豸ºÍÇŽӽӿÚÌåÏÖÁËÏÖ´ú¼ÆËã»úµÄÄ¿±ê£º¼´ÎÞ·ìÉ豸“¼´²å¼´ÓÔµÄÄÜÁ¦£¬µçÔ´¹Ü
ÀíÄÜÁ¦£¬ºÍÈȲå°ÎÄÜÁ¦¡£ÌرðµØ£¬ÓÉIntelºÍMicrosoftÖ§ÅäµÄÄ£Ðͼٶ¨¼¸ºõËùÓеÄÉ豸ÔÚ
x86¼æÈݵÄ×ÜÏßÉÏÄܹ»ÒÔÉÏÊö·½Ê½¹¤×÷¡£µ±È»£¬²»ÊÇÿһ¸ö×ÜÏßÄܹ»Ö§³ÖËùÓеÄÕâЩ²Ù×÷
£¬µ«ÊǼ¸ºõ¾ø´ó²¿·ÖµÄ×ÜÏßÖ§³ÖÕâЩ²Ù×÷µÄ¾ø´ó²¿·Ö¡£
µ×²ã·ÃÎÊ
~~~~~~~~
ͨÓõÄÊý¾ÝÓòÒѾ­´Óµ¥¸ö¾ßÌåµÄ×ÜÏß²ãÒÆÖõ½Ò»¸öͨÓõÄÊý¾Ý½á¹¹Àï¡£ÕâЩÓòÈÔÈ»±ØÐë
Äܹ»±»×ÜÏß²ã·ÃÎÊ£¬ÓÐʱҲ¿ÉÒÔ±»Ìض¨µÄÉ豸Çý¶¯·ÃÎÊ¡£
ÆäËûµÄ×ÜÏ߲㱻¹ÄÀøѧϰPCI×ÜÏß²ãµÄ×ö·¨£¬struct pci_dev¶¨ÒåÈçÏ£º
struct pci_dev {
    ...
    struct device dev;
};
Ê×ÏȼÇס£¬ËüÊǾ²Ì¬·ÖÅäµÄ¡£ÕâÒâζ×ÅÔÚÉ豸̽²âʱֻ·ÖÅäÒ»´Î¡£Ò²ÐèÒª¼Çס£¬Õâ¸öÓò
(struct device dev)ÔÚstruct pci_devµÄβ²¿¡£ÕâÈÃÈËÃÇÀí½âÔÚÐèÒªbus driverºÍ
global driverÖ®¼ä½øÐÐת»»Ê±Ó¦µ±×öʲô£¬¼õÉÙÇл»ÐèÒªµÄ¿ªÏú¡£
(ÎÒµÄÀí½âÊÇ£¬ºÜ¼òµ¥£¬¾ÍÊÇÁ½¸öÊý¾Ý½á¹¹Ö®¼äͨ¹ýÖ¸ÕëÀ´²éÕÒ¶¨Î»)
PCI×ÜÏß²ãÍêÈ«Äܹ»×ÔÓɵطÃÎÊstruct deviceµÄ¸÷¸öÓò¡£ËüÁ˽âstruct pci_devµÄ½á¹¹£¬Ò²Ó¦
µ±Á˽âstruct deviceµÄ½á¹¹¡£¾ßÌåµÄPCIÉ豸Çý¶¯Ê¹ÓÃÁËеÄÇý¶¯Ä£ÐÍ£¬¾Í²»ÄÜÒ²²»Ó¦µ±
½Ó´¥struct deviceµÄ¸÷¸öÓò£¬³ý·ÇÓÐÒ»¸öÒª×öµÄÇ¿ÖÆÀíÓÉ¡£
ÕâÖÖ³éÏó×è°­ÁËÔÚ¹ý¶É½×¶Î²»±ØÒªµÄÕóÍ´£¨ÎÒµÄÀí½â£¬Ö¸µÄÊÇÊý¾ÝÔÚ²»Í¬½á¹¹²ãÉϵĴ¦Àí
£©¡£Èç¹ûÒ»¸öÓòµÄÃû×ָıä»òÕßÒƳý£¬µ×²ãµÄÇý¶¯¾Í»áÔâµ½ÆÆ»µ¡£´ÓÁíÒ»·½Ãæ½²£¬Èç¹û½ö
ÓÐ×ÜÏ߲㣨·ÇÉ豸²ã£©·ÃÎÊstruct device£¬ÄÇôӦµ±Ö»ÓÐ×ÜÏ߲㷢Éú¸Ä±ä¡£
Óû§½Ó¿Ú
~~~~~~~~
½èÖúϵ


Ïà¹ØÎĵµ£º

LinuxÏ°²×°Oracle 10gÖÐÎÄÂÒÂë

ÔÚCenotOS 5.3ÖÐÎÄ»·¾³Ï°²×°Oracle 10g R2ʱ£¬½øÈëͼÐλ¯½çÃæºó£¬·¢ÏÖÖÐÎÄÂÒÂë¡£
ÔÚÍøÉÏËÑË÷ºó£¬·¢ÏÖÊÇÓÉÓÚLinuxÉÏûÓа²×°Oracle°²×°Ê±Ê¹ÓõÄ×ÖÌå¿âÔì³ÉµÄ¡£
´ÓÒÔÏÂÍøÕ¾ÏÂÔØ×ÖÌå¿â
http://download.csdn.net/source/1073202
È»ºóÔÚLinuxÏÂÖ´ÐÐÒÔÏÂÃüÁ°Ñ×ÖÌå¿â°²×°µ½ÏàӦλÖü´¿É
mkdir -p /usr/share/fonts/zh_CN ......

Red Hat Enterprise Linux 5°²×°VM ware Tools

RHEL5ÔÚ°²×°VM-wareTools¹ý³ÌÖгöÏÖÈçÏ´íÎó£º
What is the
location of the directory of C header files that match your running kernel?
[/usr/src/linux/include] The directory of kernel headers (version
2.6.18-8.el5xen) does not match
´Ë´íÎóÖ÷ÒªÊÇÏëÕÒLinuxÄں˵İüº¬Í·ÎļþÕÒ²»µ½¡£Òª½â¾ö´ËÎÊÌâÐèÒª° ......

linux ioctl½âÊÍ

ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌÐòÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ»¹ÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬
      ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒÇ°Ò»Õó×Ó±»ioctl¸ø¸ã»ì
      ÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëü£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
      ......

linuxÇý¶¯Ñ§Ï°

Ò»¡¢ioctl
´ó²¿·ÖÉ豸³ýÁ˶ÁдÄÜÁ¦£¬»¹¿É½øÐг¬³ö¼òµ¥µÄÊý¾Ý´«ÊäÖ®ÍâµÄ²Ù×÷£¬ËùÒÔÉ豸Çý¶¯Ò²±ØÐë¾ß±¸½øÐи÷ÖÖÓ²¼þ¿ØÖƲÙ×÷µÄÄÜÁ¦. ÕâЩ²Ù×÷³£³£Í¨¹ý ioctl ·½·¨À´Ö§³Ö£¬ËüÓкÍÓû§¿Õ¼ä°æ±¾²»Í¬µÄÔ­ÐÍ:
int (*ioctl) (struct inode *inode, struct file *filp,
         &n ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ