1 °²×° ÖÐÎÄÊäÈë·¨
2 PDF ÎļþÂÒÂë
sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
3 °²×°Flash firefox
sudo apt-get install flashplugin-nonfree
sudo update-flashplugin
operaÓëscim³åÍ»µÄÎÊÌâ
sudo apt-get install scim-qtimm
sudo gedit /usr/bin/opera
Ìí¼Ó export QT_IM_MODULE=SCIM £¬±£´æºóÖØÆô opera ¾Í¿ÉÒÔÁË
......
×ªÔØ£linux 2.6 ½ø³Ì×ܽá
½ø³Ì¡¢ÇáÁ¿¼¶½ø³Ì£¨LWP£©¡¢Ïß³Ì
½ø³Ì£º³ÌÐòÖ´ÐÐÌ壬ÓÐÉúÃüÆÚ£¬ÓÃÀ´·ÖÅä×ÊÔ´µÄʵÌå
Ị̈߳º·ÖÅäCPUµÄʵÌå¡£
Óû§¿Õ¼äʵÏÖ£¬Ò»¸öÏß³Ì×èÈû£¬ËùÓж¼×èÈû¡£
ÄÚºËʵÏÖ£¬²»»áËùÓÃÏà¹ØÏ̶߳¼×èÈû¡£ÓÃLWPʵÏÖ£¬ÓÃÏß³Ì×é±íʾÕâЩÏß³ÌÂß¼ÉÏËùÊôµÄ½ø³Ì¡£
½ø³ÌÃèÊö·û
½ø³ÌÃèÊö·û£¨¼ò³Æpd, process descriptors£©£¬½á¹¹ÌåÊÇ£ºtask_struct
Êý¾Ý½Ï¶à£¬´æ·ÅÔÚkenerlµÄ¶¯Ì¬ÄÚ´æ¿Õ¼ä¡£
pdµÄÒýÓ÷ÅÔÚthread_infoÖУ¬
thread_infoÓëÄÚºËÕ»£¬·ÅÔÚÒ»¸ö8K¿Õ¼ä£¨ËüµÄµØÖ·8K¶ÔÆë£©¡£Äں˳ÌÐòʹÓõÄÕ»¿Õ¼äºÜС¡£
thread_infoÔڵײ¿£¬ÄÚºËÕ»ÔÚ¶¥²¿ÏòÏÂÔö³¤¡£
ºÃ´¦£º¶àCPUʱ·½±ã£¬Ã¿¸öCPU¸ù¾Ý×Ô¼ºµÄÕ»Ö¸Õë¾Í¿ÉÒÔÕÒµ½µ±Ç°µÄpd £¨ÒÔºóÓÃcurrent±íʾµ±Ç°CPUÔËÐеĽø³ÌÃèÊö·û£©¡£
esp(ÄÚºËÕ»Ö¸Õë)µÍ8λÖÃÁ㣬¾ÍÊÇthread_infoµØÖ·¡£
ÿ½ø³ÌÓÐ×Ô¼ºµÄthread_info, (·ÖÅäÊͷź¯Êý: alloc_thread_info, free_thread_info)
ÃèÊö·ûµÄÄÚÈÝ
Ïà¹ØµÄID £¨Ò»¸ö4ÔªËØÊý×飩
½ø³ÌID £¨P ......
linux 2.6Ï̴߳´½¨Ô´Âë·ÖÎö
ÉÏÕ½²µ½Ị̈߳¬ÏÖÔÚ¶ÔÏ̴߳´½¨µÄ´úÂëÁ÷³Ì·ÖÎöÏ¡£À´Ò»²½Ò»²½½Ò¿ªËýÉñÃØµÄÃæÉ´
linuxÄں˴´½¨Ï̺߳¯Êý kernel_thread()£¬×îÖÕ»áµ÷ÓÃdo_fork().
Ç°ÃæÌ¸µ½Ïß³ÌÒ²ÊÇÓÃtask_struct½á¹¹±íʾËüÓµÓеÄÐÅÏ¢£¬Ö»ÊÇÊǹ²Ïí½ø³ÌµÄ×ÊÔ´¡£
¸ù¾Ýclone_flags±êÖ¾£¬À´µ÷ÓÃclone()´´½¨"Ïß³Ì"£¬±íʾ¹²ÏíÄÚ´æ¡¢¹²ÏíÎļþϵͳ·ÃÎʼÆÊý¡¢¹²ÏíÎļþÃèÊö·û±í£¬ÒÔ¼°¹²ÏíÐźŴ¦Àí·½Ê½¡£
kernel_thread¶¨ÒåÔÚ/arch/kernel/process.c
int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
{
struct pt_regs regs;
memset(®s, 0, sizeof(regs)); //°Ñ¸Ã½á¹¹µÄ±äÁ¿È«²¿Çå0
regs.ebx = (unsigned long) fn; /* ebxÖ¸Ïòº¯ÊýµØÖ· */
regs.edx = (unsigned long) arg; &nb ......
linux 2.6Äں˽ø³Ì¹ÜÀí
linuxÿ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask_structÀàÐͽṹ¡£¸Ã½á¹¹°üº¬½ø³ÌÏà¹ØµÄËùÓÐÐÅÏ¢¡£linux½ø³Ìͨ¹ýlist_head×é֯˫ÏòÁ´±í£¬Ã¿Ò»¸ö½áµã¾ÍÊÇÒ»¸ö½ø³ÌÃèÊö·û¡£½ø³ÌÃèÊö·ûÀïÃæ°üº¬Á˽ø³ÌËùÓеÄÐÅÏ¢£º½ø³ÌËù´ò¿ªµÄÎļþ¡¢½ø³ÌµÄµØÖ·¿Õ¼ä¡¢¹ÒÆðÐźš¢½ø³Ì״̬ºÍÆäËû¸ü¶àµÄÐÅÏ¢¡£ÒÔÏÂÊǽø³ÌÃèÊö·ûµÄ²¿·Ö¶¨Ò壺
shruct task_struct
{
unsigned long state; //½ø³ÌµÄ״̬£¬ÔÚ2.6.23ÒѾÓÐ9¸ö״̬
unsigned long policy; //ÃèÊö½ø³Ìµ÷¶È²ßÂÔ.ÅжÏÊÇʵʱ½ø³Ì»¹ÊÇ·Çʵʱ½ø³Ì
struct task_struct *parent; //×éÖ¯½ø³ÌµÄ²ã´Î¹ØÏµ£¬Ö¸Ïò¸¸½ø³Ì
struct list_head tasks; //ͨ¹ýlist_head×éÖ¯³ÉË«ÏòÁ´±í
pi ......
linux ¹«Ë¾ÃæÊÔÌâ
1. ÔÚLinuxϵͳÖУ¬ÒÔÎļþ ·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ /etc/fstab ÖжÁȡҪ¼ÓÔØµÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½ÚµãÀ´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪÒýµ¼¿é ¡¢×¨Óÿ顢 i½Úµã±í¿é ºÍÊý¾Ý´æ´¢¿é¡£
5. Á´½Ó·ÖΪ£º Ó²Á´½Ó ºÍ ·ûºÅÁ´½Ó ¡£
6. ³¬¼¶¿é°üº¬ÁËi½Úµã±íºÍ ¿ÕÏпé±í µÈÖØÒªµÄÎļþϵͳÐÅÏ¢¡£
7. ijÎļþµÄȨÏÞΪ£ºdrw-r--r--£¬ÓÃÊýÖµÐÎʽ±íʾ¸ÃȨÏÞ£¬Ôò¸Ã°Ë½øÖÆÊýΪ£º 644 £¬¸ÃÎļþÊôÐÔÊÇĿ¼ ¡£
8. ǰ̨Æð¶¯µÄ½ø³ÌʹÓà Ctrl+c ÖÕÖ¹¡£
9. ¾²Ì¬Â·ÓÉÉ趨ºó£¬ÈôÍøÂçÍØÆË½á¹¹·¢Éú±ä»¯£¬ÐèÓÉϵͳ¹ÜÀíÔ±Ð޸ķÓɵÄÉèÖá£
10. ÍøÂç¹ÜÀíµÄÖØÒªÈÎÎñÊÇ£º ¿ØÖÆ ºÍ ¼à¿Ø ¡£
11. °²×°Linuxϵͳ¶ÔÓ²ÅÌ·ÖÇøÊ±£¬±ØÐëÓÐÁ½ÖÖ·ÖÇøÀàÐÍ£ºÎļþϵͳ·ÖÇø ºÍ ½»»»·ÖÇø ¡£
13. ±àдµÄShell³ÌÐòÔËÐÐǰ±ØÐ븳Óè¸Ã½Å±¾ÎļþÖ´ÐРȨÏÞ¡£
14. ϵͳ¹ÜÀíµÄÈÎÎñÖ®Ò»ÊÇÄܹ»ÔÚ ·Ö²¼Ê½»·¾³ÖÐʵÏÖ¶Ô³ÌÐòºÍÊý¾ÝµÄ°²È«±£»¤¡¢±¸·Ý¡¢»Ö¸´ºÍ¸üС£
15. ϵͳ½»»»·ÖÇøÊÇ×÷Ϊϵͳ ÐéÄâ´æ´¢Æ÷ µÄÒ»¿éÇøÓò¡£
16. Äں˷ÖΪ ½ø³Ì¹ÜÀíϵͳ ¡¢ ÄÚ´æ¹ÜÀíϵͳ ¡¢ I/O¹ÜÀíϵͳ ºÍÎļþ¹ÜÀíϵͳµÈËĸö×Óϵͳ¡£
17. ÄÚºËÅäÖÃÊÇϵͳ¹ÜÀ ......
Öжϴ¦Àí
¡¡¡¡Í¬´¦ÀíI/O¶Ë¿ÚÒ»Ñù£¬ÒªÊ¹ÓÃÒ»¸öÖжϣ¬±ØÐëÏÈÏòϵͳµÇ¼Ç¡£
int request_irq(unsigned int irq £¬void(*handle)(int£¬void *£¬struct pt_regs *)£¬
unsigned int long flags£¬ const char *device£¬void *dev_id);
irq: ÊÇÒªÉêÇëµÄÖжϡ£
handle£ºÖжϴ¦Àíº¯ÊýÖ¸Õë¡£
flags£ºSA_INTERRUPT ÇëÇóÒ»¸ö¿ìËÙÖжϣ¬0 Õý³£Öжϡ£
device£ºÉ豸Ãû¡£
¡¡¡¡Èç¹ûµÇ¼Ç³É¹¦£¬·µ»Ø0£¬ÕâʱÔÚ/proc/interruptsÎļþÖпÉÒÔ¿´ÄãÇëÇóµÄÖжϡ£
http://huxiongwei.spaces.eepw.com.cn/articles/article/item/74756
http://blog.sina.com.cn/s/blog_484572870100ckei.html ......