Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ϵͳ³õʼ»¯¹ý³ÌÈ«½â

Ò»¡¢ ¸Å¿ö
¡¡¡¡ÏµÍ³µÄÒýµ¼ºÍ³õʼ»¯ÊDzÙ×÷ϵͳʵÏÖ¿ØÖƵĵÚÒ»²½£¬Ò²ÊǼ¯ÖÐÌåÏÖϵͳÓÅÁÓµÄÖØÒª²¿·Ö¡£LINUX×÷Ϊһ¸öÃâ·ÑµÄ×¼UNIX²Ù×÷ϵͳ£¬ÔÚÖÚ¶àÒµÓà°®ºÃÕßÒÔ¼°Ð¡ÐÍÉÌÒµ´¦ÀíÊг¡±íÏÖ²»Ë×£¬³ÉΪ¼ÌWINDOWSϵÁкóµÄÁíÒ»¸öÖ÷Á÷¡£Á˽âLINUXϵͳµÄ³õʼ»¯£¬¶ÔÓÚ½øÒ»²½ÕÆÎÕUNIXϵͳÊÇÊ®·ÖÓаïÖúµÄ¡£
ͨ³££¬LINUXϵͳµÄ³õʼ»¯¿ÉÒÔ· ......

Linux ³£ÓÃÃüÁî

Ò»¡¢ÏµÍ³ÉèÖÃÓë¹ÜÀí
1.alias
˵Ã÷£ºÎªÃüÁîÉèÖñðÃû¡¢ÏÔʾ±ðÃûÉèÖá£
Óï·¨£ºalias [±ðÃû]=[Ö¸ÁîÃû³Æ]£ºÎª[Ö¸ÁîÃû³Æ]ÆðÒ»¸ö±ðÃû¡£
alias [±ðÃû]£ºÏÔʾ³ö[±ðÃû]Ëù¶ÔÓ¦µÄÃüÁî¡£
alias£ºÏÔʾËùÓбðÃûÉèÖá£
2.apmsleep
˵Ã÷£º½øÈë¹ÒÆð»òµÈ´ý״̬¡£
Óï·¨£ºapmsleep hh:mm
²ÎÊý£ºhh:mmÖ¸¶¨½øÈë¹ÒÆð»òµÈ´ý״̬µÄʱ¼ä¡£
......

linux ioctl½âÊÍ

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

Linux .o a .so .la .loµÄÇø±ð¼°libtoolÏà¹Ø½éÉÜ

Ô­ÎĵØÖ·£ºhttp://www.eetop.cn/blog/html/40/202640-8862.html
o: ±àÒëµÄÄ¿±êÎļþ
a: ¾²Ì¬¿â£¬Æäʵ¾ÍÊǰÑÈô¸ÉoÎļþ´òÁ˸ö°ü
so: ¶¯Ì¬Á´½Ó¿â£¨¹²Ïí¿â£©
lo: ʹÓÃlibtool±àÒë³öµÄÄ¿±êÎļþ£¬Æäʵ¾ÍÊÇÔÚoÎļþÖÐÌí¼ÓÁËһЩÐÅÏ¢
la: ʹÓÃlibtool±àÒë³öµÄ¿âÎļþ£¬ÆäʵÊǸöÎı¾Îļþ£¬¼Ç¼ͬÃû¶¯Ì¬¿âºÍ¾²Ì¬¿âµÄÏà¹ØÐÅÏ¢
1 lib ......

[linux] vim±àÂë

VimºÍËùÓеÄÁ÷ÐÐÎı¾±à¼­Æ÷Ò»Ñù£¬¿ÉÒԺܺõı༭¸÷ÖÖ×Ö·û±àÂëµÄÎļþ£¬Õ⵱Ȼ°üÀ¨ UCS-2¡¢UTF-8 µÈÁ÷ÐÐµÄ Unicode ±àÂ뷽ʽ¡£¶øÇҺͺܶàÀ´×Ô Linux ÊÀ½çµÄÈí¼þÒ»Ñù£¬ÕâÐèÒªÄã×Ô¼º¶¯ÊÖÉèÖá£
Vim ÓÐËĸö¸ú×Ö·û±àÂ뷽ʽÓйصÄÑ¡Ïencoding ¡¢fileencoding ¡¢fileencodings ¡¢termencoding (ÕâЩѡÏî¿ÉÄܵÄȡֵÇë²Î¿¼ Vim ÔÚ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ