¹ÜÀíÔ±ÏëÒªÌá¸ßLinux¹ÜÀíЧÂÊÊÇÒª×ñÑһЩ¹ÜÀí¼¼Çɵģ¬ÕâÀï¼òµ¥½éÉÜÓйØLinux¹ÜÀíЧÂʵÄÈý¸ö¼¼ÇÉ£ºÐ¶ÔØÎÞÏìÓ¦µÄ DVD Çý¶¯Æ÷¡¢»Ö¸´³öÏÖÎÊÌâµÄÆÁÄ»¡¢ÆÁÄ»Ð×÷¡£ÏàÐÅËûÃÇ»á¶Ô¹ÜÀíԱЧÂÊÓÐÌá¸ß¡£
¼¼ÇÉ 1£ºÐ¶ÔØÎÞÏìÓ¦µÄ DVD Çý¶¯Æ÷
ÍøÂçÐÂÊֵľÀú£º°´Ï·þÎñÆ÷£¨ÔËÐлùÓÚ Redmond µÄ²Ù×÷ϵͳ£©DVD Çý¶¯Æ÷É쵀 Eject °´Å¥Ê±£¬Ëü»áÁ¢¼´µ¯³ö¡£ËûÈ»ºó±§Ô¹Ëµ£¬ÔÚ´ó¶àÊýÆóÒµ Linux ·þÎñÆ÷ÖУ¬Èç¹ûÔÚÄǸöĿ¼ÖÐÔËÐÐij¸ö½ø³Ì£¬µ¯³ö¾Í²»»á·¢Éú¡£×÷ΪһÃû³¤ÆÚµÄ Linux ¹ÜÀíÔ±£¬ÎÒ»áÖØÆô»úÆ÷¡£Èç¹ûÎÒ²»Çå³þÕýÔÚÔËÐÐʲô£¬ÒÔ¼°ÎªºÎ²»ÊÍ·Å DVD Çý¶¯Æ÷£¬ÎÒÔò»áµ¯³ö´ÅÅÌ¡£µ«ÕâÑùЧÂʺܵ͡£
ÏÂÃæ½éÉÜÈçºÎÕÒµ½±£³Ö DVD Çý¶¯Æ÷µÄ½ø³Ì£¬²¢ÇáËɵ¯³ö DVD Çý¶¯Æ÷£ºÊ×ÏȽøÐÐÄ£Äâ¡£ÔÚ DVD Çý¶¯Æ÷ÖзÅÈë´ÅÅÌ£¬´ò¿ªÒ»¸öÖÕ¶Ë£¬×°ÔØ DVD Çý¶¯Æ÷£º
# mount /media/cdrom
# cd /media/cdrom
# while [ 1 ]; do echo "All your drives are belong to us!"; sleep 30; done
ÏÖÔÚ´ò¿ªµÚ¶þ¸öÖն˲¢ÊÔ×ŵ¯³ö DVD Çý¶¯Æ÷£º
# eject
½«µÃµ½ÒÔÏÂÏûÏ¢£º
umount: /media/cdrom: device is busy
ÔÚÊͷŸÃÉ豸֮ǰ£¬ÈÃÎÒÃÇÕÒ³öËÔÚʹÓÃËü¡£
# fuser /media/cdrom
½ø³ÌÕýÔÚÔËÐУ¬ÎÞ·¨µ¯³ö´ÅÅÌÆäʵÊÇÎÒÃǵĴí ......
linux limits.conf ÅäÖÃ
¡¡¡¡limits.conf Îļþʵ¼ÊÊÇ Linux PAM£¨²åÈëʽÈÏ֤ģ¿é£¬Pluggable Authentication Modules£©ÖÐ pam_limits.so µÄÅäÖÃÎļþ£¬¶øÇÒÖ»Õë¶ÔÓÚµ¥¸ö»á»°¡£
¡¡¡¡limits.confµÄ¸ñʽÈçÏ£º
¡¡¡¡username|@groupname type resource limit
¡¡¡¡username|@groupname£ºÉèÖÃÐèÒª±»ÏÞÖÆµÄÓû§Ãû£¬×éÃûÇ°Ãæ¼Ó@ºÍÓû§ÃûÇø±ð¡£Ò²¿ÉÒÔÓÃͨÅä·û*À´×öËùÓÐÓû§µÄÏÞÖÆ¡£
¡¡¡¡type£ºÓÐ soft£¬hard ºÍ -£¬soft Ö¸µÄÊǵ±Ç°ÏµÍ³ÉúЧµÄÉèÖÃÖµ¡£hard ±íÃ÷ϵͳÖÐËùÄÜÉ趨µÄ×î´óÖµ¡£soft µÄÏÞÖÆ²»ÄܱÈhar ÏÞÖÆ¸ß¡£Óà - ¾Í±íÃ÷ͬʱÉèÖÃÁË soft ºÍ hard µÄÖµ¡£
¡¡¡¡resource£º
¡¡¡¡core - ÏÞÖÆÄÚºËÎļþµÄ´óС
¡¡¡¡date - ×î´óÊý¾Ý´óС
¡¡¡¡fsize - ×î´óÎļþ´óС
¡¡¡¡memlock - ×î´óËø¶¨ÄÚ´æµØÖ·¿Õ¼ä
¡¡¡¡nofile - ´ò¿ªÎļþµÄ×î´óÊýÄ¿
¡¡¡¡rss - ×î´ó³Ö¾ÃÉèÖôóС
¡¡¡¡stack - ×î´óÕ»´óС
¡¡¡¡cpu - ÒÔ·ÖÖÓΪµ¥Î»µÄ×î¶à CPU ʱ¼ä
¡¡¡¡noproc - ½ø³ÌµÄ×î´óÊýÄ¿
¡¡¡¡as - µØÖ·¿Õ¼äÏÞÖÆ
¡¡¡¡maxlogins - ´ËÓû§ÔÊÐíµÇ¼µÄ×î´óÊýÄ¿
¡¡¡¡ÒªÊ¹ limits.conf ÎļþÅäÖÃÉúЧ£¬±ØÐëҪȷ±£ pam_limits.so Îļþ±»¼ÓÈëµ½Æô¶¯ÎļþÖС£²é¿´ /etc/pam.d/login ÎļþÖÐÓУº
¡¡¡¡session ......
ÕâÁ½ÌìÔÚ¸ø×Ô¼ºµÄlinuxϵͳÌí¼Ó´¥ÃþÆÁ£¬ÊìÁ·ÒÔºóÔÙÏë°ì·¨ÒÆÖ²¡£ÒòΪÒÔǰ´ÓÀ´Ã»ÓнӴ¥¹ýÕâ·½ÃæÖ»ÊÇ£¬Ö»ÊÇÔÚÒøÐУ¬³¬ÊУ¬Òƶ¯Óùý¶øÒÑ£¬¼¸ºõ¶Ô¿ª·¢Ã»ÓÐÈκΰïÖú¡£ÓÚÊÇÎÒÔÚwindowsÖа²×°Ê¹Óã¬È·¶¨Ã»ÓÐÎÊÌâ¡£
1.´Ó¹Ù·½ÍøÕ¾ÏÂÕ¾windowsXPÇý¶¯£¬WWW.touchkit.com¡£
2.ÏÂÔØºóÍêÎļþ¼ÐÀïÓиösetup£¬°²×°Èí¼þ¡£
3.ÔÚ²»¶Ï°´“next”ʱÓÐÒ»²½ÊÇÌáÐѲåÉÏ´¥ÃþÆÁµÄ£¬²»Òª´í¹ý¡£
4.Íê³Éºó¾Í¿ÉÒÔËĵãУ׼ÁË¡£
window¾ÍÊÇÕâô¼òµ¥£¬µ«ÊÇlinux¾Í¸´ÔӵĺÜÁË¡£
1.ͬÑùÏÂÔØlinuxÇý¶¯°ü¡£
2.ÔÚlinux»·¾³ÏÂÅäÖð²×°Ê±·¢ÏÖȱÉÙtclshÃüÁî¡£
3.²é¿´×ÊÁÏÏÂÔØÁËtcl8.4.7-src.tar.gz½øÐа²×°¡£
ÕâÀïÊ×ÏÈ̸̸tclµÄ°²×°£¨²Î¿¼×ÊÁÏÏÂһƪ£©¡£
1£©½âѹºó½øÈë/tcl8.4.7/unixĿ¼
2£©ÅäÖÃ./configure --prefix=/usr/bin(°²×°Ä¿Â¼£¬²»ÌîĬÈÏÊÇ/usr/local).
3£©make±àÒë
4£©make test
5£©make install
°²×°Íê³Éºó½øÈëtouchkit°²×°
1£©cdµ½touchkit/includeºóÏȱàÒëÍ·Îļþmake new¡£
2£©È»ºó»Øµ½touchkitĿ¼make all¡£
3£©¼ÌÐømake install¸ã¶¨¡£
4£©½¨ÁËÒ»¸ö/etc/tpaneld.confÎļþ¡£
½Å±¾ÈçÏ£º
MouseMode=DRAWING
DblClickSpeed =18
DblClickArea=30
RClickTool=0
Sound=0
P ......
Ò»£®Ç°ÑÔ
¡¡¡¡LinuxÓµÓзḻ¸÷ÖÖÔ´´úÂë×ÊÔ´,µ«ÊǴ󲿷ִúÂëÔÚWindowsƽ̨Çé¿öÊÇÎÞ·¨Õý³£±àÒëµÄ¡£Windowsƽ̨¸ù±¾ÎÞ·¨Ö±½ÓÀûÓÃÕâЩԴ´úÂë×ÊÔ´¡£Èç¹ûÏëҪʹÓÃÍêÕûµÄ´úÂ룬¾ÍÒª×öÒÆÖ²¹¤×÷¡£ÒòΪC/C++ LibraryµÄ²»Í¬ºÍÆäËûµÄһЩÔÒò£¬ÒÆÖ²C/C++´úÂëÊÇÒ»ÏîÀ§ÄѵŤ×÷¡£±¾ÎĽ«ÒÔÒ»¸öʵ¼ÊµÄÀý×Ó£¨Tar£©À´ËµÃ÷ÈçºÎ°ÑLinux´úÂëÒÆÖ²µ½Windowsƽ̨ÉÏ¡£ÒÆÖ²¹ý³Ì½«¾¡Á¿ÉÙÐ޸ĴúÂë,ÒÔ±ã´úÂëµÄÔËÐÐÂß¼²»»á·¢ÉúÈκα䶯¡£±£Áô¾ø´ó²¿·ÖÈí¼þÖ÷Òª¹¦ÄÜ¡£
¡¡¡¡¶þ£®×¼±¸¹¤×÷
¡¡¡¡TarÊÇLinuxƽ̨ÏÂÃæÒ»¸ö´ò°ü¹¤¾ß¡£ÒÆÖ²ÕâÑùÒ»¸ö³ÌÐòµ½windowsƽ̨ÐèÒª×öÄÇЩ¹¤×÷ÄØ£¿
¡¡¡¡Ê×ÏÈÊÇһЩ׼±¸¹¤×÷£¬ÔÚWindowsƽ̨ÉÏÃæ°²×°ÉÏCygwinµÄ×îа汾£¬ÔÚCygwinÖа²×°ºÃGCCµÈ¿ª·¢¹¤¾ß¡£ ͬÑùÒ²ÐèÒªÒ»¸ö Windows¿ª·¢»·¾³¡£¿ÉÒÔʹÓÃ×îа汾Visual Studio, Microsoft Visual Studio .NET 2003¡£´Ó www.gnu.orgÉÏÈ¡µÃTarµÄ×îÐÂÔ´´úÂ룬°æ±¾ÊÇ1.13¡£ÔÚCygwinÏÂÃæ½â¿ªtar-1.13.tar.gz.Ô´´úÂë°ü¡£×¢ÒâÇë²»ÒªÔÚ WindowsÏÂÃæÊ¹ÓÃWINRAR»òÕßWINZIPÀ´½âѹËõ¡£ WINRARºÍWINZIPÔÚ½âѹËõijЩtar.gz°üµÄʱºò»áÓÐÎÊÌ⡣ʹµÃ½â°üÖ®ºóµÄĿ¼ºÍÎļþ³öÏÖÒì³£¡£Èç¹ûÊÇÔ´´úÂë°ü½«ÓпÉÄܲ»ÄÜÔÚCygwinÏÂÃæÕýÈ·±àÒë¡£½â¿ªÑ¹Ëõ°üÖ®ºó£¬½ ......
Book Note: Linux Device Driver Dos and Don'ts
http://janitor.kernelnewbies.org/docs/driver-howto.html
what a hardened (robust) device
driver should mean and how it should be implemented and measured.
1.3 Robust device drivers
-Follows the Linux CodingStyle.
-Efficient in managing faults and handling, reporting and recovering from errors.
(Also not panic() happy.)
-Complies with latest Linux kernel APIs and interfaces.
(Uses the new device driver model, kobjects and sysfs.)
-Properly manages resources (memory, semaphores, interrupts, etc.).
-Uses kernel-provided "C" I/O functions instead of assembly code.
2.0 Where do I start?
3.0 OK, I'm ready...
3.1 Efficient error handling, reporting and recovery:
1)<printk()>
you should always check printk() calls to include appropriate KERN_* constant.
2)<goto>
3) <Enumerated return codes> <return EWHATEVER should be return -EWHATEVER>
4) <No need to panic()>
Rather, the device ......
¾¹ýÉÏÊöµÄ¼¸¸ö²½Öè¡£µÚÒ»¸öÄ¿±ê£¬´úÂëÄܹ»±àÒëͨ¹ý»ù±¾ÉÏÊDz»»áÓÐʲôÎÊÌâµÄ¡£Ö»Òª°ÑÎպöþ¸öÐ޸ĴúÂëµÄ»ù±¾ÔÔò£¬µÚÒ»¡£ÒýÈëеĴúÂ룬¶ø²»ÐÞ¸ÄÔÓеĴúÂë¡£ÔÚûÓа취½øÐе÷ÊÔǰÐÞ¸ÄÔ´´úÂëÊDz»ÔÊÐíµÄ£¬Ð޸ĵIJ»ºÃ¾Í»áÒýÆð×îºó´úÂëÔËÐÐÂß¼µÄ»ìÂÒ£¬¶øÇÒÔÚ´úÂëÄܹ»ÔËÐÐ֮ǰÊǺÜÄÑ·¢ÏÖÎÊÌâµÄ¡£ËùÒÔ³ý·Ç·Ç³£ÓаÑÎÕ£¬·ñÔò²»ÒªÐ޸ı»ÒÆÖ²¹¤³ÌµÄÔ´´úÂë¡£µÚ¶þ£¬ÒýÈëеĴúÂëÖ®ºó£¬²»ÄÜÒòΪÕâ´ÎÒýÈë¶øÐèÒªÔÙ´ÎÒýÈëеĴúÂë¡£ÕâÑù×Ó£¬¾Í½øÈëËÀÑ»·ÁË¡£ÎªÁ˽â¾öij¸öÊý¾ÝÀàÐ͵͍Ò壬¶øÒýÈëÁËеIJ»ÄܽâÊ͵ÄÊý¾ÝÀàÐÍ¡£ÕâÑù»¹²»Èç²»ÒýÈëеĴúÂë¡£ËùÒÔÒýÈëеĴúÂë£¬ÌØ±ðÊǺܶàÍ·Îļþ¡£ÒýÈë֮ǰһ¶¨Òª×öÐ޸ģ¬Ö»±£Áô¹¤³Ì±¾ÉíÐèÒªµÄ²¿·Ö£¬È¥³ýÄÇЩ²»ÐèÒªµÄ´úÂë¡£Ö±µ½ÄܱàÒëͨ¹ýΪֹ¡£ Èý£ºµÚ¶þ¸öÄ¿±ê£¬Ê¹µÃ´úÂëÄܹ»Á´½Ó¹ý£¨Link£©
¡¡¡¡Íê³ÉÁ˵ÚÒ»¸öÄ¿±êÖ®ºó£¬¾Í»áÓдóÁ¿µÄlink´íÎó¡£ÔÒòÊÇÇ°ÃæÒýÈëÁ˺ܶàÍⲿº¯Êý£¬Íⲿȫ¾Ö³£Á¿Ö»Óж¨Òå¶øÃ»ÓÐʵÌ壬ÓÚÊǾͻá²úÉúlink´íÎó¡£ÏÖÔÚÐèÒªµÄÊÇΪ´úÂëÌṩÒýÈëµÄº¯ÊýʵÌ壬Íⲿȫ¾Ö±äÁ¿ÊµÌå¡£Ò»°ã¶¼ÊǺ¯Êýlink(±¾ÎÄÓÚ2003ÄêÍê³É. ÈçÐèÒª×ªÔØ ÇëÁªÏµjackforce at 163.com)²»µ½µÄ±È½Ï¶à¡£
¡¡¡¡Òª½â¾ölink´íÎó¾ÍÐèÒªÁ˽ⲻͬƽ̨ÉÏÃæº¯Êý²Ù×÷µÄÇø±ð ......