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

Ïл°LinuxÄں˗—ѧϰ£¬´§Ä¦ÓëÍæÎ¶

×îÔç½Ó´¥LinuxÄÚºËÊÇÔÚ´óÈýµÄʱºò£¬ÄÇʱ¡¶²Ù×÷ϵͳ¡·µÄ¿Î³ÌÉè¼Æ¾ÍÊǽøÐÐLinuxÄÚºËÔ´´úÂëµÄ·ÖÎöÓë½ø³Ìµ÷¶ÈµÄ¸Ä½ø¡£ÌâÄ¿ÊÇ´óµÄÓеãÏÅÈË£¬ÌØ
±ðÊǶÔÄÇʱһ¸öÉæ×ãδÉîµÄÄêÇáÈË¿´À´¡£²»¹ýÄÇʱ×öµÄÊÂÇéºÜ¼òµ¥£¬ÈÏÈÏÕæÕæµÄ¿´ÁË¡¶LinuxÄÚºËÔ´´úÂëÇé¾°·ÖÎö¡·µÄǰÑÔ²¿·Ö£¨Ö÷Òª½²µÄAT&T»ã
±àÓïÑÔ£¬ÄÚºËÖÐÒ»Ð©ÌØÊâµÄ±à³Ì¹æÔò£©£¬Óë½ø³Ìµ÷¶ÈÏà¹ØµÄ²¿·Ö£¬°üÀ¨½ø³ÌµÄ¹ÜÀí£¬½ø³ÌµÄÇл»£¬½ø³ÌÓëÖжϣ¬ÈíÖжϣ¬ÏµÍ³µ÷Ó㬽ø³Ì»¥³âÓëͬ²½»úÖÆ¡£²¢»­Á˼¸
ÕÅͼ²ûÊöÁ˽ø³Ìµ÷¶ÈµÄ·Ïߣ¬¶Ôspinlock»úÖÆ½øÐÐÁËÉîÈëµÄÆÊÎö¡£Ã÷°×ÁË2.4µÄÄÚºËΪºÎÊÇ·ÇÇÀռʽÄںˣ¬½ø³Ìµ÷¶ÈÆ÷ÆäʵҲ²»ÊÇʲôÉñÆæµÄ¶« ¶«——
Ò»¸öº¯Êý°ÕÁË£¬É¶½Ðprocess
context¡£Í¬Ê±£¬ÎªÁËÍê³É“½ø³Ìµ÷¶È»úÖÆµÄ¸Ä½ø”£¬¿´ÁËʵÏÖ¿ÉÇÀÕ¼µÄÁ½¸ö²¹¶¡£¬Å¶£¬ÏÖÔÚÒѾ­ÕûºÏ½ø2.6ÁË£¬Ò²¹Ö²»µÃ×òÌì¿´2.6½ø³Ìµ÷¶ÈµÄ½éÉÜÓÐ
ÖÖËÆÔøÏàʶµÄ¸Ð¾õ¡£
¿ÉÒÔ˵£¬ÄÇʱµÄ·ÖÎöÍêÈ«ÊÇÀíÂÛѧϰ¡£¶ÔÓÚÄں˱à³ÌµÄʵ¼ù¼¸ºõûÓС£´øÀ´µÄºÃ´¦×îÖ÷ÒªµÄÔÚÓÚÌá¸ßÁ˶ԲÙ×÷ϵͳÔËÐеÄÈÏʶÓëÌá¸ßÁË´úÂëµÄÔĶÁÄÜ
Á¦¡£
»ØÍ·È¥¿´Õâ¶ÎÍùÊ£¬×ܾõµÃ´æÔÚ×ÅÓÐËù¸Ä½øµÄµØ·½¡£
ÏÖÔÚ¿´À´£¬ÄÚºËÊÇɶĨ£¿Ö»ÊÇÒ»¸ö±È½Ï´óµÄÈí¼þÏîÄ¿£¬¿ÉÒÔÄÃËüÓëEclipseÏà±È£¬»òÕßmplayerÏà±È£¬»òÕß¾ÍÊÇÓëÈκÎÒ»¸ö¿ªÔ´Èí¼þ´¦
ÓÚͬ²ã´ÎµÄ¶«Î÷£¬Ö»ÊÇËü¸ü¾ß¸´ÔÓÐÔ£¬Éæ¼°µ½µÄÈí¼þÓëÓ²¼þµÄ¶«Î÷¸üÈ«Ãæ°ÕÁË¡£
»òÕß˵£¬¾­¹ýÕ⼸Äê¶Ô¿ªÔ´ÏîÄ¿µÄ½Ó´¥£¬¶ÔÈí¼þÏîÄ¿µÄ²ÎÓ룬LinuxÄÚºËÔÚÎÒÐÄÄ¿ÖеÄÉñÃØ¸ÐÒÑÈ»Ïûʧ£¬EclipseÔÚÈí¼þ¼Ü¿ò·½ÃæÓ¦¸Ã¿É
ÒÔËã³öÀà°ÎÝÍ£¬EFIÔÚBIOSÕâÒ»²ãÉÏҲʵÏÖÁËеĿÉÀ©Õ¹µÄºÍÁ¼ºÃµÄÉ豸¹ÜÀíÄ£ÐÍ£¬¶øLinuxÔÚ²Ù×÷ϵͳµÄ²ã´ÎÉÏÒ²Ó¦¸ÃÊÇÒ»¸öµä·¶£¬ÖµµÃȥѧϰ£¬È¥´§
Ħ£¬È¥ÍæÎ¶¡£
2.6ÄÚºËÖ®ÓÚ2.4Äںˣ¬ÎÞÒÉÊÇǰ½øÁËÒ»´ó²½£¬½ø³Ìµ÷¶È£¬É豸¹ÜÀíµÈµÈ·½Ãæ¶¼ÐγÉÁ˸üÁ¼ºÃµÄframework¡£Í¬Ê±Ò²Ó¿ÏÖ³öÁ˺öàÓÅÐã
µÄ´«µÀÊ¿¼°Æä½Ü×÷£¬Èç¡¶Linux Kernel Development Second Edition¡·¡¶Linux Device Driver
Third Edition¡·¡£ÎÒ¸üÏë°ÑÕâЩ´øÓÐŨºñʵ¼ùÐÔÖʵÄÊé¼®µ±×ö½øÈëLinux
ÄÚºËÊÀ½çµÄÒ»¸ö¼«¼ÑµÄ“ÇÐÈëµã”¡£ÏëÆðEclipseÊÀ½çÒ»±¾Óë´ËÀàËÆµÄÊé¡¶contributing to
eclipse¡·£¬Ò»¸öÌᳫµÄ¹æÔò¾ÍÊÇ“MONKEY SEE/MONKEY DO RULE Always start by copying the
structure of a similar plug-in.”¡£´ÓÄÚºËÖÐѧϰÄںˣ¬ÔöÇ¿Äںˣ¬Ó¦¸ÃÊÇÄں˱à³ÌµÄÒ»¸öÔ­Ôò¡£
²»¿É·ñÈϵأ¬“Çé¾°·ÖÎö”ÊÇ¡¶LinuxÄÚºËÔ´´úÂëÇé¾°·Ö


Ïà¹ØÎĵµ£º

linux¶¨Ê±Æ÷ÉèÖÃ

10.5.2 ¾«Í¨¶¨Ê±Æ÷ÉèÖÃ
º¯ÊýalarmÉèÖõĶ¨Ê±Æ÷Ö»Äܾ«È·µ½Ã룬¶øÒÔϺ¯ÊýÀíÂÛÉÏ¿ÉÒÔ¾«È·µ½Î¢Ã
#include  <sys/select.h>
#include  <sys/itimer.h>
int getitimer(int which, struct itimerval *value);
int setitimer(int which, const struct itimerval
*value, struct itimerval *ovalue ......

linuxϵͳʱ¼ä

  ·¢ÏÖ·þÎñÆ÷ϵͳʱ¼äºÍ±ê׼ʱ¼ä²îÁË10¶à·ÖÖÓ,È»ºóÁãµãµÄʱ¼äµ÷ÕûÁËÏÂʱ¼ä¡£¹ýÁ˲¶àÒ»¸öÀñ°Ý·¢Õ¹Êý¾Ý¿âÖмǼµÄʱ¼ä»¹ÊDz»¶Ô£¬ÈçÊÇÓüӰàµ÷ÕûÁËÏÂʱ¼ä¡£¹ýÁË2ÌìÒ»¿´»¹ÊÇʱ¼ä²»¶Ô£¬Ò»²é²Å·¢ÏÖ£º 
   »úÆ÷ÀïÓÐÁ½¸öʱÖÓ¡£Ó²¼þʱÖÓ´Ó¸ù±¾ÉϽ²ÊÇCMOSʱÖÓ£»¶øÏµÍ³Ê±ÖÓÊÇÓÉÄÚºËά»¤µÄ£¬ËüÊÇ´Ó1969ÄêÄ©£¨¼ ......

LinuxÄں˵Äͬ²½»úÖÆ

ÔÚ½øÈëÕýÎÄǰÏÈ¿´Ò»ÏÂÎÒÔÚÍøÉÏ¿´µ½µÄÌû×Ó£º
ÎÊ£ºatomic_set(v,i)µÄ¶¨ÒåÊÇÕâÑùµÄ:
#define atomic_set(v,i) v->counter=i
µ«ÊÇ£¬ÔÚi386Ìåϵ½á¹¹ÖУ¬²»ÄÜÖ±½Ó°ÑÒ»¸öÄÚ´æ²Ù×÷Êýͨ¹ýÒ»ÌõmovÖ¸Áî´æµ½ÁíÒ»¸öÄÚ´æ²Ù×÷ÊýÖУ¬
±ÈÈçÒª°Ñint32ÀàÐ͵ıäÁ¿ i ÉèÖÃ³É j£¬±ØÐë¾­¹ýÁ½ÌõÖ¸Áî:
mov eax,j
mov i,eax
Èç¹ûÕâÑùÀ ......

redhat linux 9.0ÏÂLAMPµÄ°²×°ÓëÅäÖÃ

Ê×ÏÈ,·þÎñÆ÷GCCÒªÓÐ,²»È»Ê²Ã´¶¼²»ÄÜ×ö.Äܹ»ÓÃgcc -vÀ´²é¿´ÊÇ·ñ°²×°ÁËGCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checki ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ