LinuxÉ豸Çý¶¯±à³ÌÖ®¶¨Ê±Æ÷
LinuxÉ豸Çý¶¯±à³ÌÖ®¶¨Ê±Æ÷
2006-10-26 13:34
×÷Õߣº
³ö´¦£ºLinux
ÔðÈα༣º·½ÖÛ
Ïà¹ØרÌ⣺
LinuxÉ豸Çý¶¯³ÌÐò¿ª·¢ÈëÃÅ
¡¡¡¡LinuxÄÚºËÖж¨ÒåÁËÒ»¸ötimer_list½á¹¹£¬ÎÒÃÇÔÚÇý¶¯³ÌÐòÖпÉÒÔÀûÓÃÖ®£º
struct timer_list {
¡¡struct list_head list;
¡¡unsigned long expires; //¶¨Ê±Æ÷µ½ÆÚʱ¼ä
¡¡unsigned long data; //×÷Ϊ²ÎÊý±»´«È붨ʱÆ÷´¦Àíº¯Êý
¡¡void (*function)(unsigned long);
};
¡¡¡¡ÏÂÃæÊǹØÓÚtimerµÄAPIº¯Êý£º
¡¡¡¡Ôö¼Ó¶¨Ê±Æ÷
void add_timer(struct timer_list * timer);
¡¡¡¡É¾³ý¶¨Ê±Æ÷
int del_timer(struct timer_list * timer);
¡¡¡¡
¡¡¡¡Ð޸Ķ¨Ê±Æ÷µÄexpire
int mod_timer(struct timer_list *timer, unsigned long expires);
¡¡¡¡Ê¹Óö¨Ê±Æ÷µÄÒ»°ãÁ÷³ÌΪ£º
¡¡¡¡£¨1£©timer¡¢±àдfunction£»
¡¡¡¡£¨2£©ÎªtimerµÄexpires¡¢data¡¢function¸³Öµ£»
¡¡¡¡£¨3£©µ÷ÓÃadd_timer½«timer¼ÓÈëÁÐ±í£»
¡¡¡¡£¨4£©ÔÚ¶¨Ê±Æ÷µ½ÆÚʱ£¬function±»Ö´ÐУ»
¡¡¡¡£¨5£©ÔÚ³ÌÐòÖÐÉæ¼°timer¿ØÖƵĵط½Êʵ±µØµ÷ÓÃdel_timer¡¢mod_timerɾ³ýtimer»òÐÞ¸ÄtimerµÄexpires¡£
¡¡¡¡ÎÒÃÇ¿ÉÒԲο¼drivers\char\keyboard.cÖмüÅ̵ÄÇý¶¯ÖйØÓÚtimerµÄ²¿·Ö£º
…
#include <linux/timer.h>
…
static struct timer_list key_autorepeat_timer =
{
¡¡function: key_callback
};
static void
kbd_processkeycode(unsigned char keycode, char up_flag, int autorepeat)
{
¡¡char raw_mode = (kbd->kbdmode == VC_RAW);
¡¡if (up_flag) {
¡¡¡¡rep = 0;
¡¡¡¡if(!test_and_clear_bit(keycode, key_down))
¡¡¡¡¡¡up_flag = kbd_unexpected_up(keycode);
¡¡} else {
¡¡¡¡rep = test_and_set_bit(keycode, key_down);
¡¡¡¡/* If the keyboard autorepeated for us, ignore it.
¡¡¡¡* We do our own autorepeat processing.
¡¡¡¡*/
¡¡¡¡if (rep && !autorepeat)
¡¡¡¡¡¡return;
¡¡}
¡¡if (kbd_repeatkeycode == keycode || !up_flag || raw_mode) {
¡¡¡¡kbd_repeatkeycode = -1;
¡¡¡¡del_timer(&key_autorepeat_timer);
¡¡}
¡¡…
¡¡/*
¡¡* Calculate the next time when we have to do some autorepeat
¡¡* processing. Note that we do not do autorepeat processing
¡¡* while in raw mode but we do do autorepeat processing in
¡¡* medium raw mode.
Ïà¹ØÎĵµ£º
ºìÆì×ÀÃæLinux4.1Ï°²×°ºÍÅäÖÃJSP·þÎñÆ÷È«¹¥ÂÔ
ÕâÁ½ÌìÊÔ×ÅÔÚºìÆìLinux×ÀÃæ°æ4.1Ï°²×°WEB·þÎñÆ÷£¬Òѳɹ¦°²×°£¬ÏÖ°ÑÎҵݲװ¹ý³Ì½éÉÜÈçÏ£¬ÒÔ¸øÓÐÏàËÆÐèÇóµÄÍøÓѲο¼¡£
ÎҵݲװҪÇóÊÇÖ§³ÖJSP¡¢html¡¢htmÍøÒ³£¬ËùÒÔÑ¡ÓÃJDK1.5.0+Tomcat5.5.4+mySQL4.1.7£¬ÕâЩ¶¼Êǵ±Ç°¸÷Èí¼þ×îеÄÎȶ¨°æ±¾£¨·Ç²âÊ԰棩¡£ÔÝûÓа²×°Apacheº ......
1¡¢ÖÆ×÷logoµÄ·½·¨£º
¡¡Ê×ÏÈÑ¡ÔñÒ»¸ö×Ô¼ºÏ²»¶µÄͼƬ£¬È»ºóͨ¹ýGIMPÈí¼þ½«¸ÃͼƬ±£´æΪ.png¸ñʽ£¬
¡¡±ä»»·½Ê½Õâ¸ö¾Í²»ËµÁË(very easy),±ÈÈç±£´æΪlinuxlogo.png.
È»ºó½«¸ÃͼƬ´«Èëµ½×°ÓÐLinux PC±ÈÈ磨ubuntu£©£¬°´ÕÕÒÔÏÂ˳ÐòÄã¾Í¿ÉÒÔÖÆ×÷Ò»¸öÄãϲ»¶logo
Ç°ÌáÄã±ØÐë°²×°ÒÔÏµĹ¤¾ß(pngtopnm,pnmquant,pnmtoplainpnm)
$ ......
×î½üÒ»¶Îʱ¼äÔÚlinuxÏÂÓÃC×öһЩѧϰºÍ¿ª·¢£¬µ«ÊÇÓÉÓÚ¾Ñé²»×㣬ÎÊÌâ¶à¶à¡£¶ø¶Î´íÎó¾ÍÊÇÈÃÎҷdz£Í·Í´µÄÒ»¸öÎÊÌâ¡£²»¹ý£¬Ä¿Ç°Ð´Ò»¸öһǧÐÐ×óÓҵĴúÂ룬ҲºÜÉÙ³öÏֶδíÎ󣬻òÕßÊǼ´Ê¹³öÏÖÁË£¬Ò²ºÜÈÝÒ×ÕÒ³öÀ´£¬²¢ÇÒ´¦Àíµô¡£
ÄÇʲôÊǶδíÎ󣿶δíÎóΪʲôÊǸöÂ鷳ʣ¿ÒÔ¼°Ôõô·¢ÏÖ³ÌÐòÖеĶΠ......