Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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Çý¶¯Ö®makefileÏê½â

# If KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o
# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
    ......

LinuxÏÂËøÓû§Óë½âËøÎÊÌâ

LinuxÏÂËøÓû§Óë½âËøÎÊÌâ [Ô­´´ 2010-02-03 21:44:35]   
×ֺţº´ó ÖРС
Ò»£ºµÇ¼ʧ°Ü´Î»Ø³¬¹ýÏÞÖÆ
1£©ËøÓû§µÄÉ趨
/etc/pam.d/Ï°üº¬¸÷ÖÖÈÏÖ¤³ÌÐò»ò·þÎñµÄÅäÖÃÎļþ¡£±à¼­ÕâЩ¿ÉÏÞÖÆÈÏ֤ʧ°Ü´ÎÊý£¬µ±Ê§°Ü´ÎÊý³¬¹ýÖ¸¶¨ÖµÊ±Óû§»á±»Ëøס¡£
ÔÚ´Ë£¬ÒÔrun levelΪ3µÄʱºò£¬¶à´ÎµÇ¼µÇ¼ʧ°Ü¼´ËøÓû§ÎªÀý£º
......

linuxÆô¶¯£¨×ªÔØ£©

¸÷sectionµÄλÖ÷ֲ¼¿´Äں˵ÄÁ´½Ó½Å±¾
D:\KIDE\target\kernel-version\cgel3.0\linux\include\asm-generic\vmlinux.lds.h
D:\KIDE\target\kernel-version\cgel3.0\linux\arch\powerpc\kernel\vmlinux.lds.S
Kernel¾µÏñÆðʼµØÖ·KERNELBASE = 0xc000 0000£¬ÕâÒâζ×ÅÄں˴úÂëºÍÄÚºËÈ«¾Ö±äÁ¿µÈµÄµØÖ·¿Õ¼äÔÚ3g-4gµÄµØ·½£¬
¶ø ......

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ºÅ