Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

linux¿ª»ú˳Ðò

1.BIOS×Ô¼ì
        ¼ÆËã»úÔÚ½ÓͨµçÔ´Ö®ºóÊ×ÏȽøÐÐBIOS×Լ죬¼´ÎÒÃÇËù˵µÄpost(power on self test).×Ô¼ìÍê³Éºó£¬È»ºó¸ù¾ÝBIOSÖеÄÉèÖõÄÒýµ¼Ë³Ðò£¬´ÓÓ²ÅÌ¡¢¹âÅÌÒýµ¼£¬Í¨³£ÎÒÃÇʹÓÃÓ²ÅÌÀ´Òýµ¼ÏµÍ³¡£ÔÚÓ²Å̵ĵÚÒ»¸öÉÈÇø£¨0´ÅµÀ0ÖùÃæ1ÉÈÇø£©ÓÐÒ»¶Î´úÂë½Ð×öMBR£¨Master Boot Record.Ö÷Òýµ¼¼Ç¼£©£©£¬µ±MBR±»¼ÓÔص½ÄÚ´æÖкó£¬BIOS»á½«¿ØÖÆȨ½»¸øMBR£¨MBRÔÚÄÚ´æÖУ¬¼´running).
2.¶ÁÈ¡MBRµÄÐÅÏ¢£¨MBR¿ÉÄÜÊÇlilo,grub,spfdiskµÈ£©
         MBRÊÇÒ»¶Î¿ÉÖ´ÐдúÂ룬´óСΪ512×Ö½Ú£¬¸Ã´úÂëµÄ×÷ÓÃÊǸæËßÎÒÃǵÄϵͳÈçºÎÒýµ¼linux,ÀýÈç"kernel /boot/vmlinuz-2.6.9.-5.EL ro root=LABEL=/",ÕâÊÇÒ»¶Îgrub£¬vmlinuzµÄÊÇ¿ÉÒýµ¼µÄѹËõÃüÁgrub½«¸æËßϵͳÈçºÎ¼ÓÔØvmliunz¡£
3.¼ÓÔØÄÚºË
          µ±ÄÚºËÓ³Ïñ±»¼ÓÔص½ÄÚ´æÖ®ºó£¬Äں˽׶ξͿªÊ¼ÁË£¬ÄÚ´æÓ³Ïñ²¢²»ÊÇÒ»¸ö¿ÉÖ´ÐеÄÄںˣ¬¶øÊÇÒ»¸ö¾­¹ýѹËõµÄÄÚºËÓ³Ïñ¡£Í¨³£ËûÊÇÒ»¸özlmage£¨j½ÏСµÄÄںˣ¬Ð¡ÓÚ512K£©»îbzlmage£¨½Ï´óµÄÄںˣ¬´óÓÚ512K£©¡£Ö®ºóÒª¶ÔÄں˽øÐнâѹ£¬²¢·ÅÈë¸ß¶ËÄÚ´æµ±ÖС£
4.Ö´ÐÐinit½ø³Ì£¬²¢È¡µÃrun-levelÐÅÏ¢.
   &nbs ......

LinuxµÄÒì³£ºÍÄÚºËÇÀÕ¼

£¨1£©Òì³£µÄ¸ÅÄî
      ÖжÏÐźÅÊÇÒ»¸öͳ³Æ£¬Í³³ÆÄÇЩ¸Ä±äCPUÖ¸ÁîÖ´ÐÐÐòÁеÄʼþ¡£µ«ËüÓÖ·ÖΪÁ½ÖÖ£º
Ò»ÖÖÊÇͬ²½µÄ£¬Ã»ÄÇôͻȻ£¬ÒòΪËüÖ»ÔÚÒ»¸öÖ¸ÁîµÄÖ´ÐÐÖÕÖ¹Ö®ºó²Å·¢Éú£¬ÊéÖÐÒÀ´ÓIntelµÄ¹ßÀý£¬³ÆΪÒì³££¨Exception£©¡£Ò»°ãÊDZà³Ì´íÎó£¨Ò»°ãµÄ´¦ÀíÊÇ·¢Ðźţ©»òÕßÄں˱ØÐë´¦ÀíµÄÒì³£Çé¿ö£¨Äں˻á²ÉÈ¡»Ö¸´Òì³£ËùÐèµÄһЩ²½Ö裩£»
Ò»ÖÖÊÇÒì²½µÄ£¬Í»È»Ò»Ð©£¬ÒòΪËüÊÇÓɼä¸ô¶¨Ê±Æ÷ºÍI/OÉ豸²úÉúµÄ£¬Ö»×ñÑ­CPUʱÖÓÐźţ¬ËùÒÔ¿ÉÄÜÔÚÈκÎʱºò²úÉú£¬ÊéÖÐÒ²ÒÀ´ÓIntelµÄ¹ßÀý£¬³ÆΪÖжϣ¨Interrupt£©¡£Òì³£µÄÖÖÀàÈçÏ£º
              
£¨2£©Äں˿ØÖÆ·¾¶
       ÄÚºËÔÚÔÊÐíÖжÏÐźŵ½À´Ö®Ç°£¬±ØÐëÏÈ×¼±¸ºÃ¶ÔËüÃǵĴ¦Àí£¬Ò²¾ÍÊÇÊʵ±µØ³õʼ»¯ÖжÏÃèÊö·û±í£¨Interrupt Descriptor Table, IDT£©¡£ÖжÏÐźÅÒ»À´£¬CPU¿ØÖƵ¥Ôª¾Í×Ô¶¯°Ñµ±Ç°µÄ³ÌÐò¼ÆÊýÆ÷£¨eip¡¢cs£©ºÍeflags±£´æµ½ÄÚºËstack£¬È»ºó°ÑÊÂÏÈÓë·¢ÉúµÄÖжÏÐźÅÀàÐ͹ØÁªºÃµÄ´¦Àí³ÌÐòµÄµØÖ·£¨±£´æÔÚIDTÖУ©·Å½ø³ÌÐò¼ÆÊýÆ÷¡£Õâʱ£¬Äں˿ØÖÆ·¾¶£¨kernel control path£©ºá¿Õ³öÊÀ¡£
  &n ......

linuxĿ¼ºÍÎļþϵͳ

Linux ºÍ Unix Îļþϵͳ±»×éÖ¯³ÉÒ»¸öÓвã´ÎµÄÊ÷Ðνṹ¡£ÎļþϵͳµÄ×îÉϲãÊÇ /£¬»ò³ÆΪ ¸ùĿ¼¡£ÔÚ Unix ºÍ Linux µÄÉè¼ÆÀíÄîÖУ¬Ò»ÇнÔΪÎļþ——°üÀ¨Ó²ÅÌ¡¢·ÖÇøºÍ¿É²å°Î½éÖÊ¡£Õâ¾ÍÒâζ×ÅËùÓÐÆäËüÎļþºÍĿ¼£¨°üÀ¨ÆäËüÓ²Å̺ͷÖÇø£©¶¼Î»ÓÚ¸ùĿ¼ÖС£ ÀýÈ磺/home/jebediah/cheeses.odt ¸ø³öÁËÕýÈ·µÄÍêÕû·¾¶£¬ËüÖ¸Ïò cheeses.odt Îļþ£¬¶ø¸ÃÎļþλÓÚ jebediah Ŀ¼Ï£¬¸ÃĿ¼ÓÖλÓÚ home Ŀ¼£¬×îºó£¬home Ŀ¼ÓÖλÓÚ¸ù(/) Ŀ¼Ï¡£ ÔÚ¸ù (/) Ŀ¼Ï£¬ÓÐÒ»×éÖØÒªµÄϵͳĿ¼£¬ÔÚ´ó²¿·Ö Linux ·¢ÐаæÀﶼͨÓá£Ö±½ÓλÓÚ¸ù (/) Ŀ¼Ïµij£¼ûĿ¼ÁбíÈçÏ£º
/bin - ÖØÒªµÄ¶þ½øÖÆ (binary) Ó¦ÓóÌÐò
/boot - Æô¶¯ (boot) ÅäÖÃÎļþ
/dev - É豸 (device) Îļþ
/etc - ÅäÖÃÎļþ¡¢Æô¶¯½Å±¾µÈ (etc)
/home - ±¾µØÓû§Ö÷ (home) Ŀ¼
/lib - ϵͳ¿â (libraries) Îļþ
/lost+found - ÔÚ¸ù (/) Ŀ¼ÏÂÌṩһ¸öÒÅʧ+²éÕÒ(lost+found) ϵͳ
/media - ¹ÒÔØ¿ÉÒƶ¯½éÖÊ (media)£¬ÖîÈç CD¡¢ÊýÂëÏà»úµÈ
/mnt - ¹ÒÔØ (mounted) Îļþϵͳ
/opt - Ìṩһ¸ö¹©¿ÉÑ¡µÄ (optional) Ó¦ÓóÌÐò°²×°Ä¿Â¼
/proc - ÌØÊâµÄ¶¯Ì¬Ä¿Â¼£¬ÓÃÒÔά»¤ÏµÍ³ÐÅÏ¢ºÍ״̬£¬°üÀ¨µ±Ç°ÔËÐÐÖнø³Ì ......

Linux½ø³Ì¼äͨѶ֮ÏûÏ¢¶ÓÁÐ


1. »ù±¾¸ÅÄî
ÏûÏ¢¶ÓÁеÄ×î¼Ñ¶¨ÒåÊÇ£ºÄں˵ØÖ·¿Õ¼äÖеÄÄÚ²¿Á´±í¡£ÏûÏ¢¿ÉÒÔ˳ÐòµØ·¢Ë͵½¶ÓÁÐÖУ¬
²¢ÒÔ¼¸ÖÖ²»Í¬µÄ·½Ê½´Ó¶ÓÁÐÖлñÈ¡¡£µ±È»£¬Ã¿¸öÏûÏ¢¶ÓÁж¼ÊÇÓÉ IPC±êʶ·ûËùΨһ±êʶµÄ¡£
2. ÄÚ²¿ºÍÓû§Êý¾Ý½á¹¹
ÒªÍê³ÉÀí½âÏóϵͳ V IPCÕâÑù¸´ÔÓµÄÎÊÌ⣬¹Ø¼üÊÇÒª³¹µ×ÊìϤÄں˵ļ¸¸öÄÚ²¿Êý¾Ý½á¹¹¡£
ÉõÖÁ¶ÔÄÇЩ×î»ù±¾µÄ²Ù×÷À´Ëµ£¬Ö±½Ó·ÃÎÊÕâЩ½á¹¹ÖеÄij¼¸¸ö½á¹¹Ò²ÊDZØÒªµÄ£¬¶øÆäËûµÄ½á
¹¹ÔòÍ£ÁôÔÚÒ»¸ö¸üµÍµÄ¼¶±ðÉÏ¡£
3. ÏûÏ¢»º³åÇø
ÎÒÃÇÒª½éÉܵĵÚÒ»¸ö½á¹¹ÊÇ msgbuf½á¹¹¡£Õâ¸öÌØÊâµÄÊý¾Ý½á¹¹¿ÉÒÔÈÏΪÊÇÏûÏ¢Êý¾ÝµÄÄ£
°å¡£ËäÈ»¶¨ÒåÕâÖÖÀàÐ͵ÄÊý¾Ý½á¹¹ÊdzÌÐòÔ±µÄÖ°Ô𣬵«ÊǶÁÕß¾ø¶Ô±ØÐëÖªµÀʵ¼ÊÉÏ´æÔÚ
msgbufÀàÐ͵Ľṹ¡£ËüÊÇÔÚÔÚ linux/msg.hÖж¨ÒåµÄ£¬ÓÐ2¸ö³ÉÔ±£º
• mtype—ËüÊÇÏûÏ¢ÀàÐÍ£¬ÒÔÕýÊýÀ´±íʾ¡£Õâ¸öÊý±ØÐëΪһ¸öÕýÊý£¡
• mtext—Ëü¾ÍÊÇÏûÏ¢Êý¾Ý¡£
 
4. ÄÚºËmsg½á¹¹
Äں˰ÑÏûÏ¢¶ÓÁÐÖеÄÿ¸öÏûÏ¢¶¼´æ·ÅÔÚ msg½á¹¹µÄ¿ò¼ÜÖС£¸Ã½á¹¹ÊÇÔÚ linux/msg.hÖж¨Òå
µÄ£¬ÈçÏÂÊÇÆä³ÉÔ±µÄÃèÊö£º
• msg_next—ÕâÊÇÒ»¸öÖ¸Õ룬ָÏòÏûÏ¢¶ÓÁÐÖеÄÏÂÒ»¸öÏûÏ¢¡£ÔÚÄÚºËÑ°Ö·¿Õ¼äÖУ¬ËüÃÇ
Êǵ±×÷Ò»¸öÁ´±í´æ´¢µÄ¡£
• msg_type—ÕâÊ ......

S3C24XXÌåϵµÄLinux GPIO¿ØÖÆÏà¹ØAPIʵÏÖ

GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀ­µç×è(ÉÏÀ­£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ­£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ­»òÏÂÀ­µç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬¼´Í¨¹ý¶ÔÄÚ²¿¼Ä´æÆ÷µÄÉèÖÃʹÒý½Å¼È¿ÉÒÔ¹¤×÷ÔÚÒ»°ãģʽ£¬×÷ΪÆÕͨµÄGPIO¿ÚʹÓã¬Ò²¿ÉÒÔ¹¤×÷ÔÚÌØÊâģʽ£¬±ÈÈç×÷ΪÍⲿÖжÏÐźÅÊäÈëÒý½ÅµÈµÈ¡£Èç¹û²»ÉèÖÃGPIOÒý½Å£¬CPU¹¤×÷ʱÓÐÒ»¸ö³õʼ»¯Ä£Ê½£¬¿ÉÒÔ´Ódatasheet£¨Ð¾Æ¬ÊֲᣩÉÏÁ˽⡣¶ÔGPIOµÄ¿ØÖÆÊDZàдÇý¶¯³ÌÐò×î³£¼ûºÍÖØÒªµÄÒ»Ï×÷ÄÚÈÝ¡£
ÔÚLinux2.6.25Äں˴úÂëÖУ¬ÒѾ­ÌṩÁËÕë¶ÔÈýÐÇS3C2410/S3C2440µÈоƬGPIOµÄ¿ØÖÆ£¬ÏÂÃæÀ´·Ö±ð½éÉÜÒ»°ãÈçºÎÅäÖᢹÜÀíGPIO¡£
       ÏÂÃæµÄº¯ÊýÊÇÓÃÀ´¸ù¾ÝÐµĹ¦ÄÜÐèÇóÅäÖÃÒ»¸öGPIOÒý½Å£¨¶¨ÒåÔÚarch/arm/plat-s3c24xx/gpio.c£©£º
     1    void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
     2    {
     3  ......

S3C24XXÌåϵµÄLinux GPIO¿ØÖÆÏà¹ØAPIʵÏÖ

GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀ­µç×è(ÉÏÀ­£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ­£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ­»òÏÂÀ­µç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬¼´Í¨¹ý¶ÔÄÚ²¿¼Ä´æÆ÷µÄÉèÖÃʹÒý½Å¼È¿ÉÒÔ¹¤×÷ÔÚÒ»°ãģʽ£¬×÷ΪÆÕͨµÄGPIO¿ÚʹÓã¬Ò²¿ÉÒÔ¹¤×÷ÔÚÌØÊâģʽ£¬±ÈÈç×÷ΪÍⲿÖжÏÐźÅÊäÈëÒý½ÅµÈµÈ¡£Èç¹û²»ÉèÖÃGPIOÒý½Å£¬CPU¹¤×÷ʱÓÐÒ»¸ö³õʼ»¯Ä£Ê½£¬¿ÉÒÔ´Ódatasheet£¨Ð¾Æ¬ÊֲᣩÉÏÁ˽⡣¶ÔGPIOµÄ¿ØÖÆÊDZàдÇý¶¯³ÌÐò×î³£¼ûºÍÖØÒªµÄÒ»Ï×÷ÄÚÈÝ¡£
ÔÚLinux2.6.25Äں˴úÂëÖУ¬ÒѾ­ÌṩÁËÕë¶ÔÈýÐÇS3C2410/S3C2440µÈоƬGPIOµÄ¿ØÖÆ£¬ÏÂÃæÀ´·Ö±ð½éÉÜÒ»°ãÈçºÎÅäÖᢹÜÀíGPIO¡£
       ÏÂÃæµÄº¯ÊýÊÇÓÃÀ´¸ù¾ÝÐµĹ¦ÄÜÐèÇóÅäÖÃÒ»¸öGPIOÒý½Å£¨¶¨ÒåÔÚarch/arm/plat-s3c24xx/gpio.c£©£º
     1    void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
     2    {
     3  ......

²é¿´linuxϵͳλÊý·½·¨£¨32£¿64£¿£©


1.Ö±½Ó¿´¿´ÓÐûÓÐ/lib64ĿĿ¼µÄ·½·¨¡£64λµÄϵͳ»áÓÐ/lib64ºÍ/libÁ½¸öĿ¼£¬32λֻÓÐ/libÒ»¸ö¡£
2.getconf LONG_BIT
£¨32λµÄϵͳÖÐintÀàÐͺÍlongÀàÐÍÒ»°ã¶¼ÊÇ4×Ö½Ú£¬64λµÄϵͳÖÐintÀàÐÍ»¹ÊÇ4×ֽڵģ¬µ«ÊÇlongÒѱä³ÉÁË8×Ö½ÚinuxϵͳÖпÉÓÃ"getconf WORD_BIT"ºÍ"getconf LONG_BIT"»ñµÃwordºÍlongµÄλÊý¡£64λϵͳÖÐÓ¦¸Ã·Ö±ðµÃµ½32ºÍ64¡££©
......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [74] [75] [76] [77] 78 [79] [80] [81] [82] [83]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ