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.
Ïà¹ØÎĵµ£º
http://linux.chinaitlab.com/administer/774036.html
[ ÆðÔ´ ]Linux/UnixÏÂÊØ»¤½ø³Ì£¨Daemon£©´ó¼Ò¶¼ÖªµÀ£¬±ÈÈçÎÒÃdz£ÓõÄhttpd¡¢mysqldµÈµÈ£¬¾ÍÊdz£×¤ÄÚ´æÔËÐеijÌÐò£¬ÀàËÆÓÚWindowsϵķþÎñ¡£Ò»°ãÊØ»¤½ø³Ì¶¼ÊÇʹÓÃC/C++À´Ð´£¬¾ÍÊÇͨ¹ýforkÉú³É×Ó½ø³Ì£¬µ±Ç°Ì¨shellϵĸ¸½ø³Ì±»É±µô£¬×Ó½ø³Ì¾Íתµ½ºǫ́ÔËÐУ¬ÎªÁ˲» ......
ÔÚ¸Õ¸Õ½áÊøµÄ°ÍÈûÂÞÄÇ
2010
ÊÀ½çÒÆ¶¯´ó»áÉÏ£¬
Linux
ÖÇÄܲÙ×÷ϵͳ¼Ò×åÁ½¹ÉÊÆÁ¦ºÏ²¢£¬¼´Ó¢ÌضûµÄ
Moblin
Óëŵ»ùÑǵÄ
Maemo
£¬ºÏ²¢ºóÆôÓÃÐÂÃû
MeeGo
£¬²¢½»ÓÉ
Linux
»ù½ð»á¹ÜÀí¡£
MeeGo
ÎÊÊÀ
ÐÂÎÅÒ»³ö¾ÍÈçÃÍ»¢ÏÂɽ£¬
Òý·¢Òµ½ç¹ã·º¹Ø×¢ºÍÈÈÒé
¡£
Ë˵ӢÐÛ²»Îʳö´¦£¿ÏȲ»ÂÛδÀ´
ÊÇ·ñÈý·ÖÌì϶øµÃÆ ......
LinuxÍø¿¨µÄ¶Áд±à³Ìzz
LinuxϵͳµÄËùÓÐÉ豸¶¼ÊÇÒÔÎļþµÄÐÎʽ´æÔڵģ¬ËùÒÔ¶ÔϵͳµÄ²Ù×÷¿ÉÒÔת»»Îª¶ÔÎļþµÄ²Ù×÷¡£±¾³ÌÐòʵÏÖ¶ÔÍø¿¨Õâ¸öÓ²¼þÉ豸½øÐжÁÈ¡²Ù×÷£¬¼´Ò²ÊǶÔÉ豸µÄÎļþ½øÐжÁд²Ù×÷¡£´úÂë¿´ËÆÂé·³£¬µ«È´²»¸´ÔÓ¡£
Ö÷ÒªµÄϵͳº¯ÊýÓУºsocket(),ioctl(),memcpy(),strcpy()¡£
Á½¸ö¸´ÔӵĽṹÌ壺sockaddr_in,ifreq¡ ......
1¡¢
½«Îļþcheckoutµ½±¾µØÄ¿Â¼
svn
checkout
path£¨pathÊÇ·þÎñÆ÷ÉϵÄĿ¼£©
ÀýÈ磺svn
checkout svn
://192.168
.1.1
/pro/domain
¼òд£ºsvn
co
2¡¢
Íù°æ±¾¿âÖÐÌí¼ÓеÄÎļþ
svn
add
file
ÀýÈ磺svn
add test.php(Ìí¼Ótest.php)
svn
add *.php(Ìí¼Óµ±Ç°Ä¿Â¼ÏÂËùÓеÄphpÎļþ)
3¡¢
½«¸Ä¶¯ ......
LinuxÐéÄâ»úϰ²×°VMware Tools
VMware ToolsËùÔÚλÖãº
VMware °²×°Â·¾¶
\VMware\VMwareWorkstation\linux.iso
1.ÐÞ¸ÄrootÓû§ÃÜÂë
10:32:36 zhangzhen@zhangzhen-desktop:~$ sudo passwd root
[sudo] password for zhangzhen:
ÊäÈëÐ嵀 UNIX ¿ÚÁ
ÖØÐÂÊäÈëÐ嵀 UNIX ¿ÚÁ
passwd£ºÒѳɹ¦¸üÐÂÃÜÂë
10:33 ......