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

LinuxÉ豸ģÐÍÖ®ttyÇý¶¯¼Ü¹¹·ÖÎö


LinuxÉ豸ģÐÍÖ®ttyÇý¶¯¼Ü¹¹·ÖÎö
 
À´Ô´: ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º 2008.07.25 16:24¡¡(¹²ÓÐ0ÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
 
------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»£ºÇ°ÑÔ
TtyÕâ¸öÃû³ÆÔ´Óڵ紫´ò×ֽڵļò³Æ¡£ÔÚlinux±íʾ¸÷ÖÖÖÕ¶Ë¡£ÖÕ¶Ëͨ³£¶¼¸úÓ²¼þÏà¶ÔÓ¦¡£±ÈÈç¶ÔÓ¦ÓÚÊäÈëÉ豸¼üÅÌÊó±ê¡£Êä³öÉ豸ÏÔʾÆ÷µÄ¿ØÖÆÖն˺ʹ®¿ÚÖÕ¶Ë.Ò²ÓжÔÓ¦ÓÚ²»´æÔÚÉ豸µÄptyÇý¶¯¡£ÔÚÈç´ËÖÚ¶àµÄÖÕ¶ËÄ£ÐÍÖ®ÖУ¬linuxÊÇÔõô½«ËüÃÇͳһ½¨Ä£µÄÄØ?Õâ¾ÍÊÇÎÒÃǽñÌìÒªÌÖÂÛµÄÎÊÌâ.
¶þ£ºttyÇý¶¯¸Åò
Tty¼Ü¹¹ÈçÏÂËùʾ£º
ÈçÉÏͼËùʾ,Óû§¿Õ¼äÖ÷ÒªÊÇͨ¹ýÉ豸Îļþͬtty_core½»»¥.tty_core¸ù¾ÝÓÿռä²Ù×÷µÄÀàÐÍÔÙÑ¡Ôñ¸úline disciplineºÍtty_driver½»»¥.ÀýÈçÉèÖÃÓ²¼þµÄioctlÖ¸Áî¾ÍÖ±½Ó½»¸øtty_driver´¦Àí¡£ReadºÍwrite²Ù×÷¾Í»á½»¸øline discipline´¦Àí.
Line disciplineÊÇÏß·¹æ³ÌµÄÒâ˼¡£ÕýÈçËüµÄÃû×ÖÒ»Ñù£¬Ëü±íʾµÄÊÇÕâÌõÖÕ¶Ë”Ï߳̔µÄÊäÈëÓëÊä³ö¹æ·¶ÉèÖÃ.Ö÷ÒªÓÃÀ´½øÐÐÊäÈë/Êä³öÊý¾ÝµÄÔ¤´¦Àí¡£´¦ÀíÖ®ºó¡£¾Í»á½«Êý¾Ý½»¸øtty_driver
Tty_driver¾ÍÊÇÖն˶ÔÓ¦µÄÇý¶¯ÁË¡£Ëü½«×Ö·ûת»»³ÉÖÕ¶Ë¿ÉÒÔÀí½âµÄ×Ö´®.½«Æä´«¸øÖÕ¶ËÉ豸¡£
ÖµµÃ×¢ÒâµÄÊÇ,Õâ¸ö¼Ü¹¹Ã»ÓÐΪtty_driveroÌṩread²Ù×÷¡£Ò²¾ÍÊÇ˵tty_core ºÍline discipline¶¼Ã»Óа취´Ótty_driverÀïÖ±½Ó¶ÁÖÕ¶ËÐÅÏ¢¡£ÕâÊÇÒòΪtty_driver¶Ô¾ÍµÄhardware²¢²»Ò»¶¨ÊÇÊäÈëÊý¾ÝºÍÊä³öÊý¾ÝµÄ¹²Í¬¸ºÔØÕß¡£ÀýÈç¿ØÖÆÖÕ¶Ë£¬Êä³öÉ豸ÊÇÏÔʾÆ÷¡£ÊäÈëÉ豸ÊǼüÅÌ¡£»ùÓÚÕâÑùµÄÔ­Àí¡£ÔÚline disciplineÖÐÓÐÒ»¸öÊäÈ뻺´æÇø¡£²¢ÌṩÁËÒ»¸öÃû½Ðreceive_buf()µÄ½Ó¿Úº¯Êý¡£¶ÔÓ¦µÄÖÕ¶ËÉ豸ֻҪµ÷ÓÃline discipineµÄreceiver_bufº¯Êý£¬½«Êý¾ÝдÈëµ½ÊäÈ뻺´æÇø¾Í¿ÉÒÔÁË¡£
Èç¹ûÒ»¸öÉ豸ͬʱÊÇÊäÈëÉ豸ÓÖÊÇÊä³öÉ豸¡£ÄÇÔÚÉ豸µÄÖжϴ¦ÀíÖе÷ÓÃreceive_buf()½«Êý¾ÝдÈë¼´¿É.
Èý£ºttyÇý¶¯½Ó¿Ú·ÖÎö
¾ßÌåµÄttyÇý¶¯Éè¼Æ¿ÉÒԲο¼LDD3¡£ÕâÀïÖ»¶ÔËüµÄ½Ó¿ÚʵÏÖ×öÒ»¸ö·ÖÎö.tty driverµÄËùÓвÙ×÷¶¼°üº¬ÔÚtty_driverÖС£Äں˼´¹©ÁËÒ»¸öÃû½Ðalloc_tty_driver()À´·ÖÅäÕâ¸ötty_driver¡£µ±È»ÎÒÃÇÒ²¿ÉÒÔÔÚ×Ô¼ºµÄÇý¶¯Öн«Ëü¶¨Òå³ÉÒ»¸ö¾²Ì¬µÄ½á¹¹¡£¶Ôtty_driver½øÐÐһЩ±ØÒªµÄ³õʼ»¯Ö®ºó£¬µ÷ÓÃtty_register_driver()½«Æä×¢²á.
alloc_tty_driver()½Ó¿Ú´úÂëÈçÏÂËùʾ£º
struct tty_driver *alloc_tty_driver(int lines)
{
   &


Ïà¹ØÎĵµ£º

LinuxµÄ¼¸¸ötip

1. ÓÐЩÃüÁî²ÎÊý¹ý¶à£¬¿ÉÒÔÓÃgrepÀ´·½±ã²éÕÒ£¬È磺
                    iptables -h 2>&1|grep '\-A'
ÆäÖÐ2>&1½«stderrתÏòstdout£¬È»ºóÎÒÃǾͿÉÒÔͨ¹ýgrepÕÒµ½ÐèÒªµÄÑ¡ÏҪעÒâµÄÊǺá¸Ë֮ǰҪ¼Ó·´Ð±¸ ......

LinuxÖ®VIÃüÁîÏê½â

viÊÇËùÓÐUNIXϵͳ¶¼»áÌṩµÄÆÁÄ»±à¼­Æ÷£¬ËüÌṩÁËÒ»¸öÊÓ´°É豸£¬Í¨¹ýËü¿ÉÒԱ༭Îļþ¡£µ±È»£¬¶ÔUNIXϵͳÂÔÓÐËùÖªµÄÈË£¬
»ò¶à»òÉÙ¶¼¾õµÃvi³¬¼¶ÄÑÓ㬵«viÊÇ×î»ù±¾µÄ±à¼­Æ÷£¬ËùÒÔÏ£Íû¶ÁÕßÄܺúðÑËüѧÆðÀ´£¬ÒÔºóÔÚUNIXÊÀ½çÀï±Ø½«³©ÐÐÎÞ×è¡¢
ÓÎÈÐÓÐÓ࣬ÒòΪÆäËû¼¸ÖÖÎı¾´¦ÀíÆ÷²¢·ÇUNIX±ê×¼Å䱸¡£Ëµ²»¶¨±ðÈ˵ÄLinux»úÆ÷û°²×°j ......

LINUX C³ÌÐò¿ª·¢Ã¿ÈÕÒ»Ìâ——Ö¸Õë

 
ʵÏÖÒ»¸öÁ´±í£¬Íê³ÉÁ´±íµÄ²åÈ룬²éÕÒ£¬É¾³ý
 
typedef struct _FIFO_M{
  void *pdata;
struct _FIFO_M *pNext;
}FIFO_M,* pFIFO_M;
 
typedef struct _FIFO{
pFIFO_M head;
pFIFO_M tail;
pFIFO_M pos;
int mcount;//½Úµã¸öÊý
int max_count;//½Úµã×î´ó¸öÊý¡£
}FIFO,* pFIFO;
......

linux ÅäÖÃ telnet

1¡¢²é¿´telentÊÇ·ñ°²×°£ºrpm  -q 
telnet
      
      [root@localhost root]#rpm -qa Linux telnet
 
      Linux telnet-0.17-25  
      //Linux&n ......

LinuxÇý¶¯ USB

USBÊÇ´ó¼Ò³£¼ûµÄ£¬É豸×ÜÏß¡£ Õâ¸öUSB·ÖΪÁ½¸ö²¿·Ö£ºÖ÷»ú£¬É豸¡£ ËûÊÇÒ»¸öÊ÷ÐεĹØÏµ£º             Ö÷»ú
   É豸    É豸     É豸 Ö÷»úÀï×°µÄÊÇ£¬Ö÷»ú¿ØÖÆÆ÷£¬É豸ÖÐ×°µÄÊÇÉ豸¿ØÖÆÆ÷ Host Controller ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ