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£¬ÄÇôӦµ±Ö»ÓÐ×ÜÏ߲㷢Éú¸Ä±ä¡£
Óû§½Ó¿Ú
~~~~~~~~
½èÖúϵ
Ïà¹ØÎĵµ£º
Ò»¡¢ ¸Å¿ö
¡¡¡¡ÏµÍ³µÄÒýµ¼ºÍ³õʼ»¯ÊDzÙ×÷ϵͳʵÏÖ¿ØÖƵĵÚÒ»²½£¬Ò²ÊǼ¯ÖÐÌåÏÖϵͳÓÅÁÓµÄÖØÒª²¿·Ö¡£LINUX×÷Ϊһ¸öÃâ·ÑµÄ×¼UNIX²Ù×÷ϵͳ£¬ÔÚÖÚ¶àÒµÓà°®ºÃÕßÒÔ¼°Ð¡ÐÍÉÌÒµ´¦ÀíÊг¡±íÏÖ²»Ë×£¬³ÉΪ¼ÌWINDOWSϵÁкóµÄÁíÒ»¸öÖ÷Á÷¡£Á˽âLINUXϵͳµÄ³õʼ»¯£¬¶ÔÓÚ½øÒ»²½ÕÆÎÕUNIXϵͳÊÇÊ®·ÖÓаïÖúµÄ¡£
ͨ³££¬LINUXϵͳµÄ³õʼ»¯¿ÉÒÔ· ......
Ò»¡¢ÏµÍ³ÉèÖÃÓë¹ÜÀí
1.alias
˵Ã÷£ºÎªÃüÁîÉèÖñðÃû¡¢ÏÔʾ±ðÃûÉèÖá£
Óï·¨£ºalias [±ðÃû]=[Ö¸ÁîÃû³Æ]£ºÎª[Ö¸ÁîÃû³Æ]ÆðÒ»¸ö±ðÃû¡£
alias [±ðÃû]£ºÏÔʾ³ö[±ðÃû]Ëù¶ÔÓ¦µÄÃüÁî¡£
alias£ºÏÔʾËùÓбðÃûÉèÖá£
2.apmsleep
˵Ã÷£º½øÈë¹ÒÆð»òµÈ´ý״̬¡£
Óï·¨£ºapmsleep hh:mm
²ÎÊý£ºhh:mmÖ¸¶¨½øÈë¹ÒÆð»òµÈ´ý״̬µÄʱ¼ä¡£
......
ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌÐòÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ»¹ÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬
ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒǰһÕó×Ó±»ioctl¸ø¸ã»ì
ÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëü£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
......
ÔÎĵØÖ·£ºhttp://www.eetop.cn/blog/html/40/202640-8862.html
o: ±àÒëµÄÄ¿±êÎļþ
a: ¾²Ì¬¿â£¬Æäʵ¾ÍÊǰÑÈô¸ÉoÎļþ´òÁ˸ö°ü
so: ¶¯Ì¬Á´½Ó¿â£¨¹²Ïí¿â£©
lo: ʹÓÃlibtool±àÒë³öµÄÄ¿±êÎļþ£¬Æäʵ¾ÍÊÇÔÚoÎļþÖÐÌí¼ÓÁËһЩÐÅÏ¢
la: ʹÓÃlibtool±àÒë³öµÄ¿âÎļþ£¬ÆäʵÊǸöÎı¾Îļþ£¬¼Ç¼ͬÃû¶¯Ì¬¿âºÍ¾²Ì¬¿âµÄÏà¹ØÐÅÏ¢
1 lib ......
VimºÍËùÓеÄÁ÷ÐÐÎı¾±à¼Æ÷Ò»Ñù£¬¿ÉÒԺܺõı༸÷ÖÖ×Ö·û±àÂëµÄÎļþ£¬Õ⵱Ȼ°üÀ¨ UCS-2¡¢UTF-8 µÈÁ÷ÐÐµÄ Unicode ±àÂ뷽ʽ¡£¶øÇҺͺܶàÀ´×Ô Linux ÊÀ½çµÄÈí¼þÒ»Ñù£¬ÕâÐèÒªÄã×Ô¼º¶¯ÊÖÉèÖá£
Vim ÓÐËĸö¸ú×Ö·û±àÂ뷽ʽÓйصÄÑ¡Ïencoding ¡¢fileencoding ¡¢fileencodings ¡¢termencoding (ÕâЩѡÏî¿ÉÄܵÄȡֵÇë²Î¿¼ Vim ÔÚ ......