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

Linux TTY Çý¶¯

Ïà¹ØÁ´½Ó£º
http://blog.csdn.net/dongliqiang2006/archive/2009/09/05/4523563.aspx
 
×Ö·ûÉ豸
1£¬×Ö·ûÉ豸²ã
ÔÚLinuxÖÐÊÇ×÷Ϊһ¸öÎļþÀ´³öÏֵģ¬ËùÓжÔ×Ö·ûÉ豸µÄ²Ù×÷¶¼ÊÇͨ¹ýfile_operations½Ó¿ÚÀ´½øÐеģº
struct cdev {
struct kobject kobj;
struct module *owner;
const struct file_operations *ops;
struct list_head list;
dev_t dev;
unsigned int count;
};
void cdev_init(struct cdev *, const struct file_operations *);
Õâ¸öº¯Êý³õʼ»¯Ö¸¶¨µÄcdev½á¹¹£ºÆäÖÐ×îÖØÒªµÄ²½Öè¾ÍÊÇÉèÖÃops
static struct kobj_map *cdev_map;
int cdev_add(struct cdev *, dev_t, unsigned);
cdev_mapÓ¦¸ÃÊÇËùÓÐcdevµÄÒ»¸ö¼¯ºÏ£¬cdev_addº¯Êý¸ºÔð°ÑÖ¸¶¨µÄcdev¼ÓÈëµ½Õâ¸ö¼¯ºÏÖУ¬ÒÔ±ãÒÔºóµÄ²éѯ
2£¬line_discipline²ã£¨Ïß·¹æ³Ì£©
ÕâÒ»²ãͨ¹ýtty_structµÄldisc³ÉԱʵÏÖ²»Í¬µÄÏß·¹æ³Ì£¬¸ºÔðÁ¬½ÓÉϲãµÄÎļþ²Ù×÷ºÍϲãµÄtty²Ù×÷£¬²¢ÇÒ¼ÓÈëÏß·¹æ³Ì²ãµÄ´¦ÀíÂß¼­£»ÀýÈçtty_writeÊǵ¼³ö¸øÉϲãÎļþµÄд²Ù×÷º¯Êý£¬Õâ¸öº¯ÊýÒ»°ã»áµ÷ÓÃÏß·¹æ³Ì³ÉÔ±ldiscµÄwriteº¯Êý£¬ÔÙÓɺóÕßµ÷ÓÃttyÇý¶¯£¨ÀýÈçn_ttyÖоÍÊǵ÷ÓÃwrite_chanµÄ£©£¬È«²¿µÄµ¼³öº¯ÊýÈçÏ£º
static const struct file_operations tty_fops = {
.llseek = no_llseek,
.read = tty_read,
.write = tty_write,
.poll = tty_poll,
.ioctl = tty_ioctl,
.open = tty_open,//tty_openÊǸö±È½ÏÖØÒªµÄº¯Êý£¬ÒòΪÕâ¸öº¯Êý»áµ÷ÓÃinit_dev£¬ºóÕß»á³õʼ»¯ÖØÒªµÄ½á¹¹tty_struct£¬²¢ÇÒÉèÖÃfileµÄprivate_dataΪtty_structʵÀý
.release = tty_release,
.fasync = tty_fasync,
};
3£¬tty²ã
½éÓÚÏß·¹æ³Ì²ãºÍÓ²¼þÇý¶¯Ö®¼ä£¬ÏòÉÏΪÏß·¹æ³ÌÌṩ½Ó¿Ú£¨tty_driver£©£¬ÏòÏÂÔòÌṩӲ¼þ¹ÜÀí£¨ÀýÈçtty_operations.start£©£»Ð´²Ù×÷£¨ÀýÈçtty_operations.write£©ÏòÏß·¹æ³Ì²ãÌṩ£¨ÒòΪЩ²Ù×÷Ò»°ã¶¼ÊÇÏß·¹æ³Ì²ãÖ÷¶¯·¢Æð£¬¶ø¶Á²Ù×÷ÔòÊÇÓ²¼þ²ãÖ÷¶¯·¢Æð£©£¬ËùÓеÄд²Ù×÷Êý¾Ý¶¼ÊǽøÈëµ½tty²ãµÄÒ»¸öcircle bufferÖУ¬tty²ã»áÔÚÊʵ±µÄʱºòµ÷ÓÃÓ²¼þ²ãµÄд²Ù×÷À´Êä³öÕâЩÊý¾Ý£»¶ø¶Á²Ù×÷£¨ÀýÈçtty_insert_flip_string£©ÔòÏòÓ²¼þ²ãÌṩ£¬ËùÓжÁÈëÊý¾Ý¶¼´æ·ÅÔÚttyµÄread bufferÖУ¬ÔÚÊʵ±µÄʱºòread bufferÖеÄÊý¾Ý»áͨ¹ýflush_to_ldiscº¯ÊýÍÆË͵½Ïß·¹æ³Ì²ã£¨¾ßÌåµÄÓ²¼þÇý¶¯ÔÚÍê³ÉÊý¾Ý½ÓÊÕºó£¬ÐèÒªµ÷ÓÃtty_flip_buffer_pushº¯ÊýÀ´ÍÆËÍÊý¾Ý£©
×¢£ºtty_bufhead½á¹¹ÖÐÓÐÒ»¸öwork_struct½á¹¹£¬Õâ¸ö½á¹¹¸ºÔð


Ïà¹ØÎĵµ£º

linux³õѧ֮ËöËé֪ʶµãÕûÀíÈý

Èí¼þ°²×°ÃüÁî
1. tar
tar ÃüÁîµÄ»ù±¾Ó÷¨Îª£º
tar [Ñ¡Ïî] ÎļþÃû
³£ÓõÄÑ¡Ïî°üÀ¨ 
-c ´´½¨Ò»¸öеĵµ°¸Îļþ
-t ²é¿´µµ°¸ÎļþµÄÄÚÈÝ
-x ·Ö½âµµ°¸ÎļþµÄÄÚÈÝ
-f Ö¸¶¨µµ°¸ÎļþµÄÃû³Æ
-v ÏÔʾ¹ý³ÌÐÅÏ¢
-z ²ÉÓÃѹËõ·½Ê½
¾ÙÀý 
1 tar -czf oracle.tar.gz /u01/app/oracle /etc/oratab /home/oracl ......

LinuxÖÐÁ½¿î²¢·¢²âÊÔ¹¤¾ßab&webbench

ÉùÃ÷£º
1¡¢Ä¿Ç°ÎҶԓѹÁ¦²âÊÔ”ºÍ“¸ºÔزâÊÔ”ÕâÁ½¸ö¸ÅÄîµÄÇø±ð»¹²»Çå³þ£¬ËùÒÔʹÓÓ²¢·¢²âÊÔ”Ò»´Ê´úÌæ
2¡¢ÑÝʾ·Ö±ðʹÓÃabºÍwebbench¶Ôphpinfo()µÄÒ³Ãæ½øÐÐ100²¢·¢³ÖÐø5ÃëÖÓ²âÊÔ
Ê×ÏÈÀ´¿´Ò»ÏÂ×îÊÜ»¶Ó­µÄ¡¢ËæapacheÒ»Æð´ò°ü·¢²¼µÄab£¬Ê¹Óüòµ¥·½±ã
¿ÉÒÔ¿´³ö²âÊÔ½á¹û½ÏΪÏêϸ£¬³ýÁ˼¸ÏîÖ ......

ϵͳ¼à¿Ø:linuxÃüÁîÐÐ ·ÉÐſͻ§¶Ë·¢ËÍÃâ·Ñ±¨¾¯¶ÌÐÅ

linuxÃüÁîÐÐÏÂÓÃFetion·ÉÐÅ·¢ËÍÃâ·Ñ¶ÌÐÅ
Ò»¡¢×îа汾2009
ͨ¹ýlinuxÃüÁîÐÐÀ´·¢ËͶÌÐŵķ½·¨£¬¾õµÃÉõÊǺÃÓã¬ÊÊÓÃÔËά¼à¿Ø¡£ÕâÀïÏò´ó¼ÒÍÆ¼öµÄÊÇ·ÉÐÅ»úÆ÷È˵ÄÈí¼þ£¬Ö§³Ölinux¡¢ÃüÁîÐÐϵķÉÐÅ¡¢ÍêÈ«Ãâ·Ñ£¨Ä¿Ç°ÎªÖ¹£©£» ¹ÙÍøµØÖ·£º http://www.it-adv.net/
»·¾³ debian lenny
ÏÂÔØ×îÐÂlinux°æ±¾¿Í»§¶Ë http://bbs.it-ad ......

È¥µô embedded LINUX ¿ª»ú¹â±êÒÔ¼°ÉèÖà Æô¶¯LOGO

Ò».È¥³ýembedded linux µÄ¿ª»ú¹â±ê:
¡¡ÔÚÄں˵ĵ±Ç°Ä¿Â¼½øÈëµ½drivers/video/console/fbcon.cÎļþ
¡¡½«static void fb_flashcursor(void *private) ÀïµÄÄÚÈÝ×¢Ê͵ô,ʹ֮±ä³É¿Õº¯Êý
¶þ.ÉèÖÃLINUXÄÚºËÆô¶¯LOGO
     (1)ÈÃÄÚºËÖ§³ÖÆô¶¯LOGO
        ÔÚÄÚºËĿ¼ÖÐ ......

linux atÃüÁîʹÓÃ

ת×Ô£ºhttp://blog.chinaunix.net/u/12367/showart_243938.html
 
at ºÍ batch ´Ó±ê×¼ÊäÈë»òÒ»¸öÖ¸¶¨µÄÎļþ¶ÁÈ¡ÃüÁÕâЩÃüÁîÔÚÒÔºóij¸öʱ¼äÓà/bin/sh Ö´ÐС£
 
At ÔÊÐíÏ൱¸´ÔÓµÄʱ¼äÖ¸¶¨£¬ËüÀ©Õ¹ÁË POSIX.2 ±ê×¼¡£
 
Ëü½ÓÊÜ HH:MM µÄʱ¼äʽÑù£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ