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

Linux½ø³Ì¹ÜÀíÖ®CFSµ÷¶ÈÆ÷·ÖÎö

------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»:ǰÑÔ
CFSµ÷¶ÈÔÚ2.6.23°æ±¾µÄkernelÖб»¼ÓÈë.ÒýÓÃIngo
MolnarµÄÒ»¾ä»°:80%µÄÉè¼Æ¿ÉÒÔÓÃÒ»¾ä»°À´¸ÅÀ¨:CFSÖÐÒ»¸ö”ÀíÏëµÄ¶àÈÎÎñ´¦ÀíÆ÷”.Ò²´Ó¸Ã°æ±¾¿ªÊ¼,linuxµÄµ÷¶È²¿·Ý²ÉÓÃÄ£¿é»¯Éè¼Æ.ÎÒ
ÃÇÔÚ½ÓÏÂÀ´µÄ·ÖÎöÖÐ,·ÖΪ¼¸¸öÖØÒªµÄ״̬½øÐзÖÎö.±¾ÎĵĴúÂë·ÖÎö»ùÓÚ2.6.28µÄkernel.·ÖÎö´úÂë»ù±¾Î»ÓÚlinux-2.6.28-
rc7/kernel/sched.cºÍlinux-2.6.28-rc7/kernel/sched_fair.cλÖÃ.
¶þ:CFS·ÖÎö
ÔÚÉÏÃæËµ¹ý,linuxµ÷¶È´úÂë²ÉÓÃÁËÄ£¿é»¯Éè¼Æ,ʲô½ÐÄ£¿é»¯?¼ò¶øÑÔÖ®,¾ÍÊÇÒÔºóÈç¹ûÒª¸ü¸Äµ÷¶ÈÆ÷,²»ÐèÒª¸ü¸Äµ÷¶ÈÖ´Ðв¿·ÝµÄ´úÂë,Ö»ÐèÒªÌî³ä¶ÔÓ¦¼¸¸öº¯Êý¼´¿É.ÏÂÃæ·ÖΪ¼¸¸ö״̬½øÐзÖÎö.
2.1: tickÖжÏ
ÔÚtickÖжϴ¦Àíº¯ÊýÖÐ,»áµ÷ÓÃscheduler_tick()º¯Êý.¸Ãº¯Êý´úÂëÈçÏÂ:
void scheduler_tick(void)
{
  /*È¡µÃµ±Ç°CPU*/
int cpu = smp_processor_id();
/*È¡µÃµ±Ç°CPU¶ÔÓ¦µÄrunqueue*/
    struct rq *rq = cpu_rq(cpu);
/*µ±Ç°ÔËÐеĽø³Ì*/
    struct task_struct *curr = rq->curr;
 
    sched_clock_tick();
 
    spin_lock(&rq->lock);
    /*¸üÐÂrqµÄµ±Ç°Ê±¼ä´Á.¼´Ê¹rq->clock±äΪµ±Ç°Ê±¼ä´Á*/
    update_rq_clock(rq);
    /*¸üÐÂrqµÄ¸ºÔØ*/
    update_cpu_load(rq);
    /*µ÷Óõ÷¶ÈÄ£¿éµÄtask_tickº¯Êý*/
    curr->sched_class->task_tick(rq, curr, 0);
    spin_unlock(&rq->lock);
 
#ifdef CONFIG_SMP
    rq->idle_at_tick = idle_cpu(cpu);
    trigger_load_balance(rq, cpu);
#endif
}
ÎÒÃÇ´ÓÉÏÃæµÄ´úÂëÖпÉÒÔ¿´µ½,¾­¹ýÒ»²¿·Ý¹²Í¬´¦ÀíÖ®ºó,Á÷³Ì»áתÈëµ÷¶ÈÄ£¿éµÄtask_tick()º¯Êý.
¶ÔÓ¦CFS,ËüµÄsched_class½á¹¹ÈçÏÂ:
static const struct sched_class fair_sched_class = {
    .next           = &idle_sched_class,
    .enqueue_task      


Ïà¹ØÎĵµ£º

linuxÈÎÎñ¹ÜÀíÆ÷topµÄʹÓÃ

µÚÒ»ÐУ¬ºÜÈÝÒ׿´³öÀ´Á˰ÉeZpLinuxÁªÃË
¼òµ¥ËµÒ»ÏÂload average: * * *eZpLinuxÁªÃË
µÚÒ»¸öÊýÊÇ£ºÆ½¾ù£µ·ÖÖÓÒÔÄÚÓжàÉÙ½ø³ÌÔÚ¾ºÕù£Ã£Ð£ÕeZpLinuxÁªÃË
µÚ¶þ¸öÊýÊÇ£ºÆ½¾ù£±£°·ÖÖÓÒÔÄÚÓжàÉÙ½ø³ÌÔÚ¾ºÕù£Ã£Ð£ÕeZpLinuxÁªÃË
µÚÈý¸öÊýÊÇ£ºÆ½¾ù£±£µ·ÖÖÓÒÔÄÚÓжàÉÙ½ø³ÌÔÚ¾ºÕù£Ã£Ð£ÕeZpLinuxÁªÃË
eZpLinuxÁªÃË
µÚ¶þÐУºeZpLinu ......

Linux VNCÔ¶³Ì×ÀÃæ

Linux VNCÔ¶³Ì×ÀÃæ
2009-07-27 09:46
VNC£¬È«³ÆÎªVirtual Network Computing£¬ÊÇÒ»¸ö×ÀÃæ¹²Ïíϵͳ¡£ËüµÄ¹¦ÄÜ£¬ÀàËÆÓÚwindowsÖеÄÔ¶³Ì ×ÀÃæ¹¦ÄÜ¡£VNCʹÓÃÁËRFB(Remote FrameBuffer£¬Ô¶³ÌÖ¡»º³å£©Ð­ÒéÀ´ÊµÏÖÔ¶³Ì¿ØÖÆÁíÍâһ̨¼ÆËã»ú¡£Ëü°Ñ¼üÅÌ¡¢Êó±ê¶¯×÷·¢Ë͵½Ô¶³Ì¼ÆËã»ú£¬²¢°ÑÔ¶³Ì¼ÆËã»úµÄÆÁÄ»·¢»Øµ½±¾µØ£¬ VNC Viewer¿ÉÒÔº ......

LinuxÈÕ³£Èí¼þ°²×°£¨FC6£©

LinuxÈÕ³£Ó¦ÓÃ
×¢£ºÎÒÊÇÒÔFC6Ϊ»·¾³
Ò»¡¢FC6¹ÒÔØNTFS
1.°²×°ntfs-3g
     ££yum install ntfs-3g
2.´´½¨/sbin/mount.ntfsÎļþ
       cat > /sbin/mount.ntfs
       > #!/bin/sh
       > export LANG=en_US.UTF-8
& ......

LinuxÉ豸Çý¶¯Ö®USB hubÇý¶¯


------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»:ǰÑÔ
¼ÌUHCIµÄÇý¶¯Ö®ºó,ÎÒÃǶÔUSB ControlµÄÔË×÷ÓÐÁËÒ»¶¨µÄÁ˽â.ÔÚ½ÓÏÂÀ´µÄ·ÖÎöÖÐ,ÎÒÃǶÔUSBÉ豸µÄÇý¶¯×öÒ»¸öÈ«ÃæµÄ·ÖÎö,ÎÒÃÇÏÈ´ÓHUBµÄÇý¶¯ËµÆð.¹ ......

ѧϰlinuxǶÈëʽÓйØÍøÕ¾ºÍblog(²»¶¨ÆÚ¸üУ©

http://www.linuxgraphics.cn/android/index.html
http://blog.chinaunix.net/u2/85805/
http://blog.csdn.net/stevenliyong/category/578556.aspx
http://blog.csdn.net/cuijpus/archive/2008/06/15/2549803.aspx
http://dbus.freedesktop.org/doc/dbus-tutorial.html#glib-client
http://www.ibm.com/developerworks ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ