À´Ô´£ºhttp://www.armjishu.com/index.php
´ó²¿·ÖÈ˶¼²»Ì«ÇåÎúµÄÒÉ»ó-----LinuxÖеĵØÖ·¿Õ¼ä
ÓÐÕâôһϵÁеÄÎÊÌ⣬ÊÇ·ñÔÚÀ§ÈÅ×ÅÄ㣺Óû§³ÌÐò±àÒëÁ¬½ÓÐγɵĵØÖ·¿Õ¼äÔÚʲô·¶Î§ÄÚ£¿Äں˱àÒëºóµØÖ·¿Õ¼äÔÚʲô·¶Î§ÄÚ£¿Òª¶ÔÍâÉè½øÐзÃÎÊ£¬I/OµÄµØÖ·¿Õ¼äÓÖÊÇʲôÑùµÄ£¿
ÏȻشðµÚÒ»¸öÎÊÌâ¡£Linux×î³£¼ûµÄ¿ÉÖ´ÐÐÎļþ¸ñʽΪelf(Executable and Linkable Format)¡£ÔÚelf¸ñʽµÄ¿ÉÖ´ÐдúÂëÖУ¬ld×ÜÊÇ´Ó0x8000000¿ªÊ¼°²ÅųÌÐòµÄ“´úÂë¶Î”£¬¶Ôÿ¸ö³ÌÐò¶¼ÊÇÕâÑù¡£ÖÁÓÚ³ÌÐòÖ´ÐÐʱÔÚÎïÀíÄÚ´æÖеÄʵ¼ÊµØÖ·£¬ÔòÓÉÄÚºËΪÆä½¨Á¢ÄÚ´æÓ³ÉäʱÁÙʱ·ÖÅ䣬¾ßÌåµØÖ·È¡¾öÓÚµ±Ê±Ëù·ÖÅäµÄÎïÀíÄÚ´æÒ³Ãæ¡£
ÎÒÃÇ¿ÉÒÔÓÃLinuxµÄʵÓóÌÐòobjdump¶ÔÄãµÄ³ÌÐò½øÐз´»ã±à£¬´Ó¶øÖªÏþÆäµØÖ··¶Î§¡£
ÀýÈ磺¼Ù¶¨ÎÒÃÇÓÐÒ»¸ö¼òµ¥µÄC³ÌÐòHello.c
# include <stdio.h>
greeting ( )
{
printf(“Hello,world!\n”);
}
main()
{
greeting();
}
Ö®ËùÒÔ°ÑÕâÑù¼òµ¥µÄ³ÌÐòд³ÉÁ½¸öº¯Êý£¬ ......
¹²ÏíÎļþϵͳÎļþ´«Ê䣬ÊÇÍøÂçÕì¿ØÏîÄ¿ÖеÄÒ»¸öʵ¼Ê²Ù×÷¡£ËüÊÇΪÁ˵ÖÖÆÈëÇÖÕß½øÈëÄÚÍø¶øÌá³öµÄÒ»ÖÖ°²È«½â¾ö·½°¸¡£ÔÚʵ¼Ê´«Êä¹ý³ÌÖУ¬ÍØÆËͼÈçÏ£º
ʵ¼Ê»·¾³¾ùÔÚLinuxÖ÷»úϽøÐС£²ÉÓÃOCFS2Îļþ¼¯ÈºµÄ·½Ê½¡£ÍⲿÖ÷»úAºÍÄÚ²¿Ö÷»úBÖ®¼äµÄͨѶ£¬¾ùͨ¹ý¹²Ïí´æ´¢¿Õ¼äC½øÐнÓÊܺͷ¢ËÍ¡£ÕâÑù¼´Ê¹ÈëÇÖÕßÄÃÏÂÍⲿÖ÷»úA£¬Ò²ÎÞ·¨ÉøÍ¸ÄÚÍø¡£ÕâÑù¿ÉÒÔÈ·±£ÄÚ²¿Ö÷»úBÊǰ²È«µÄ¡£ÔÚ´Ë“¹²ÏíÎļþϵͳÎļþ´«Êä”Éè¼ÆÖУ¬Ö÷ÒªÊÇʵÏÖA--->C--->BÕâÑùÒ»¸öÎļþ´«Êä¹ý³Ì¡£ÔÚÒÔÏ·ÖÎöÖУ¬½«»á¸ø³öÒ»ÖÖ¼òµ¥µÄÉè¼ÆË¼Â·¡£
Ê×ÏÈ£¬ÎÒÀ´½éÉÜϼ¯ÈºÏµÍ³OCFS£¨RAC£©¡£RACµÄÈ«³ÆÊÇÊ²Ã´ÄØ£¬¾ÍÊÇReal Application Cluster£¬ÊÇÒ»ÖÖÔÚ¼¯ÈºµÄ»·¾³ÏÂʵÏÖ¹²ÏíµÄÒ»ÖÖÊý¾Ý¿â´æ´¢ÐÎʽ¡£ÔÚͨ³£ÎÒÃǵÄÊý¾Ý¿â£¬Èç¹ûÊǵ¥»ú°æµÄÊý¾Ý¿â£¬µ±Êý¾ÝÎļþ´ÅÅ̲»ÄÜ·ÃÎÊ£¬ÄÇôÕâ¸öÊý¾Ý¿â¾Í¹ÒµôÁË¡£Èç¹ûÊǼ¯Èº¹²ÏíÊý¾Ý¿âµÄ»°£¬ÆäÖÐÒ»ÖÖ·½·¨¾ÍÊÇÔÚij¸ö½Úµã´æ·ÅÊý¾ÝÎļþ£¬ÆäÓàµÄÊý¾Ý¿â¶¼Í¨¹ýNFS»òÕßSambaÀ´½øÐй²Ïí£¬ËäÈ»Êý¾Ý¿âµÄÊý¾Ý´¦ÀíÄÜÁ¦µÃµ½Á˺ܴóµÄÌá¸ß£¬²»¹ýÈç¹ûÕâ¸ö´æ´¢½Úµã¹ÒµôµÄ»°£¬Í¬ÑùÊý¾Ý¿âÒ²¾Íå´µôÁË¡£¶øOCFSÔòÊÇÒ»ÖÖÎ޶ϵã»Ö¸´µÄ´æ´¢ÐÎʽ£¬ÔÚÕûÌ司È˵ĸоõ¾ÍÊÇÿ̨Êý¾Ý·þÎñÆ÷¶¼ÓÐ×Ô¼ºµÄÎļþϵͳ£¬µ«ÊÇÕâЩ ......
Ò»¡¢Óû§¹ÜÀí»ù´¡
ÔÚLinux»·¾³Ï¶ÔÓû§µÄ¹ÜÀíÓжàÖÖ·½Ê½£¬°üÀ¨Óñ༹¤¾ßVi¡¢emacsµÈ¶Ô/etc/passwd½øÐвÙ×÷»òÖ±½ÓʹÓÃ
addusr¡¢deleusrµÈÓû§¹ÜÀíÃüÁîÒÔ¼°Ê¹ÓÃpwconvÃüÁîʹ/etc/passwdÓëshadowÎļþ±£³ÖÒ»Ö¡£ÎÒÃÇÏÈÀ´¿´¿´LinuxÏÂÓÃ
»§¹ÜÀíµÄ³£ÓòÙ×÷¶¼×öÁËЩʲô°É¡£
1¡¢Ôö¼ÓÓû§
Ôö¼ÓÓû§ÓÐÈý¸ö¹ý³Ì:
(1) ÔÚ/etc/passwdÎļþÖÐдÈëÐÂÓû§µÄÈë¿ÚÏî¡£
(2) ΪеǼÓû§½¨Á¢Ò»¸öHOMEĿ¼¡£
(3) ÔÚ/etc/groupÖÐΪÐÂÓû§Ôö¼ÓÒ»¸öÈë¿ÚÏî¡£
ÔÚ
/etc/passwdÎļþÖÐдÈëеÄÈë¿ÚÏîʱ£¬¿ÚÁ·Ö¿ÉÏÈÉèÖÃΪNOLOGIN£¬
ÒÔÃâÓÐÈË×öΪ´ËÐÂÓû§µÇ¼¡£ÐÂÓû§Ò»°ã¶ÀÁ¢ÎªÒ»¸öÐÂ×飬GIDºÅÓëUIDºÅÏàͬ(³ý·ÇËûÒª¼ÓÈëĿǰÒÑ´æÔÚµÄÒ»¸öÐÂ×é)£¬UIDºÅ±ØÐëºÍÆäËûÈ˲»
ͬ£¬HOMEĿ¼һ°ãÉèÖÃÔÚ/usr »ò/homeĿ¼Ï£¬½¨Á¢Ò»¸öÒÔÓû§µÇ¼ÃûΪÃû³ÆµÄĿ¼×öΪÆäÖ÷Ŀ¼¡£
2¡¢É¾³ýÓû§
ɾ³ýÓû§Óë¼ÓÓû§µÄ¹¤×÷ÕýºÃÏà·´£¬Ê×ÏÈÔÚ/etc/passwdºÍ/etc/groupÎļþÖÐɾ³ýÓû§µÄÈë¿ÚÏȻºóɾ³ýÓû§µÄHOMEĿ¼ºÍËùÓÐÎļþ¡£
rm -r /usr/loginname ɾ³ýÓû§µÄÕû¸öĿ¼¡£
/usr/spool/cron/crontabsÖÐÓÐcrontabÎļþ£¬Ò²Ó¦µ±É¾³ý¡£
3¡¢½«Óû§ÒƵ½ÁíÒ»¸öϵͳ
Õâ
ÊÇÒ»¸ö¸´ÔÓµÄÎÊÌ⣬²»Ö»ÊÇ¿½±´Óû§ ......
ÔÚLinux²Ù×÷ϵͳÏÂÓÐ3ÀàÖ÷ÒªµÄÉ豸ÎļþÀàÐÍ£º¿éÉ豸¡¢×Ö·ûÉ豸ºÍÍøÂçÉ豸¡£ÕâÖÖ·ÖÀà·½·¨¿ÉÒÔ½«¿ØÖÆÊäÈë/Êä³öÉ豸µÄÇý¶¯³ÌÐòÓëÆäËû²Ù×÷ϵͳÈí¼þ·ÖÀ뿪À´¡£×Ö·ûÉ豸ÊÇÖ¸´æÈ¡Ê±Ã»Óлº´æµÄÉ豸¡£µäÐ͵Ä×Ö·ûÉ豸°üÀ¨Êó±ê¡¢¼üÅÌ¡¢´®Ðпڵȡ£
×Ö·ûÉ豸Óë¿éÉ豸µÄÖ÷񻂿±ðÊÇ£ºÔÚ¶Ô×Ö·ûÉ豸·¢³ö¶Á/дÇëÇóʱ£¬Êµ¼ÊµÄÓ²¼þI/OÒ»°ã½ô½Ó×Å·¢Éú¡£¿éÉ豸Ôò²»È»£¬ËüÀûÓÃÒ»¿éϵͳÄÚ´æ×÷Ϊ»º³åÇø£¬ÈôÓû§½ø³Ì¶ÔÉ豸µÄÇëÇóÄÜÂú×ãÓû§µÄÒªÇ󣬾ͷµ»ØÇëÇóµÄÊý¾Ý£»·ñÔò£¬¾Íµ÷ÓÃÇëÇóº¯ÊýÀ´½øÐÐʵ¼ÊµÄI/O²Ù×÷¡£¿éÉ豸Ö÷ÒªÊÇÕë¶Ô´ÅÅ̵ÈÂýËÙÉ豸Éè¼ÆµÄ£¬ÒÔÃâºÄ·Ñ¹ý¶àµÄCPUʱ¼äÓÃÀ´µÈ´ý¡£ÍøÂçÉ豸¿ÉÒÔͨ¹ýBSDÌ×½Ó¿Ú·ÃÎÊÊý¾Ý¡£
Ò».Ö÷É豸ºÅºÍ´ÎÉ豸ºÅ
Ö÷É豸ºÅ±êʶÉ豸¶ÔÓ¦µÄÇý¶¯³ÌÐò£»´ÎÉ豸ºÅÓÉÄÚºËʹÓã¬ÓÃÓÚÕýÈ·È·¶¨É豸ÎļþËùÖ¸µÄÉ豸¡£ÎÒÃÇ¿ÉÒÔͨ¹ý´ÎÉ豸ºÅ»ñµÃÒ»¸öÖ¸ÏòÄÚºËÉ豸µÄÖ±½ÓÖ¸Õ룬Ҳ¿É½«´ÎÉ豸ºÅµ±×÷É豸±¾µØÊý×éµÄË÷Òý£¬²»¹ÜÓÃÄÄÖÖ·½Ê½£¬³ýÁËÖªµÀ´ÎÉ豸ºÅÓÃÀ´Ö¸ÏòÇý¶¯³ÌÐòËùʵÏÖµÄÉ豸֮Í⣬Äں˱¾Éí»ù±¾Éϲ»¹ØÐĹØÓÚ´ÎÉ豸ºÅµÄÈÎºÎÆäËûÏûÏ¢¡£
¡òÉ豸±àºÅµÄÄÚ²¿±í´ï
ÄÚºËÓÃdev_tÀàÐÍ£¨<linux/types.h>£©À´±£´æÉ豸±àºÅ£¬dev_tÊÇÒ»¸ö32λµÄÊý£¬12λ±íʾÖ÷É豸ºÅ£¬20λ±íʾ´ÎÉ豸 ......
³ÌÏà¹Øº¯Êý£º
pthread_attr_init()
pthread_attr_setschedpolicy()
pthread_attr_setschedparam()
pthread_attr_destroy()
¾ßÌåÓ¦ÓÃdemo£º
pthread_attr_init(&attr);
pthread_attr_setschedpolicy(&attr, SCHED_RR);
pthread_attr_getschedparam(&attr, ¶m);
param.sched_priority=20;
pthread_attr_setschedparam(&attr, ¶m);
pthread_create(&tid, &attr, (void *)myfunction, myarg);
linux½ø³Ìµ÷¶È·½·¨(SCHED_OTHER,SCHED_FIFO,SCHED_RR)
linux½ø³Ìµ÷¶È·½·¨(SCHED_OTHER,SCHED_FIFO,SCHED_RR)
linuxÄں˵ÄÈýÖÖµ÷¶È·½·¨£º
1£¬SCHED_OTHER ·Öʱµ÷¶È²ßÂÔ£¬
2£¬SCHED_FIFOʵʱµ÷¶È²ßÂÔ£¬Ïȵ½ÏÈ·þÎñ
3£¬SCHED_RRʵʱµ÷¶È²ßÂÔ£¬Ê±¼äƬÂÖת
linuxÄں˵ÄÈýÖÖµ÷¶È·½·¨£º
1£¬SCHED_OTHER ·Öʱµ÷¶È²ßÂÔ£¬
2£¬SCHED_FIFOʵʱµ÷¶È²ßÂÔ£¬Ïȵ½ÏÈ·þÎñ
3£¬SCHED_RRʵʱµ÷¶È²ßÂÔ£¬Ê±¼äƬÂÖת
ʵʱ½ø³Ì½«µÃµ½ÓÅÏȵ÷Óã¬ÊµÊ±½ø³Ì¸ù¾ÝʵʱÓÅÏȼ¶¾ö¶¨µ÷¶ÈȨֵ£¬·Öʱ½ø³ÌÔòͨ¹ýniceºÍcounterÖµ¾ö¶¨È ......
from£ºhttp://www.ibm.com/developerworks/cn/linux/l-usb/index1.html
¼¶±ð£º ³õ¼¶
ÕÔÃ÷ (carl__zhao@163.com), ÁªÏëÈí¼þÉè¼ÆÖÐÐÄǶÈëʽÑз¢´¦ÏµÍ³Éè¼Æ¹¤³Ìʦ
2003 Äê 7 ÔÂ 01 ÈÕ
USBÉ豸ԽÀ´Ô½¶à£¬¶øLinuxÔÚÓ²¼þÅäÖÃÉÏÈÔȻûÓÐ×öµ½ÍêÈ«¼´²å¼´Ó㬶ÔÓÚLinuxÔõÑùÅäÖúÍʹÓÃËûÃÇ£¬Ò²Ô½À´Ô½³ÉΪÀ§ÈÅÎÒÃǵÄÒ»´óÎÊÌâ¡£±¾ÎÄ×ÅÁ¦´ÓLinuxϵͳÏÂÉ豸Çý¶¯µÄ¼Ü¹¹£¬È¥²ûÊöÔõÑùȥʹÓúÍÅäÖÃÒÔ¼°ÔõÑù±àÖÆUSBÉ豸Çý¶¯¡£¶ÔÓÚÒ»°ãÓû§£¬¿ÉÒÔʹÎÒÃÇÃ÷ÎúLinuxÉ豸Çý¶¯·½Ê½£¬Îª¸üºÃµØÅäÖúÍʹÓÃUSBÉ豸ÌṩÁË·½±ã£»¶ø¶ÔÓÚÏ£Íû¿ª·¢LinuxϵͳÏÂUSBÉ豸Çý¶¯µÄ³ÌÐòÔ±£¬ÌṩÁ˳õ²½Ñ§Ï°USBÇý¶¯¼Ü¹¹µÄ»ú»á¡£
ǰÑÔ
USBÊÇÓ¢ÎÄ"Universal Serial Bus"µÄËõд£¬ÒâΪ"ͨÓô®ÐÐ×ÜÏß"¡£ÊÇÓÉCompaq(¿µ°Ø)¡¢DEC¡¢IBM¡¢Intel¡¢NEC¡¢Î¢ÈíÒÔ¼°Northern Telecom£¨±±·½µçѶ£©µÈ¹«Ë¾ÓÚ1994Äê11Ô¹²Í¬Ìá³öµÄ£¬Ö÷ҪĿµÄ¾ÍÊÇΪÁ˽â¾ö½Ó¿Ú±ê׼̫¶àµÄ±×¶Ë¡£USBʹÓÃÒ»¸ö4Õë²åÍ·×÷Ϊ±ê×¼²åÍ·£¬²¢Í¨¹ýÕâ¸ö±ê×¼½ÓÍ·£¬²ÉÓþջ¨°êÐÎʽ°ÑËùÓÐÍâÉèÁ¬½ÓÆðÀ´£¬Ëü²ÉÓô®Ðз½Ê½´«ÊäÊý¾Ý£¬Ä¿Ç°×î´óÊý¾Ý´«ÊäÂÊΪ12Mbps, Ö§³Ö¶àÊý¾ÝÁ÷ºÍ¶à¸öÉ豸²¢ÐвÙ×÷£¬ÔÊÐíÍâÉèÈȲå°Î¡£
ĿǰUSB½Ó¿ÚËäȻֻ·¢Õ¹ÁË2´ú£¨USB1.0/1.1£¬USB2.0£©£¬µ«ÊÇUSB ......