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

LinuxÏÂtty¡¢consule¡¢´®¿ÚÖ®¼äµÄ¹ØÏµÊÕ¼¯

 1¡¢LINUXÏÂTTY¡¢CONSOLE¡¢´®¿ÚÖ®¼äÊÇÔõÑùµÄ²ã´Î¹ØÏµ£¿¾ßÌåµÄº¯Êý½Ó¿ÚÊÇÔõÑùµÄ£¿´®¿ÚÊÇÈçºÎ±»µ÷Óõģ¿
      ttyºÍconsoleÕâЩ¸ÅÄîÖ÷ÒªÊÇһЩÐéÄâÉ豸µÄ¸ÅÄ¶ø´®¿Ú¸ü¶àµÄÊÇÖ¸Ò»¸öÕæÕýµÄÉ豸Çý¶¯¡£Ttyʵ¼ÊÊÇÒ»ÀàÖÕ¶ËI/OÉ豸µÄ³éÏó£¬Ëüʵ¼ÊÉϸü¶àµÄÊÇÒ»¸ö¹ÜÀíµÄ¸ÅÄĿµÄÊÇÏòÉϲãµÄVFSÌṩһ¸öͳһµÄ½Ó¿Ú¡£Í¨¹ýfile_operations½á¹¹ÖеÄtty_ioctl¿ÉÒÔ¶ÔÆä½øÐÐÅäÖᣲétty_driver£¬Ä㽫µÃµ½n¸ö½á¹û£¬Êµ¼Ê¶¼ÊÇÏà¹ØÐ¾Æ¬µÄÇý¶¯¡£Òò´Ë£¬¿ÉÒԵõ½µÄ½áÂÛÊÇ£ºÃ¿¸öÃèÊöttyÉ豸µÄtty_structÔÚ³õʼ»¯Ê±±ØÈ»¹Ò½ÓÁËij¸ö¾ßÌåоƬµÄ×Ö·ûÉ豸Çý¶¯£¨²»Ò»¶¨ÊÇ×Ö·ûÉ豸£©£¬¿ÉÒÔÊǺܶ࣬°üÀ¨ÏÔ¿¨»ò´®¿Úchip¡£
      ¶øconsoleÊÇÒ»¸ö»º³åµÄ¸ÅÄËüµÄÄ¿µÄÓÐÒ»µãÀàËÆÓÚtty¡£Êµ¼ÊÉÏconsole²»½öºÍttyÁ¬ÔÚÒ»Æð£¬»¹ºÍframebufferÁ¬ÔÚÒ»Æð£¬¾ßÌåµÄÔ­Òò¿´ÏÂÃæµÄ¼üÅ̵ÄÖжϴ¦Àí¹ý³Ì¡£TtyµÄÒ»¸ö×Ó¼¯ÐèҪʹÓÃconsole(µäÐ͵ÄÈçÖ÷É豸ºÅ4£¬´ÎÉ豸ºÅ1¨D64)£¬µ«ÊÇҪעÒâµÄÊÇûÓÐconsoleµÄttyÊÇ´æÔڵġ£¶ø´®¿ÚÔòÖ¸µÄÊÇtty_driver¡£ ¾Ù¸öµäÐ͵ÄÀý×Ó£¬·ÖÎöһϼüÅ̵ÄÖжϴ¦Àí¹ý³Ì£º
keyboard_interrupt¨D>handle_kbd_event¨D>handle_keyboard_event¨D>handle_scancode
void handle_scancode(unsigned char scancode, int down)
{
     ……..
     tty = ttytab? ttytab[fg_console]: NULL;
     if (tty && (!tty->driver_data)) {
         ……………
         tty = NULL; 
     }
     ………….
     schedule_console_callback();

Õâ¶Î´úÂëÖеÄÁ½¸öµØ·½ºÜÖµµÃ×¢Ò⣬Ҳ¾ÍÊdzýÁË»ñµÃttyÍ⣨ͨ¹ýÈ«¾ÖÁ¿tty¼Ç¼£©£¬»¹½øÐÐÁËconsole»ØÏÔschedule_console_callback¡£TtyºÍconsoleµÄ¹ØÏµÔÚ´ËÒѾ­ºÜÃ÷ÁË£¡£¡£¡
2¡¢printkº¯ÊýÊǰÑÐÅÏ¢·¢Ë͵½¿ØÖÆÌ¨Éϰɣ¿ÈçºÎÈÃPRINTK°ÑÐÅϢͨ¹ý´®¿ÚËͳö£¿»òÕß˵ϵͳÔÚʲôµØ·½À´¾ö¶¨Êǽ«ÐÅÏ¢Ë͵½ÏÔʾÆ÷»¹ÊÇ´®¿Ú£¿ ¾ßÌå¿´Ò»ÏÂprintkº¯ÊýµÄʵÏÖ¾ÍÖªµÀÁË£¬printk²»Ò»¶¨Êǽ«ÐÅÏ¢Íù¿ØÖÆÌ¨ÉÏÊä³ö£¬ÉèÖÃkernelµÄÆô¶¯²ÎÊý¿ÉÄÜ¿ÉÒÔ´ïµ½½«ÐÅÏ¢Ë͵½ÏÔʾÆ÷µÄ


Ïà¹ØÎĵµ£º

linux ×Ô¶¯¹ÒÔØÓ²ÅÌ

Ò».²é¿´ËùÓÐÓ²Å̵Äuuid
ls -all /dev/disk/by-uuid
longseakerµÄʵÀý
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 05434a61-8a78-4ee5- a5db-6a49079b9e3d -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 07D8-0104 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-09-19 08:17 18201249-998a-4bb1 ......

googleÔõÑùʹÓÃlinux£¨Äںˣ©


googleÔõÑùʹÓÃlinux£¨Äںˣ©
½ñÄêµÄlinuxÄں˿ª·¢´ó»áÉÏ£¬googleµÄ¿ª·¢ÈËÔ±Ò²ÉĮ̈×öÁËÃûΪ“how google use linux"µÄÑݽ²¡£ÎÒ¶·µ¨·­Òë×¢½âÒ»·¬——À¨ºÅÄÚΪע½â£¬»¶Ó­¶ÁÕ߸«Õý¡£
£¨Ç°Ã漸¶Î½²google¶Ôlinux kernel´úÂëµÄ¹ÜÀí¼°¸ú½ø£¬Æ«Ï¸Ë飬²»·­ÒëÁË£©
ÔÚgoogleΪlinux¼ÓÈëµÄ´úÂëÖУ¬3/4ÊǶÔÄں˺ËÐÄ ......

´Ó»úÆ÷µÄÅäÖÃdz̸Linux°æ±¾µÄÑ¡Ôñ

×¢£ºÕâÆªÎÄÕ±ȽϾɣ¬µ«ÊÇÓÐÒ»¶¨µÄ²Î¿¼¼ÛÖµ~~×Ô¼ºÊÔ¹ýµÄLinux²»¶à£¬ËùÒÔ»¹ÊÇÓÐÒª²Î¿¼µÄµØ·½¡£
Ô­ÎÄÁ´½Ó£ºhttp://www.linux521.com/2009/newbie/200904/1963.html
ĿǰLinuxÔÚ¹úÄÚ½øÈëÁËÒ»¸ö½Ï¿ìËٵķ¢Õ¹½×¶Î,ÕýÈçÎÒÃÇ¿´µ½µÄ,Ðí¶àµÄWindowsÓû§×ªÍ¶
LinuxÕóÓª.ÓÉÓÚLinux±¾ÉíÊÇÒ»¸ö¿ª·ÅµÄ²Ù×÷ϵͳ,Òò¶øÓµÓÐÖÚ¶àµÄ·¢ÐÐ°æ°æ± ......

LinuxÖÐselectº¯Êýѧϰ¼°ÊµÀý±Ê¼Ç

UnixÖеĺ¯ÊýselectºÍpollÓÃÀ´£¬Ö§³ÖUnixÖÐI/O¸´ÓõŦÄÜ£¬ÔÚUnixÖÐI/OÄ£ÐÍ¿ÉÒÔ·ÖΪÒÔÒ»¼¸ÖÖ£º
£¨1£©×èÈûI/O
£¨2£©·Ç×èÈûI/O
£¨3£©I/O¸´Óã¨selectºÍpoll£©
£¨4£©ÐźÅÇý¶¯I/O(SIGIO)
£¨5£©Òì²½I/O
   ÆäÖУ¬ÏÖÔڱȽÏÁ÷ÐеÄI/OÄ£ÐÍÊÇ×èÈûI/OÄ£ÐÍ.×èÈûI/OÊǵ±Ó¦ÓóÌÐòºÍÄں˽»»»Êý¾Ýʱ£¬ÓÉÓÚÄں˻¹Ã»ÓÐ×¼±¸ºÃ ......

ÈçºÎÈýø³ÌÔÚLinuxºǫ́ÔËÐÐ

ÔÚLinuxÖУ¬Èç¹ûÒªÈýø³ÌÔÚºǫ́ÔËÐУ¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÔÚÃüÁîºóÃæ¼ÓÉÏ&¼´¿É£¬Êµ¼ÊÉÏ£¬ÕâÑùÊǽ«ÃüÁî·ÅÈëµ½Ò»¸ö×÷Òµ¶ÓÁÐÖÐÁË£º
[root@localhost /]# ./test.sh &
[1] 17208
È»ºóÎÒÃǾͿÉÒÔÓÃÒÔÏÂÃüÁî½øÐв鿴£º
[root@localhost /]# jobs -l
[1]  17208 Running ./test.sh &
¶ÔÓÚÒѾ­ÔÚǰִ̨ÐеÄÃüÁî ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ